Automated Detection of Software Performance Antipatterns in Java']Java-Based Applications

被引:5
作者
Trubiani, Catia [1 ]
Pinciroli, Riccardo [1 ]
Biaggi, Andrea [2 ]
Fontana, Francesca Arcelli [2 ]
机构
[1] Gran Sasso Sci Inst, I-67100 Laquila, Italy
[2] Univ Milano Bicocca, I-20126 Milan, Italy
关键词
Codes; Software performance; Software; !text type='Java']Java[!/text; Runtime; Monitoring; System performance; Dynamic analysis; !text type='Java']Java[!/text]-based applications; software performance antipatterns;
D O I
10.1109/TSE.2023.3234321
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The detection of performance issues in Java-based applications is not trivial since many factors concur to poor performance, and software engineers are not sufficiently supported for this task. The goal of this manuscript is the automated detection of performance problems in running systems to guarantee that no quality-based hinders prevent their successful usage. Starting from software performance antipatterns, i.e., bad practices (e.g., extensive interaction between software methods) expressing both the problem and the solution with the purpose of identifying shortcomings and promptly fixing them, we develop a framework that automatically detects seven software antipatterns capturing a variety of performance issues in Java-based applications. Our approach is applied to real-world case studies from different domains, and it captures four real-life performance issues of Hadoop and Cassandra that were not predicted by state-of-the-art approaches. As empirical evidence, we calculate the accuracy of the proposed detection rules, we show that code commits inducing and fixing real-life performance issues present interesting variations in the number of detected antipattern instances, and solving one of the detected antipatterns improves the system performance up to 50%.
引用
收藏
页码:2873 / 2891
页数:19
相关论文
共 85 条
  • [1] Software Architecture Optimization Methods: A Systematic Literature Review
    Aleti, Aldeida
    Buhnova, Barbora
    Grunske, Lars
    Koziolek, Anne
    Meedeniya, Indika
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (05) : 658 - 683
  • [2] BATCH: Machine Learning Inference Serving on Serverless Platforms with Adaptive Batching
    Ali, Ahsan
    Pinciroli, Riccardo
    Yan, Feng
    Smirni, Evgenia
    [J]. PROCEEDINGS OF SC20: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC20), 2020,
  • [3] PRICE: Detection of Performance Regression Introducing Code Changes Using Static and Dynamic Metrics
    Alshoaibi, Deema
    Hannigan, Kevin
    Gupta, Hiten
    Mkaouer, Mohamed Wiem
    [J]. SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2019, 2019, 11664 : 75 - 88
  • [4] [Anonymous], CLOUDSTORE SYNCHRONI
  • [5] [Anonymous], WEBGOAT 8 DELIBERATE
  • [6] [Anonymous], 2012, P 3 ACM SPEC INT C P
  • [7] [Anonymous], Train ticket: A benchmark microservice system
  • [8] [Anonymous], APACHE HADOOP
  • [9] [Anonymous], TESTDFSIO
  • [10] Bass L., 2015, DevOps: A Software Architect's Perspective