F-Measure of Component Level Features to Predict Architectural Anti-Patterns in Software

Somayeh Kalhor, Mohammad Reza Keyvanpour · 2025

Software systems are constantly evolving to meet the needs of their users, therefore, software complexity inevitably increases, violating software engineering principles, creating anti-patterns at various levels of abstraction, and reducing software quality. Early detection of these anti-patterns is valuable for developers, as their elimination can help prevent potential system failures. Anti-patterns can occur in various software, including web applications, which are also notable in web research. Various software features have been used to predict and detect anti-patterns at different levels of abstraction, and their threshold values affect the accuracy of this process. This study investigates the impact of specific component-level features on dependency detection between components of an open-source system. These dependencies are significant in detecting and predicting component anti-patterns such as cyclic and hub-like dependencies. This study analyzes structural, topological, and content similarity features in opensource code and compares the F-Measure values of these features in the detection of connections between components of the considered software code. The average F-Measure for topological features in OpenJPA 2.0.0 software is 0.73, and for content similarity features it is 0.76. Therefore, these two criteria are almost equally effective in predicting dependencies between components using machine learning algorithms.

Read the paper · More papers on PaperTik