Butterfly space: An architectural approach for investigating performance issues

Yutong Zhao, Lu Xiao, Xiao Wang, Zhifei Chen, Bihuan Chen, Yang Liu

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

    6 Scopus citations

    Abstract

    Performance issues widely exist in modern software systems. Existing performance optimization approaches, such as dynamic profiling, usually fail to consider the impacts of architectural connections among methods on performance issues. This paper contributes an architectural approach, Butterfly Space modeling, to investigate performance issues. Each Butterfly Space is composed of 1) a seed method; 2) methods in the 'upper wing' that call the seed directly or transitively; and 3) methods in the 'lower wing' that are called by the seed, directly or transitively. The rationale is that the performance of the seed method impacts and is impacted by all the other methods in the space because of the call relationship. As such, developers can more efficiently investigate groups of connected performance improvement opportunities in Butterfly Spaces. We studied three real-world open source Java projects to evaluate such potential. Our findings are three-fold: 1) If the seed method of a Butterfly Space contains performance problems, up to 60% of the methods in the space also contain performance problems; 2) Butterfly Spaces can potentially help to non-trivially increase the precision/recall and reduce the costs in identifying performance improvement opportunities, compared to dynamic profiling; and 3) Visualizing dynamic profiling metrics with Butterfly Spaces simultaneously help to reveal two typical patterns, namely Expensive Callee and Inefficient Caller, that are responsible for performance problems and provide insights on where to improve next. We believe that Butterfly Space modeling has great potential for investigating performance issues.

    Original languageEnglish
    Title of host publicationProceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020
    Pages202-213
    Number of pages12
    ISBN (Electronic)9781728146591
    DOIs
    StatePublished - Mar 2020
    Event17th IEEE International Conference on Software Architecture, ICSA 2020 - Salvador, Brazil
    Duration: 16 Mar 202020 Mar 2020

    Publication series

    NameProceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020

    Conference

    Conference17th IEEE International Conference on Software Architecture, ICSA 2020
    Country/TerritoryBrazil
    CitySalvador
    Period16/03/2020/03/20

    Keywords

    • Performance optimization
    • Software architecture
    • Software performance

    Fingerprint

    Dive into the research topics of 'Butterfly space: An architectural approach for investigating performance issues'. Together they form a unique fingerprint.

    Cite this