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 条
  • [31] Effort-Aware Just-in-Time Bug Prediction for Mobile Apps Via Cross-Triplet Deep Feature Embedding
    Xu, Zhou
    Zhao, Kunsong
    Zhang, Tao
    Fu, Chunlei
    Yan, Meng
    Xie, Zhiwen
    Zhang, Xiaohong
    Catolino, Gemma
    IEEE TRANSACTIONS ON RELIABILITY, 2022, 71 (01) : 204 - 220
  • [32] Studying just-in-time defect prediction using cross-project models
    Yasutaka Kamei
    Takafumi Fukushima
    Shane McIntosh
    Kazuhiro Yamashita
    Naoyasu Ubayashi
    Ahmed E. Hassan
    Empirical Software Engineering, 2016, 21 : 2072 - 2106
  • [33] Just-in-time software defect prediction using deep temporal convolutional networks
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    NEURAL COMPUTING & APPLICATIONS, 2022, 34 (05) : 3981 - 4001
  • [34] How Well Just-In-Time Defect Prediction Techniques Enhance Software Reliability?
    Tian, Yuli
    Li, Ning
    Tiant, Jeff
    Zheng, Wei
    2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS 2020), 2020, : 212 - 221
  • [35] Toward Reduction in False Positives Just-In-Time Software Defect Prediction Using Deep Reinforcement Learning
    Ismail, Ahmad Muhaimin
    AB Hamid, Siti Hafizah
    Sani, Asmiza Abdul
    Daud, Nur Nasuha Mohd
    IEEE ACCESS, 2024, 12 : 47568 - 47580
  • [36] Just-in-time software defect prediction using deep temporal convolutional networks
    Pasquale Ardimento
    Lerina Aversano
    Mario Luca Bernardi
    Marta Cimitile
    Martina Iammarino
    Neural Computing and Applications, 2022, 34 : 3981 - 4001
  • [37] Studying just-in-time defect prediction using cross-project models
    Kamei, Yasutaka
    Fukushima, Takafumi
    McIntosh, Shane
    Yamashita, Kazuhiro
    Ubayashi, Naoyasu
    Hassan, Ahmed E.
    EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (05) : 2072 - 2106
  • [38] A compositional model for effort-aware Just-In-Time defect prediction on android apps
    Zhao, Kunsong
    Xu, Zhou
    Yan, Meng
    Xue, Lei
    Li, Wei
    Catolino, Gemma
    IET SOFTWARE, 2022, 16 (03) : 259 - 278
  • [39] IRJIT: A simple, online, information retrieval approach for just-in-time software defect prediction
    Sahar, Hareem
    Bangash, Abdul Ali
    Hindle, Abram
    Barbosa, Denilson
    EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (05)
  • [40] Cross-Project Just-in-Time Bug Prediction for Mobile Apps: An Empirical Assessment
    Catolino, Gemma
    Di Nucci, Dario
    Ferrucci, Filomena
    2019 IEEE/ACM 6TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2019), 2019, : 99 - 110