SELGAug 20, 2018

Towards Anticipation of Architectural Smells using Link Prediction Techniques

arXiv:1808.06362v12 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This work addresses the need for developers to plan maintenance or refactoring efforts to prevent system degradation, though it appears incremental as it applies existing link prediction methods to a new domain.

The paper tackles the problem of early detection of architectural smells in software systems by proposing a forward-looking approach that uses link prediction techniques to anticipate undesired module dependencies before they appear in the source code, with initial evaluation on two open-source projects showing satisfactory predictions under certain conditions.

Software systems naturally evolve, and this evolution often brings design problems that cause system degradation. Architectural smells are typical symptoms of such problems, and several of these smells are related to undesired dependencies among modules. The early detection of these smells is important for developers, because they can plan ahead for maintenance or refactoring efforts, thus preventing system degradation. Existing tools for identifying architectural smells can detect the smells once they exist in the source code. This means that their undesired dependencies are already created. In this work, we explore a forward-looking approach that is able to infer groups of likely module dependencies that can anticipate architectural smells in a future system version. Our approach considers the current module structure as a network, along with information from previous versions, and applies link prediction techniques (from the field of social network analysis). In particular, we focus on dependency-related smells, such as Cyclic Dependency and Hublike Dependency, which fit well with the link prediction model. An initial evaluation with two open-source projects shows that, under certain considerations, the predictions of our approach are satisfactory. Furthermore, the approach can be extended to other types of dependency-based smells or metrics.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes