PerfJIT: Test-Level Just-in-Time Prediction for Performance Regression Introducing Commits

被引:22
|
作者
Chen, Jinfu [1 ]
Shang, Weiyi [1 ]
Shihab, Emad [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ H3G 1M8, Canada
关键词
Measurement; Predictive models; Software; Task analysis; Benchmark testing; Logistics; Performance regression; software performance; software quality; mining software repositories; empirical software engineering; DEFECT PREDICTION; SOFTWARE; FAULTS;
D O I
10.1109/TSE.2020.3023955
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Performance issues may compromise user experiences, increase the cost resources, and cause field failures. One of the most prevalent performance issues is performance regression. Due to the importance and challenges in performance regression detection, prior research proposes various automated approaches that detect performance regressions. However, the performance regression detection is conducted after the system is built and deployed. Hence, large amounts of resources are still required to locate and fix performance regressions. In our paper, we propose an approach that automatically predicts whether a test would manifest performance regressions given a code commit. In particular, we extract both traditional metrics and performance-related metrics from the code changes that are associated with each test. For each commit, we build random forest classifiers that are trained from all prior commits to predict in this commit whether each test would manifest performance regression. We conduct case studies on three open-source systems (Hadoop, Cassandra, and OpenJPA). Our results show that our approach can predict tests that manifest performance regressions in a commit with high AUC values (on average 0.86). Our approach can drastically reduce the testing time needed to detect performance regressions. In addition, we find that our approach could be used to detect the introduction of six out of nine real-life performance issues from the subject systems during our studied period. Finally, we find that traditional metrics that are associated with size and code change histories are the most important factors in our models. Our approach and the study results can be leveraged by practitioners to effectively cope with performance regressions in a timely and proactive manner.
引用
收藏
页码:1529 / 1544
页数:16
相关论文
共 50 条
  • [41] Code churn: A neglected metric in effort-aware just-in-time defect prediction
    Liu, Jinping
    Zhou, Yuming
    Yang, Yibiao
    Lu, Hongmin
    Xu, Baowen
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 11 - 19
  • [42] Revisiting supervised and unsupervised models for effort-aware just-in-time defect prediction
    Qiao Huang
    Xin Xia
    David Lo
    Empirical Software Engineering, 2019, 24 : 2823 - 2862
  • [43] Just-in-time defect prediction enhanced by the joint method of line label fusion and file filtering
    Zhang, Huan
    Kuang, Li
    Wu, Aolang
    Zhao, Qiuming
    Yang, Xiaoxian
    IET SOFTWARE, 2023, 17 (04) : 378 - 391
  • [44] DEJIT: A Differential Evolution Algorithm for Effort-Aware Just-in-Time Software Defect Prediction
    Yang, Xingguang
    Yu, Huiqun
    Fan, Guisheng
    Yang, Kang
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (03) : 289 - 310
  • [45] MULTI: Multi-objective effort-aware just-in-time software defect prediction
    Chen, Xiang
    Zhao, Yingquan
    Wang, Qiuping
    Yuan, Zhidan
    INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 93 : 1 - 13
  • [46] SZZ Unleashed: An Open Implementation of the SZZ Algorithm - Featuring Example Usage in a Study of Just-in-Time Bug Prediction for the Jenkins Project
    Borg, Markus
    Svensson, Oscar
    Berg, Kristian
    Hansson, Daniel
    PROCEEDINGS OF THE 3RD ACM SIGSOFT INTERNATIONAL WORKSHOP ON MACHINE LEARNING TECHNIQUES FOR SOFTWARE QUALITY EVALUATION (MALTESQUE '19), 2019, : 7 - 12
  • [47] Effort-Aware Tri-Training for Semi-supervised Just-in-Time Defect Prediction
    Zhang, Wenzhou
    Li, Weiwei
    Jia, Xiuyi
    ADVANCES IN KNOWLEDGE DISCOVERY AND DATA MINING, PAKDD 2019, PT II, 2019, 11440 : 293 - 304
  • [48] A code change-oriented approach to just-in-time defect prediction with multiple input semantic fusion
    Huang, Teng
    Yu, Hui-Qun
    Fan, Gui-Sheng
    Huang, Zi-Jie
    Wu, Chen-Yu
    EXPERT SYSTEMS, 2024, 41 (12)
  • [49] Static source code metrics and static analysis warnings for fine-grained just-in-time defect prediction
    Trautsch, Alexander
    Herbold, Steffen
    Grabowski, Jens
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 127 - 138
  • [50] Temporal convolutional networks for just-in-time design smells prediction using fine-grained software metrics
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    NEUROCOMPUTING, 2021, 463 : 454 - 471