A preview of this full-text is provided by Springer Nature.
Content available from Empirical Software Engineering
This content is subject to copyright. Terms and conditions apply.
https://doi.org/10.1007/s10664-022-10152-3
On the Effectiveness of Bisection in Performance
Regression Localization
Frolin S. Ocariza, Jr.1
Accepted: 23 March 2022
©The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2022
Abstract
Performance regressions can have a drastic impact on the usability of a software applica-
tion. The crucial task of localizing such regressions can be achieved using bisection,which
attempts to find the bug-introducing commit using binary search. This approach is used
extensively by many development teams, but it is an inherently heuristical approach when
applied to performance regressions, and therefore, does not have correctness guarantees.
Unfortunately, bisection is also time-consuming, which implies the need to assess its effec-
tiveness prior to running it. To this end, the goal of this study is to analyze the effectiveness
of bisection for performance regressions. This goal is achieved by first formulating a metric
that quantifies the probability of a successful bisection, and extracting a list of input param-
eters – the contributing properties – that potentially impact its value; a sensitivity analysis
is then conducted on these properties to understand the extent of their impact. Furthermore,
an empirical study of 310 bug reports describing performance regressions in 17 real-world
applications is conducted, to better understand what these contributing properties look like
in practice. The results show that while bisection can be highly effective in localizing real-
world performance regressions, this effectiveness is sensitive to the contributing properties,
especially the choice of baseline and the distributions at each commit. The results also
reveal that most bug reports do not provide sufficient information to help developers prop-
erly choose values and metrics that can maximize the effectiveness, which implies the need
for measures to fill this information gap.
Keywords Software performance ·Bisection ·Empirical study ·Bug localization
Communicated by: Philipp Leitner
Frolin S. Ocariza, Jr.
frolin.ocariza@sap.com
1SAP Canada Inc., Vancouver, BC, Canada
Published online: 30 April 2022
Empirical Software Engineering (2022) 27: 95
/
Content courtesy of Springer Nature, terms of use apply. Rights reserved.