The slow and the furious? Performance antipattern detection in Cyber-Physical Systems

被引:0
作者
van Dinten, Imara [1 ]
Derakhshanfar, Pouria [2 ]
Panichella, Annibale [1 ]
Zaidman, Andy [1 ]
机构
[1] Delft Univ Technol, Van Mourik Broekmanweg 6, NL-2628 XE Delft, Netherlands
[2] JetBrains Res, Huidekoperstr 26-28, NL-1017 ZM Amsterdam, Netherlands
基金
欧盟地平线“2020”;
关键词
Software Performance Antipatterns; Cyber-Physical Systems; Antipattern detection; Software maintenance; Empirical Software Engineering; Static analysis;
D O I
10.1016/j.jss.2023.111904
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Cyber-Physical Systems (CPSs) have gained traction in recent years. A major non-functional quality of CPS is performance since it affects both usability and security. This critical quality attribute depends on the specialized hardware, simulation engines, and environmental factors that characterize the system under analysis. While a large body of research exists on performance issues in general, studies focusing on performance -related issues for CPSs are scarce. The goal of this paper is to build a taxonomy of performance issues in CPSs. To this aim, we present two empirical studies aimed at categorizing common performance issues (Study I) and helping developers detect them (Study II). In the first study, we examined commit messages and code changes in the history of 14 GitHub-hosted open -source CPS projects to identify commits that report and fix selfadmitted performance issues. We manually analyzed 2699 commits, labeled them, and grouped the reported performance issues into antipatterns. We detected instances of three previously reported Software Performance Antipatterns (SPAs) for CPSs. Importantly, we also identified new SPAs for CPSs not described earlier in the literature. Furthermore, most performance issues identified in this study fall into two new antipattern categories: Hard Coded Fine Tuning (399 of 646) and Magical Waiting Number (150 of 646). In the second study, we introduce static analysis techniques for automatically detecting these two new antipatterns; we implemented them in a tool called AP -Spotter. We analyzed 9 open -source CPS projects not utilized to build the SPAs taxonomy to benchmark AP -Spotter. Our results show that AP -Spotter achieves 62.04% precision in detecting the antipatterns.
引用
收藏
页数:19
相关论文
共 81 条
  • [1] An efficient method for uncertainty propagation in robust software performance estimation
    Aleti, Aldeida
    Trubiani, Catia
    van Hoorn, Andre
    Jamshidi, Pooyan
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 138 : 222 - 235
  • [2] [Anonymous], 2018, FIELD SERVICE ROBOTI, DOI 10.1007/978-3-319-67361-5_40
  • [3] [Anonymous], 2023, Pmd: an extensible cross language static code analyzer
  • [4] [Anonymous], 2021, COSMOS: DevOps for complex cyber-physical systems
  • [5] Cyber physical systems security: Analysis, challenges and solutions
    Ashibani, Yosef
    Mahmoud, Qusay H.
    [J]. COMPUTERS & SECURITY, 2017, 68 : 81 - 97
  • [6] A Multivariate Characterization and Detection of Software Performance Antipatterns
    Avritzer, Alberto
    Britto, Ricardo
    Trubiani, Catia
    Russo, Barbara
    Janes, Andrea
    Camilli, Matteo
    van Hoorn, Andre
    Heinrich, Robert
    Rapp, Martina
    Henss, Joerg
    [J]. PROCEEDINGS OF THE ACM/SPEC INTERNATIONAL CONFERENCE ON PERFORMANCE ENGINEERING (ICPE '21), 2021, : 61 - 72
  • [7] Ben Abdessalem R, 2020, PROCEEDINGS OF THE 29TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2020, P88, DOI 10.1145/3395363.3397386
  • [8] Cost-effective Simulation-based Test Selection in Self-driving Cars Software with SDC-Scissor
    Birchler, Christian
    Ganz, Nicolas
    Khatiri, Sajad
    Gambi, Alessio
    Panichella, Sebastiano
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 164 - 168
  • [9] Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments
    Birchler, Christian
    Khatiri, Sajad
    Derakhshanfar, Pouria
    Panichella, Sebastiano
    Panichella, Annibale
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (02)
  • [10] Latent Dirichlet allocation
    Blei, DM
    Ng, AY
    Jordan, MI
    [J]. JOURNAL OF MACHINE LEARNING RESEARCH, 2003, 3 (4-5) : 993 - 1022