Results 1 - 10
of
22
An Experimental Comparison of Reading Techniques for Defect Detection in UML Design Documents
, 2000
"... The basic motivation for software inspections is to detect and remove defects before they propagate to subsequent development phases where their detection and removal becomes more expensive. To attain this potential, the examination of the artefact under inspection must be as thorough and detailed ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
The basic motivation for software inspections is to detect and remove defects before they propagate to subsequent development phases where their detection and removal becomes more expensive. To attain this potential, the examination of the artefact under inspection must be as thorough and detailed as possible. This implies the need for systematic reading techniques that tell inspection participants what to look for and, more importantly, how to scrutinise a software document. Recent research efforts investigated the benefits of scenario-based reading techniques for defect detection in functional requirements and functional code documents. A major finding has been that these techniques help inspection teams find more defects than existing state-of-the-practice approaches, such as, ad-hoc or checklist-based reading (CBR). In this paper we describe and experimentally compare one scenariobased reading technique, namely perspective-based reading (PBR), for defect detection in objec...
Architectural-level risk analysis using UML
- IEEE Transactions on Software Engineering
, 2003
"... Abstract—Risk assessment is an essential part in managing software development. Performing risk assessment during the early development phases enhances resource allocation decisions. In order to improve the software development process and the quality of software products, we need to be able to buil ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
Abstract—Risk assessment is an essential part in managing software development. Performing risk assessment during the early development phases enhances resource allocation decisions. In order to improve the software development process and the quality of software products, we need to be able to build risk analysis models based on data that can be collected early in the development process. These models will help identify the high-risk components and connectors of the product architecture, so that remedial actions may be taken in order to control and optimize the development process and improve the quality of the product. In this paper, we present a risk assessment methodology which can be used in the early phases of the software life cycle. We use the Unified Modeling Language (UML) and commercial modeling environment Rational Rose Real Time (RoseRT) to obtain UML model statistics. First, for each component and connector in software architecture, a dynamic heuristic risk factor is obtained and severity is assessed based on hazard analysis. Then, a Markov model is constructed to obtain scenarios risk factors. The risk factors of use cases and the overall system risk factor are estimated using the scenarios risk factors. Within our methodology, we also identify critical components and connectors that would require careful analysis, design, implementation, and more testing effort. The risk assessment methodology is applied on a pacemaker case study. Index Terms—Risk assessment, UML specification, software architecture, dynamic complexity, dynamic coupling, severity of failure, Markov model. 1
Empirical studies of quality models in object-oriented systems
- Advances in Computers
, 2002
"... Measuring structural design properties of a software system, such as coupling, cohesion, or complexity, is a promising approach towards early quality assessments. To use such measurement effectively, quality models are needed that quantitatively describe how these internal structural properties rela ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
Measuring structural design properties of a software system, such as coupling, cohesion, or complexity, is a promising approach towards early quality assessments. To use such measurement effectively, quality models are needed that quantitatively describe how these internal structural properties relate to relevant external system qualities such as reliability or maintainability. This chapter has for objective to summarize, in a structured and detailed fashion, the empirical results that have been reported so far with modeling external system quality based on structural design properties in object-oriented systems. We perform a critical review of existing work in order to identify lessons learned regarding the way these studies are performed and reported. Constructive guidelines are also provided to facilitate the work of future studies, thus facilitating the development of an
A Proposal of a New Class Cohesion Criterion: An Empirical Study
- 7th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE'2003
, 2003
"... Département de mathématiques et d’informatique ..."
The Impact of Pair Programming and Test-Driven Development on Package Dependencies in Object-Oriented Design - An Experiment
- Product Focused Software Process Improvement. Volume 4034 of Lecture Notes in Computer Science
, 2006
"... Abstract. Background: Test-driven development (TDD) and pair programming are software development practices popularized by eXtreme Programming methodology. The aim of the practices is to improve software quality. Objective: Provide an empirical evidence of the impact of both practices on package dep ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Abstract. Background: Test-driven development (TDD) and pair programming are software development practices popularized by eXtreme Programming methodology. The aim of the practices is to improve software quality. Objective: Provide an empirical evidence of the impact of both practices on package dependencies playing a role of package level design quality indicators. Method: An experiment with a hundred and eighty eight MSc students from Wroclaw University of Technology, who developed finance-accounting system in different ways (CS — classic solo, TS — TDD solo, CP — classic pairs, TP — TDD pairs). Results: It appeared that package level design quality indicators (namely package dependencies in an object-oriented design) were not significantly affected by development method. Limitations: Generalization of the results is limited due to the fact that MSc students participated in the study. Conclusions: Previous research revealed that using test-driven development instead of classic (test-last) testing approach had statistically significant positive impact on some class level software quality indicators (namely CBO and RFC metrics) in case of solo programmers as well as pairs. Combined results suggest that the positive impact of test-driven development on software quality may be limited to class level. 1
An Extensive Comparison of Bug Prediction Approaches
"... Abstract—Reliably predicting software defects is one of software engineering’s holy grails. Researchers have devised and implemented a plethora of bug prediction approaches varying in terms of accuracy, complexity and the input data they require. However, the absence of an established benchmark make ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract—Reliably predicting software defects is one of software engineering’s holy grails. Researchers have devised and implemented a plethora of bug prediction approaches varying in terms of accuracy, complexity and the input data they require. However, the absence of an established benchmark makes it hard, if not impossible, to compare approaches. We present a benchmark for defect prediction, in the form of a publicly available data set consisting of several software systems, and provide an extensive comparison of the explanative and predictive power of well-known bug prediction approaches, together with novel approaches we devised. Based on the results, we discuss the performance and stability of the approaches with respect to our benchmark and deduce a number of insights on bug prediction models. I.
Are Popular Classes More Defect Prone?
"... Abstract. Traces of the evolution of software systems are left in a number of different repositories: such as configuration management systems, bug tracking systems, mailing lists. Developers use e-mails to discuss issues ranging from lowlevel concerns (bug fixes, refactorings) to high-level resolut ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. Traces of the evolution of software systems are left in a number of different repositories: such as configuration management systems, bug tracking systems, mailing lists. Developers use e-mails to discuss issues ranging from lowlevel concerns (bug fixes, refactorings) to high-level resolutions (future planning, design decisions). Thus, e-mail archives constitute a valuable asset for understanding the evolutionary dynamics of a system. We introduce metrics that measure the “popularity ” of source code artifacts, i.e., the amount of discussion they generate in e-mail archives, and investigate whether the information contained in e-mail archives is correlated to the defects found in the system. Our hypothesis is that developers discuss problematic entities more than unproblematic ones. We also study whether the precision of existing techniques for defect prediction can be improved using our popularity metrics. 1
An Empirical Evaluation of Object Oriented Metrics in Industrial Setting”, The 5 th CaberNet Plenary Workshop
- JOURNAL OF OBJECT TECHNOLOGY VOL
"... Advances in distributed object technologies (e.g., the Common Object Request Broker Architecture [15] and the Enterprise Java Bean Specification [19]) dramatically impact the development process of distributed software applications. In ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Advances in distributed object technologies (e.g., the Common Object Request Broker Architecture [15] and the Enterprise Java Bean Specification [19]) dramatically impact the development process of distributed software applications. In
Fault Prediction in Object-Oriented Software Using Neural Network Techniques
- Center (AVIC), Department of Mathematics, Faculty of Science, Chulalongkorn University
, 2004
"... Abstract — To remain competitive in the dynamic world of software development, organizations must optimize the usage of their limited resources to deliver quality products on time and within budget. This requires prevention of fault introduction and quick discovery and repair of residual faults. In ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract — To remain competitive in the dynamic world of software development, organizations must optimize the usage of their limited resources to deliver quality products on time and within budget. This requires prevention of fault introduction and quick discovery and repair of residual faults. In this paper a new approach for predicting and classification of faults in object-oriented software systems is introduced. In particular, faults due to the use of inheritance and polymorphism are considered as they account for significant portion of faults in object-oriented systems. The proposed fault prediction model is based on supervised learning using Multilayer Perceptron Neural Network. The results of fault prediction are analyzed in terms of classification correctness and some other standard criteria. Based on the results of classification, faulty classes are further analyzed and classified according to the particular type of fault. The classification model is based on clustering using Radial-Basis Function Neural Network. It is concluded, that the proposed model provides high accuracy in discrimination between faulty and fault-free classes.
Risk assessment using functional modeling based on object behavior and interaction
- The 4th international Joint Conference on Computer Science and Software Engineering, JCSSE2007, Khon Kaen
"... Abstract- Risk management approach has been proposed for software development in order to help identify and handle risk. It also finally helps improve development process efficiency and product quality. Performing risk assessment during early development phases could help developers discover unexpec ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract- Risk management approach has been proposed for software development in order to help identify and handle risk. It also finally helps improve development process efficiency and product quality. Performing risk assessment during early development phases could help developers discover unexpected outcomes needed to handle carefully. In this paper, we expand the work of “Architectural-level Risk Analysis Using UML ” by K. Goseva-Popstojanova and et al. We present an approach of risk assessment during analysis and design phase which identify risk from object behavior and interaction. The number of test case generated, according to full predicate coverage criteria, from a condition transition on a state machine, represents statedependent object behavior, are used to compute risk caused from a single object. The obtained result can be used to manage and control risk at a fine-grain level. 1.

