Our paper "Guilt-based handling of software performance antipatterns in Palladio architectural models", authored by Catia Trubiani, Anne Koziolek, Vittorio Cortellessa, and Ralf Reussner, is now available online in the Journal of Systems and Software preprints.
Highlights
- An antipattern-based approach to interpret performance results and provide feedback.
- Feedback in terms of architectural alternatives overcoming performance flaws.
- A ranking mechanism to drive the process of antipatterns removal.
- Validation of the antipattern-based approach (software performance improves by 45%).
- Validation of the ranking process (34% of design alternatives are discarded).
Abstract: Antipatterns are conceptually similar to patterns in that they document recurring solutions to common design problems. Software performance antipatterns document common performance problems in the design as well as their solutions. The definition of performance antipatterns concerns software properties that can include static, dynamic, and deployment aspects. To make use of such knowledge, we propose an approach that helps software architects to identify and solve performance antipatterns. Our approach provides software performance feedback to architects, since it suggests the design alternatives that allow overcoming the detected performance problems.
The feedback process may be quite complex since architects may have to assess several design options before achieving the architectural model that best fits the end-user expectations. In order to optimise such process we introduce a ranking methodology that identifies, among a set of detected antipatterns, the “guilty” ones, i.e. the antipatterns that more likely contribute to the violation of specific performance requirements. The introduction of our ranking process leads the system to converge towards the desired performance improvement by discarding a consistent part of design alternatives. Four case studies in different application domains have been used to assess the validity of the approach.
Link: http://dx.doi.org/10.1016/j.jss.2014.03.081