Authors: Davide Arcelli, Vittorio Cortellessa, Catia Trubiani.
Abstract: Performance antipatterns are well-known bad design practices that lead
to software products suffering from poor performance. A number of performance
antipatterns has been defined and classified and refactoring actions have also been
suggested to remove them. In the last few years, we have dedicated some effort
to the detection and refactoring of performance antipatterns in software models.
A specific characteristic of performance antipatterns is that they contain numerical
parameters that may represent thresholds referring to either performance indices
(e.g., a device utilization) or design features (e.g., number of interface operations of
a software component). In this paper, we analyze the influence of such thresholds on
the capability of detecting and refactoring performance antipatterns. In particular,
(i) we analyze how a set of detected antipatterns may change while varying the
threshold values and (ii) we discuss the influence of thresholds on the complexity of
refactoring actions. With the help of a leading example, we quantify the influence
using precision and recall metrics.
Keywords: Software Performance Antipatterns, Detection, Refactoring, Numerical