TY - GEN
T1 - Architecture-sensitive heuristics for prioritizing critical code anomalies
AU - Guimarães, Everton
AU - Garcia, Alessandro
AU - Cai, Yuanfang
N1 - Funding Information:
This work was funded by CNPq (productivity grant 305526/2009-0 and Universal Project grant number 485348/2011-0), and FAPERJ (distinguished scientist grant E-26/102.211/2009, project grant number E-26/111.152/2011).
Publisher Copyright:
Copyright 2015 ACM.
PY - 2015/3/16
Y1 - 2015/3/16
N2 - The progressive insertion of code anomalies in evolving software systems might lead to architecture degradation symptoms. Code anomalies are particularly harmful when they contribute to the architecture degradation. Although several approaches have been proposed aiming to detect anomalies in the source code, most of them fail to assist developers when prioritizing code anomalies critical to the architectural design. Blueprints of the architecture design are artifacts often available in industry software projects. However, such blueprints are rarely explored to support the prioritization of code anomalies in terms of their architecture relevance. This paper proposes and evaluates 2 sets of blueprint-based heuristics for supporting the prioritization of critical code anomalies. The prioritization is based on their potential impact on revealing architectural drift problems. The heuristics allow developers prioritizing critical code anomalies by exploiting architectural information provided in the blueprint. The contributions of this paper include: (i) a set of architecture sensitive heuristics to support developers when prioritizing critical code anomalies; (ii) an evaluation of the proposed heuristics in terms of their prioritization accuracy in 3 systems; and (iii) an empirical analysis on how the blueprints' information might enhance the prioritization of critical code anomalies, as opposed to existing heuristics strictly based on source code analysis.
AB - The progressive insertion of code anomalies in evolving software systems might lead to architecture degradation symptoms. Code anomalies are particularly harmful when they contribute to the architecture degradation. Although several approaches have been proposed aiming to detect anomalies in the source code, most of them fail to assist developers when prioritizing code anomalies critical to the architectural design. Blueprints of the architecture design are artifacts often available in industry software projects. However, such blueprints are rarely explored to support the prioritization of code anomalies in terms of their architecture relevance. This paper proposes and evaluates 2 sets of blueprint-based heuristics for supporting the prioritization of critical code anomalies. The prioritization is based on their potential impact on revealing architectural drift problems. The heuristics allow developers prioritizing critical code anomalies by exploiting architectural information provided in the blueprint. The contributions of this paper include: (i) a set of architecture sensitive heuristics to support developers when prioritizing critical code anomalies; (ii) an evaluation of the proposed heuristics in terms of their prioritization accuracy in 3 systems; and (iii) an empirical analysis on how the blueprints' information might enhance the prioritization of critical code anomalies, as opposed to existing heuristics strictly based on source code analysis.
UR - http://www.scopus.com/inward/record.url?scp=84986626455&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84986626455&partnerID=8YFLogxK
U2 - 10.1145/2724525.2724567
DO - 10.1145/2724525.2724567
M3 - Conference contribution
AN - SCOPUS:84986626455
T3 - ACM International Conference Proceeding Series
SP - 68
EP - 80
BT - 14th International Conference on Modularity, MODULARITY 2015 - Proceedings
PB - Association for Computing Machinery
T2 - 14th International Conference on Modularity, MODULARITY 2015 - Proceedings
Y2 - 16 March 2015 through 19 March 2015
ER -