Abstract
Bug Prediction approaches have traditionally generated a lot of interest primarily due to potential savings in terms of cost, manpower and reputation. Consequently, a number of approaches have been suggested based on code metrics, process metrics, previous defects, testing metrics and multivariate models. With respect to granularity of prediction, these approaches predict at the class level, file level, package level or binary level. This paper presents a novel approach to bug prediction by utilizing test cases execution path in the code in release i and ranks the software functionalities or features in decreasing order for future defects in release (i+1) due to the code churn. The approach derives importance from two facts - 1) The prediction is done at the feature level, instead of class, file, package or binary level, since it is an accepted fact in software systems that certain features are more critical than others and faulty working of these features can jeopardize the entire software system 2) The approach suggested is non-intrusive, in the sense that it can be easily integrated into existing software development life cycle without significant efforts. Due to unavailability of feature-based test cases and relatively less number of features in open source projects, which is a necessary requirement of the study, case studies were performed on twelve releases of four industrial projects. Additionally, the predictive accuracy was evaluated on eight releases of these four industrial projects using normalized discounted cumulative gain. These studies indicate the validity of this approach and demonstrates that the presented approach has an average normalized discounted cumulative gain of 0.684 for predicting the top 10 faulty features.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.