Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis
IEEE Transactions on Software Engineering - Special Issue on Artificial Intelligence in Software Applications
Encyclopedia of software engineering
Encyclopedia of software engineering
Predicting Fault-Prone Software Modules in Telephone Switches
IEEE Transactions on Software Engineering
A predictive metric based on discriminant statistical analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
Characterizing and modeling the cost of rework in a library of reusable software components
ICSE '97 Proceedings of the 19th international conference on Software engineering
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
A Comparative Study of Ordering and Classification of Fault-ProneSoftware Modules
Empirical Software Engineering
Building Software Quality Classification Trees: Approach, Experimentation, Evaluation
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Hi-index | 0.00 |
The prediction of fault-prone modules in a large software system is an important part in software evolution. Since prediction models in past studies have been constructed and used for individual systems, it has not been practically investigated whether a prediction model based on one system can also predict fault-prone modules accurately in other systems. Our expectation is that if we could build a model applicable to different systems, it would be extremely useful for software companies because they do not need to invest manpower and time for gathering data to construct a new model for every system.In this study, we evaluated the applicability of prediction models between two software systems through two experiments. In the first experiment, a prediction model using 19 module metrics as predictor variables was constructed in each system and was applied to the opposite system mutually. The result showed predictors were too fit to the base data and could not accurately predict fault-prone modules in the different system. On the basis of this result, we focused on a set of predictors showing great effectiveness in every model; and, in consequent, we identified two metrics (Lines of Code and Maximum Nesting Level) as commonly effective predictors in all the models. In the second experiment, by constructing prediction models using only these two metrics, prediction performance were dramatically improved. This result suggests that the commonly effective model applicable to more than two systems can be constructed by focusing on commonly effective predictors.