This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Adequate and Precise Evaluation of Quality Models in Software Engineering Studies Yan Ma and Bojan Cukic Lane Department of Computer Science and Electrical Engineering West Virginia University Morgantown, WV 26506-6109 [email protected] Abstract Many statistical techniques have been proposed and introduced to predict fault-proneness of program modules in software engineering. Choosing the “best” candidate among many available models involves performance assessment and detailed comparison. But these comparisons are not simple due to varying performance measures and the related verification and validation cost implications. Therefore, a methodology for precise definition and evaluation of the predictive models is still needed. We believe the procedure we outline here, if followed, has a potential to enhance the statistical validity of future experiments. 1. Introduction Early detection of fault-prone software components enables verification experts to concentrate their time and resources on the problem areas of the software system under development. The ability of such software quality models to accurately identify critical components allows for the application of focused verification activities ranging from manual inspection to testing, static and dynamic analysis, and automated formal analysis methods. Software quality models, thus, help ensure the reliability of the delivered products. It has become an imperative to develop and apply good software quality models early in the software development life cycle, especially for large- scale development efforts. Most defect prediction techniques rely on historical data. The reason is that experiments suggest that a module currently under development is fault-prone if it has the same or similar properties, measured by software metrics, as a defective module that has been developed or released earlier in the same environment . So, historical information usually helps us to predict fault-proneness. Many modeling techniques have been proposed and applied for software quality prediction. Some of these techniques, for example, logistic regression , aim to use domain-specific knowledge to establish the input (software metrics) output (software fault-proneness) relationship. Some techniques, such as classification trees [8, 12, and 18], neural networks , and genetic algorithms , try to examine the available large-size datasets to recognize patterns and form generalizations. Some utilize one single model to predict fault- proneness; others are based on ensemble learning by building a collection of models from a single training dataset . Most of the research so far involved a wide range of algorithms and their applications to different data sets....
View Full Document
This note was uploaded on 04/12/2010 for the course CIS 635 taught by Professor Mcintyre during the Spring '10 term at Cleary University.
- Spring '10
- Software engineering