Identifying Error-Prone Software An Empirical Study
IEEE Transactions on Software Engineering
An Empirical Study of Software Metrics
IEEE Transactions on Software Engineering
Understanding and Controlling Software Costs
IEEE Transactions on Software Engineering
Design complexity measurement and testing
Communications of the ACM
Cyclomatic Complexity Density and Software Maintenance Productivity
IEEE Transactions on Software Engineering
The Detection of Fault-Prone Programs
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering - Special issue on software reliability
An introduction to support Vector Machines: and other kernel-based learning methods
An introduction to support Vector Machines: and other kernel-based learning methods
Proceedings of the 24th International Conference on Software Engineering
A Tutorial on Support Vector Machines for Pattern Recognition
Data Mining and Knowledge Discovery
Classification of Fault-Prone Software Modules: Prior Probabilities,Costs, and Model Evaluation
Empirical Software Engineering
An Enhanced Neural Network Technique for Software Risk Analysis
IEEE Transactions on Software Engineering
Implications of Evolution Metrics on Software Maintenance
ICSM '98 Proceedings of the International Conference on Software Maintenance
Reliability and Validity in Comparative Studies of Software Prediction Models
IEEE Transactions on Software Engineering
A Novel Method for Early Software Quality Prediction Based on Support Vector Machine
ISSRE '05 Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering
IEEE Transactions on Software Engineering
Predicting software development errors using software complexity metrics
IEEE Journal on Selected Areas in Communications
IEEE Journal on Selected Areas in Communications
Information Sciences: an International Journal
Journal of Systems and Software
Cost-sensitive boosting neural networks for software defect prediction
Expert Systems with Applications: An International Journal
A symbolic fault-prediction model based on multiobjective particle swarm optimization
Journal of Systems and Software
Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm
Expert Systems with Applications: An International Journal
A genetic algorithm to configure support vector machines for predicting fault-prone components
PROFES'11 Proceedings of the 12th international conference on Product-focused software process improvement
WSEAS TRANSACTIONS on SYSTEMS
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
The importance of software testing to quality assurance cannot be overemphasized. The estimation of a module's fault-proneness is important for minimizing cost and improving the effectiveness of the software testing process. Unfortunately, no general technique for estimating software fault-proneness is available. The observed correlation between some software metrics and fault-proneness has resulted in a variety of predictive models based on multiple metrics. Much work has concentrated on how to select the software metrics that are most likely to indicate fault-proneness. In this paper, we propose the use of machine learning for this purpose. Specifically, given historical data on software metric values and number of reported errors, an Artificial Neural Network (ANN) is trained. Then, in order to determine the importance of each software metric in predicting fault-proneness, a sensitivity analysis is performed on the trained ANN. The software metrics that are deemed to be the most critical are then used as the basis of an ANN-based predictive model of a continuous measure of fault-proneness. We also view fault-proneness prediction as a binary classification task (i.e., a module can either contain errors or be error-free) and use Support Vector Machines (SVM) as a state-of-the-art classification method. We perform a comparative experimental study of the effectiveness of ANNs and SVMs on a data set obtained from NASA's Metrics Data Program data repository.