Int J Performability Eng ›› 2019, Vol. 15 ›› Issue (9): 2484-2493.doi: 10.23940/ijpe.19.09.p22.24842493

Previous Articles     Next Articles

Using Evolutionary Process for Cross-Version Software Defect Prediction

Yong Lia,b,c,*, Zhandong Liua, and Haijun Zhanga   

  1. aCollege of Computer Science and Technology, Xinjiang Normal University, Urumqi, 830054, China;
    bData Security Key Laboratory, Xinjiang Normal University, Urumqi, 830054, China;
    cKey Laboratory of Safety-Critical Software, Ministry of Industry and Information Technology, Nanjing, 211106, China
  • Submitted on ; Revised on ; Accepted on
  • Contact: *. E-mail address: liyong@live.com

Abstract: Cross-version defect prediction can effectively reduce the construction cost of a model, which is of great significance for understanding the causes of defects in subsequent software versions and improving the quality of software products. The objective of this work is to validate the feasibility of the cross-version defect predictor using the evolutionary process in different scenarios and to investigate practical guidelines for the choice of evolutionary process and historical data of a given project. Firstly, we verified the effectiveness of the evolutionary process attributes in the cross-version prediction model. Then, we analyzed the cross-version model prediction performance based on multi-version historical data. Finally, multiple benchmark models were selected for experimental comparison to further verify the effectiveness of the proposed method. The experimental conclusions can not only effectively reduce the construction cost of the defect prediction model in the version evolution scenarios, but also help developers understand the defect generation mechanism in the subsequent versions and improve the software development process in a targeted way.

Key words: cross-version defect prediction, evolution process, machine learning, multi-version data driven