Title
How Are Performance Issues Caused and Resolved?-An Empirical Study from a Design Perspective
Abstract
Empirical experience regarding how real-life performance issues are caused and resolved can provide valuable insights for practitioners to effectively and efficiently prevent, detect, and fix performance issues. Prior work shows that most performance issues have their roots in poor architectural decisions. This paper contributes a large scale empirical study of 192 real-life performance issues, with an emphasis on software design. First, this paper contributes a holistic view of eight common root causes and typical resolutions that recur in different projects, and surveyed existing literature, in particular, tools, that can detect and fix each type of performance issue. Second, this study is first-of-its-kind to investigate performance issues from a design perspective. In the 192 issues, 33% required design-level optimization, i.e. simultaneously revising a group of related source files for resolving the issues. We reveal four design-level optimization patterns, which have shown different prevalence in resolving different root causes. Finally, this study investigated the Return on Investment for addressing performance issues, to help practitioners choose between localized or design-level optimization resolutions, and to prioritize issues due to different root causes.
Year
DOI
Venue
2020
10.1145/3358960.3379130
ICPE '20: ACM/SPEC International Conference on Performance Engineering Edmonton AB Canada April, 2020
Keywords
DocType
ISBN
software performance, software design structure, design patterns
Conference
978-1-4503-6991-6
Citations 
PageRank 
References 
0
0.34
0
Authors
7
Name
Order
Citations
PageRank
Yutong Zhao112.37
Lu Xiao221612.94
Xiao Wang333.43
Lei Sun400.68
Bihuan Chen527721.54
Yang Liu62194188.81
Andre B. Bondi700.34