Article Preview
Top1. Introduction
Nobody could possibly deny the omnipresence of software in the 21st century with pivotal role in areas of engineering, science and human activities. Complex systems are heavily dependent on their reliability. A single exploited software related problem such as bug, defect or failure can cause severe damage to an organization and can also bring down the customer satisfaction. Therefore, defects in code continue to be a major software quality problem. Due to which, quality assurance activity such as software testing become crucial fundamental task for software development. However, testing is a very expensive task and consumes considerable amount of software development effort.
To mitigate the testing costs, a good strategy is essential to distribute the testing efforts only to the defect prone modules. In addition, a guideline to design low defect prone modules is also required to ease the future development activities. These issues can be undertaken by building the defect prediction model using historical data sets which can be used in defect prediction for future projects.
Being able to detect the defective module can be a fruitful step towards the steering software testing, which can efficiently improve the whole process of development. It has long been recognized that software defect prediction is well known and proven technique to produce high quality software. Timely prediction of defective modules directly helps in quality assurance activity in cost effective manner. Early prediction of defects in software development life cycle can be used to improve the quality of process as well as products. Defect prediction approach mainly focuses to identify the defective modules to improve the quality of software. Availability of public data repository (Promise Data Repository, 2010) and public domain models (Weka, 2010) can ease the task of model generation and test. In literature variety of defect prediction techniques have been proposed for defect prediction which includes machine learning methods, parametric models and mixed approaches (Guo et al., 2004; Pai & Dugan, 2007; Elish & Elish, 2008; Khoshgoftaar et al., 1996; Azar et al., 2002; Selby & Porter, 1998; Emam et al., 2001; Zhan & Reformat, 2007). In the article by Thwin (2005), quality of the software products has been evaluated using Neural Networks (NN) and object-oriented metrics. Regression techniques have been used by Bibi et al. (2008) and Graves et al. (2000) on software change history in order to evaluate the defect proneness of software modules. A value based software testing framework is proposed by Du Zang (2011).