How are performance issues caused and resolved?-an empirical study from a design perspective

Yutong Zhao, Lu Xiao, Xiao Wang, Lei Sun, Bihuan Chen, Yang Liu, Andre B. Bondi

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    12 Scopus citations

    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.

    Original languageEnglish
    Title of host publicationICPE 2020 - Proceedings of the ACM/SPEC International Conference on Performance Engineering
    Pages181-192
    Number of pages12
    ISBN (Electronic)9781450369916
    DOIs
    StatePublished - 20 Apr 2020
    Event11th ACM/SPEC International Conference on Performance Engineering, ICPE 2020 - Edmonton, Canada
    Duration: 20 Apr 202024 Apr 2020

    Publication series

    NameICPE 2020 - Proceedings of the ACM/SPEC International Conference on Performance Engineering

    Conference

    Conference11th ACM/SPEC International Conference on Performance Engineering, ICPE 2020
    Country/TerritoryCanada
    CityEdmonton
    Period20/04/2024/04/20

    Keywords

    • Design patterns
    • Software design structure
    • Software performance

    Fingerprint

    Dive into the research topics of 'How are performance issues caused and resolved?-an empirical study from a design perspective'. Together they form a unique fingerprint.

    Cite this