Defect prevention in software processes: An action-based approach

  • Authors:
  • Ching-Pao Chang;Chih-Ping Chu

  • Affiliations:
  • Department of Computer Science and Information Engineering, National Cheng-Kung University, Taiwan, No. 1, Ta-Hsueh Road, Tainan 701, Taiwan;Department of Computer Science and Information Engineering, National Cheng-Kung University, Taiwan, No. 1, Ta-Hsueh Road, Tainan 701, Taiwan

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In addition to degrading the quality of software products, software defects also require additional efforts in rewriting software and jeopardize the success of software projects. Software defects should be prevented to reduce the variance of projects and increase the stability of the software process. Factors causing defects vary according to the different attributes of a project, including the experience of the developers, the product complexity, the development tools and the schedule. The most significant challenge for a project manager is to identify actions that may incur defects before the action is performed. Actions performed in different projects may yield different results, which are hard to predict in advance. To alleviate this problem, this study proposes an Action-Based Defect Prevention (ABDP) approach, which applies the classification and Feature Subset Selection (FSS) technologies to project data during execution. Accurately predicting actions that cause many defects by mining records of performed actions is a challenging task due to the rarity of such actions. To address this problem, the under-sampling is applied to the data set to increase the precision of predictions for subsequence actions. To demonstrate the efficiency of this approach, it is applied to a business project, revealing that under-sampling with FSS successfully predicts the problematic actions during project execution. The main advantage utilizing ABDP is that the actions likely to produce defects can be predicted prior to their execution. The detected actions not only provide the information to avoid possible defects, but also facilitate the software process improvement.