Architectural smell detection using variable parameters based on project metrics
Jasper Mohlmann · 2019
This thesis presents research into the detection of God Components in software systems. Today, software is dealing more and more with Technical Debt introduced by e.g., Architectural Bad Smells. One of these smells is the God Component smell. Literature provides a wide range of definitions of this smell. In this thesis, a new definition is proposed, which includes the characteristic of relative size compared to other components in the system. Furthermore, a threshold-based detection method is proposed. The detection method is adaptive to the system it analyzes by selecting a system derived or benchmark derived threshold. The effectiveness of the proposed method is tested by implementing the adaptive detection method in Arcan, a smell detection tool for Java systems. The first results show good results by adapting to the system under analysis and detecting most smells present. False negatives however still arise, but the cause of this is the out-of-scope extraction of Lines of Code from reconstructed compiled Java files. Further work, therefore, could investigate a more rigid rebuilding of compiled Java files and include an analysis of the characteristics of the God Component itself to judge the actual impact of the detected God Component