Title
Butterfly Space: An Architectural Approach for Investigating Performance Issues
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.
Year
DOI
Venue
2020
10.1109/ICSA47634.2020.00027
2020 IEEE International Conference on Software Architecture (ICSA)
Keywords
DocType
ISBN
software performance, software architecture, performance optimization
Conference
978-1-7281-4660-7
Citations 
PageRank 
References 
0
0.34
51
Authors
6
Name
Order
Citations
PageRank
Yutong Zhao112.37
Lu Xiao200.68
Xiao Wang333.43
Zhifei Chen400.34
Bihuan Chen527721.54
Yang Liu62194188.81