Ranking architecturally critical agglomerations of code smells.

Science of Computer Programming(2019)

引用 22|浏览28
暂无评分
摘要
Code smells are symptoms in the source code that could help to identify architectural problems. However, developers may feel discouraged to analyze multiple smells if they are not able to focus their attention on a small set of source code locations. Unfortunately, current techniques fall short in assisting developers to prioritize smelly locations that are likely to indicate architectural problems. Furthermore, developers often have trouble analyzing interconnected smells that contribute together to realize an architectural problem. To deal with these issues, this work presents and evaluates a suite of five criteria for ranking groups of code smells as indicators of architectural problems in evolving systems. These criteria were implemented in a tool called JSpIRIT. In a first experiment, we have assessed the criteria in the context of 23 versions of 4 systems and analyzed their effectiveness for revealing architectural problem locations. In addition, we conducted a second experiment for analyzing similarities between the prioritization provided by developers and the prioritization provided by our best performing criterion. The results provide evidence that one of the proposed criteria helped to correctly prioritize more than 80 code locations of architectural problems, alleviating tedious manual inspection of the source code vis-a-vis with the architecture.
更多
查看译文
关键词
Code smells,Agglomerations,Software architecture
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要