Powered by
Conference Publishing Consulting

2015 IEEE 2nd International Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP), March 2, 2015, Montréal, Canada

PPAP 2015 – Proceedings

Contents - Abstracts - Authors

2015 IEEE 2nd International Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP)

Frontmatter

Title Page


Foreword
Welcome to the second edition of the Patterns Promotion and Anti-patterns Prevention workshop (PPAP 2015) co-located with the 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015) at the department of GIGL (Génie Informatique et Génie Logiciel) of Polytechnique Montréal (Québec, Canada).

Patterns Promotion and Anti-patterns Prevention (PPAP)

Analyzing Code Evolution to Uncover Relations between Bad Smells
Angela Lozano, Kim MensORCID logo, and Jawira Portugal
(Vrije Universiteit Brussel, Belgium; Université Catholique de Louvain, Belgium)
This paper reports on evidence found of five possible relations (Plain Support, Mutual Support, Rejection, Common Refactoring, and Inclusion) among four bad smells (God Class, Long Method, Feature Envy, and Type Checking). We analyzed several releases of three open-source applications (16 for Log4j, 34 for Jmol, and 45 for JFreeChart) using four direct and two indirect metrics. This analysis uncovered correlations between three of these bad smells, namely, Feature Envy, Long Method, and God Class. The strongest correlation discovered was between Feature Envy and Long Method, followed by a mild correlation between Long Method and God Class, and between Feature Envy and God Class. These findings seem to provide initial evidence of the co-existence of bad smells and therefore, the need for bad smell removal plans to take into account these correlations in order to minimize code improvement efforts.

A Study on the Taxonomy of Service Antipatterns
Francis Palma and Naouel Moha
(Polytechnique Montréal, Canada; Université du Québec à Montréal, Canada)
Antipatterns in Service-based Systems (SBSs)—service antipatterns—represent “bad” solutions to recurring design problems. In opposition to design patterns, which are good solutions, antipatterns should be avoided by the engineers. Antipatterns may also be introduced due to diverse changes performed against new user requirements and execution contexts. Service antipatterns may degrade the quality of design and may hinder the future maintenance and evolution of SBSs. The detection of service antipatterns is important to improve the design quality of SBSs and to ease their maintenance. A better understanding of service antipatterns is a must prerequisite to perform their detection. This paper presents a taxonomy of service antipatterns in Web services and SCA (Service Component Architecture), the two common SBSs implementation technologies. The presented taxonomy will facilitate engineers their understanding on service antipatterns. Other substantial benefits of the presented taxonomy include: (1) assisting in the specification and detection of service antipatterns, (2) revealing the relationships among various groups of service antipatterns, (3) grouping together antipatterns that are fundamentally related, and (4) providing an overview of various system-level design problems ensemble.

Improving Lava Flow Based Software Development
Timm Felden
(University of Stuttgart, Germany)
Software development in academia is usually done by master or Ph.D. students. These students stay on a project for a very limited period of time. As a result, the software development process can become an instance of the lava flow anti-pattern. In such a scenario, researchers have to rely on half-finished tools propagating their bugs through the toolchain until a step is reached where further extension becomes infeasible. Based on experience with Bauhaus, we will share our approach of facing the lava-flow phenomenon in toolchain-development and explain why it diminishes the risks of development stall.

Could Micro Patterns Be Used as Software Stability Indicator?
Marco Ortu, Giuseppe Destefanis, Matteo Orrù, Roberto Tonelli, and Michele L. Marchesi
(University of Cagliari, Italy; Computer Research Institute of Montreal, Canada)
Micro patterns can be a useful proxy for the quality of software. Classes matching certain categories of micro patterns were shown to be more fault prone than others, and those classes that do not correspond to any category of micro patterns were shown to be more likely to be faulty. In this paper we present a preliminary study of traditional software metrics and micro patterns in three versions of Eclipse (2.1, 3.0, 3.1) in order to understand if it is possible to relate the stability of a software system with micro patterns.

proc time: 0.39