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

JOURNAL OF SYSTEMS AND SOFTWARE(2024)

引用 0|浏览8
暂无评分
摘要
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.
更多
查看译文
关键词
Software Performance Antipatterns,Cyber-Physical Systems,Antipattern detection,Software maintenance,Empirical Software Engineering,Static analysis
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要