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 条
  • [1] The Impact of Duplicate Changes on Just-in-Time Defect Prediction
    Duan, Ruifeng
    Xu, Haitao
    Fan, Yuanrui
    Yan, Meng
    IEEE TRANSACTIONS ON RELIABILITY, 2022, 71 (03) : 1294 - 1308
  • [2] Fine-grained just-in-time defect prediction
    Pascarella, Luca
    Palomba, Fabio
    Bacchelli, Alberto
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 150 : 22 - 36
  • [3] Just-In-Time TODO-Missed Commits Detection
    Wang, Haoye
    Gao, Zhipeng
    Hu, Xing
    Lo, David
    Grundy, John
    Wang, Xinyu
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (11) : 2732 - 2752
  • [4] Just-in-Time crash prediction for mobile apps
    Wimalasooriya, Chathrie
    Licorish, Sherlock A.
    da Costa, Daniel Alencar
    MacDonell, Stephen G.
    EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (03)
  • [5] Are Fix-Inducing Changes a Moving Target? A Longitudinal Case Study of Just-In-Time Defect Prediction
    McIntosh, Shane
    Kamei, Yasutaka
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (05) : 412 - 428
  • [6] The Impact of Mislabeled Changes by SZZ on Just-in-Time Defect Prediction
    Fan, Yuanrui
    Xia, Xin
    da Costa, Daniel Alencar
    Lo, David
    Hassan, Ahmed E.
    Li, Shanping
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (08) : 1559 - 1586
  • [7] Towards Reliable Online Just-in-Time Software Defect Prediction
    Cabral, George G.
    Minku, Leandro L.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (03) : 1342 - 1358
  • [8] Cross-Project Online Just-In-Time Software Defect Prediction
    Tabassum, Sadia
    Minku, Leandro L.
    Feng, Danyi
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (01) : 268 - 287
  • [9] The impact of context metrics on just-in-time defect prediction
    Kondo, Masanari
    German, Daniel M.
    Mizuno, Osamu
    Choi, Eun-Hye
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (01) : 890 - 939
  • [10] JITGNN: A deep graph neural network framework for Just-In-Time bug prediction
    Keshavarz, Hossein
    Rodriguez-Perez, Gema
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 210