6715931
Evaluating guidelines for empirical software engineering studies
Background. Several researchers have criticized the standards of performing and reporting empirical studies in software engineering. In order to address this problem, Andreas Jedlitschka and Dietmar Pfahl have produced reporting guidelines for controlled experiments in software engineering. They pointed out that their guidelines needed evaluation. We agree that guidelines need to be evaluated before they can be widely adopted. If guidelines are flawed, they will cause more problems that they solve.Aim. The aim of this paper is to present the method we used to evaluate the guidelines and report the results of our evaluation exercise. We suggest our evaluation process may be of more general use if reporting guidelines for other types of empirical study are developed.Method. We used perspective-based inspections to perform a theoretical evaluation of the guidelines. A separate inspection was performed for each perspective. The perspectives used were: Researcher, Practitioner/Consultant, Meta-analyst, Replicator, Reviewer and Author. Apart from the Author perspective, the inspections were based on a set of questions derived by brainstorming. The inspection using the Author perspective reviewed each section of the guidelines sequentially. Results. The question-based perspective inspections detected 42 issues where the guidelines would benefit from amendment or clarification and 8 defects.Conclusions. Reporting guidelines need to specify what information goes into what section and avoid excessive duplication. Software engineering researchers need to be cautious about adopting reporting guidelines that differ from those used by other disciplines. The current guidelines need to be revised and the revised guidelines need to be subjected to further theoretical and empirical validation. Perspective-based inspection is a useful validation method but the practitioner/consultant perspective presents difficulties.
14879615
Qualitative simulation model for software engineering process
Software process simulation models hold out the promise of improving project planning and control. However, quantitative models require a very detailed understanding of the software process. In particular, process knowledge needs to be represented quantitatively which requires extensive, reliable software project data. When such data is lacking, quantitative models must impose severe constraints, restricting the value of the models. In contrast qualitative models are able to cope with imprecise knowledge by reasoning at a more abstract level. This paper illustrates the value and flexibility of qualitative models by developing a model of the software staffing process and comparing it with other quantitative staffing models. We show that the qualitative model provides more insights into the staffing process than the quantitative models because it requires fewer constraints and can thus simulate more behaviors. In particular, the qualitative model produces three possible outcomes: adding staff can increases project duration (i.e. Brooks' Law), adding staff may not affect duration, or adding staff may decrease duration. The qualitative model allows us to determine the conditions under which the different outcomes can occur
7692801
Semi-quantitative Simulation Modeling of Software Engineering Process
Software process simulation models hold out the promise of improving project planning and control. However, purely quantitative models require a very detailed understanding of the software process, i.e. process knowledge represented quantitatively. When such data is lacking, quantitative models impose severe constraints, restricting the model's value. In contrast, qualitative models display all possible behaviors but only in qualitative terms. This paper illustrates the value and flexibility of semi-quantitative modeling by developing a model of the software staffing process and comparing it with other quantitative staffing models. We show that the semi-quantitative model provides more insights into the staffing process and more confidence in the outcomes than the quantitative models by achieving a tradeoff between quantitative and qualitative simulation. In particular, the semi-quantitative simulation produces a set of possible outcomes with the ranges of real numeric values. The semi-quantitative model allows us to determine the solution boundaries for specific scenarios under the conditions of limited knowledge.
11721850
Estimating LOC for information systems from their conceptual data models
Effort and cost estimation is crucial in software management. Estimation of software size plays a key role in the estimation. Line of Code (LOC) is still a commonly used software size measure. Despite the fact that software sizing is well recognized as an important problem for more than two decades, there is still much problem in existing methods. Conceptual data model is widely used in the requirements analysis for information systems. It is also not difficult to construct conceptual data models in the early stage of developing information systems. Much characteristic of an information system is actually reflected from its conceptual data model. We explore into the use of conceptual data model for estimating LOC. This paper proposes a novel method for estimating LOC for an information system from its conceptual data model through the use of multiple linear regression model. We have validated the method through collecting samples from both the industry and open-source systems.
5415099
Face Annotation for Family Photo Album Management
In this paper, we propose a framework to semi-automatically annotate faces in family photo albums. The core of the framework is the features used to define face similarity and this results in the learning algorithm used to refine automatic face annotation. We have adopted similarity based search and relevance feedback ideas developed for content-based image retrieval and a set of simple yet effective color and texture based features, in addition to the traditional face recognition features, in performing candidate annotation search. The experimental evaluation of the proposed approach has been conducted with a family album of 1707 photos and the results show that the proposed approach is an effective and efficient one for semi-automatic family photo album annotation.
760636
Accelerated occlusion culling using shadow frusta
Many applications in computer graphics and virtual environments need to render datasets with large numbers of primitives and high depth complexity at interactive rates. However, standard techniques like view frustum culling and a hardware z-bu er are unable to display datasets composed of hundred of thousands of polygons at interactive frame rates on current high-end graphics systems. We add a \conservative"visibility culling stage to the rendering pipeline, attempting to identify and avoid processing of occluded polygons. Given a moving viewpoint, the algorithm dynamically chooses a set of occluders. Each occluder is used to compute a shadow frustum, and all primitives contained within this frustumare culled. The algorithmhierarchicallytraverses the model, culling out parts not visible from the current viewpoint using e cient, robust, and in some cases specialized interference detection algorithms. The algorithm's performance varies with the location of the viewpoint and the depth complexity of the model. In the worst case it is linear in the input size with a small constant. In this paper, we demonstrate its performance on a city model composed of 500;000 polygons and possessing varying depth complexity. We are able to cull an average of 55% of the polygons that would not be culled by view-frustum culling and obtain a commensurate improvement in frame rate. The overall approach is e ective and scalable, is applicable to all polygonal models, and can be easily implemented on top of view-frustum culling.
1131614
Meta-Evaluation of Image Segmentation Using Machine Learning
Image segmentation is a fundamental step in many computer vision applications. Generally, the choice of a segmentation algorithm, or parameterization of a given algorithm, is selected at the application level and fixed for all images within that application. Our goal is to create a stand-alone method to evaluate segmentation quality. Stand-alone methods have the advantage that they do not require a manually-segmented reference image for comparison, and can therefore be used for real-time evaluation. Current stand-alone evaluation methods often work well for some types of images, but poorly for others. We propose a meta-evaluation method in which any set of base evaluation methods are combined by a machine learning algorithm that coalesces their evaluations based on a learned weighting function, which depends upon the image to be segmented. The training data used by the machine learning algorithm can be labeled by a human, based on similarity to a human-generated reference segmentation, or based upon system-level performance. Experimental results demonstrate that our method performs better than the existing stand-alone segmentation evaluation methods.
1774011
TCP connection game: a study on the selfish behavior of TCP users
We present a game-theoretic study of the selfish behavior of TCP users when they are allowed to use multiple concurrent TCP connections so as to maximize their goodputs or other utility functions. We refer to this as the TCP connection game. A central question we ask is whether there is a Nash equilibrium in such a game, and if it exists, whether the network operates efficiently at such a Nash equilibrium. Combined with the well known PFTK TCP model (1998), we study this question for three utility functions that differ in how they capture user behavior. The bad news is that the loss of efficiency or price of anarchy can be arbitrarily large if users have no resource limitations and are not socially responsible. The good news is that, if either of these two factors is considered, efficiency loss is bounded. This may partly explain why there will be no congestion collapse if many users use multiple connections.