Prioritization of Code Anomalies based on Architecture Sensitiveness

被引:21
作者
Arcoverde, Roberta [1 ]
Guimaraes, Everton [1 ]
Macia, Isela [1 ]
Garcia, Alessandro [1 ]
Cai, Yuanfang [2 ]
机构
[1] Pontificia Univ Catolica Rio de Janeiro, Dept Informat, Rio de Janeiro, Brazil
[2] Drexel Univ, Dept Comp Sci, Philadelphia, PA 19104 USA
来源
2013 27TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES 2013) | 2013年
关键词
Code anomalies; Architecture degradation and Refactoring; STABILITY;
D O I
10.1109/SBES.2013.14
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code anomalies are symptoms of software maintainability problems, particularly harmful when contributing to architectural degradation. Despite the existence of many automated techniques for code anomaly detection, identifying the code anomalies that are more likely to cause architecture problems remains a challenging task. Even when there is tool support for detecting code anomalies, developers often invest a considerable amount of time refactoring those that are not related to architectural problems. In this paper we present and evaluate four different heuristics for helping developers to prioritize code anomalies, based on their potential contribution to the software architecture degradation. Those heuristics exploit different characteristics of a software project, such as change-density and error-density, for automatically ranking code elements that should be refactored more promptly according to their potential architectural relevance. Our evaluation revealed that software maintainers could benefit from the recommended rankings for identifying which code anomalies are harming architecture the most, helping them to invest their refactoring efforts into solving architecturally relevant problems.
引用
收藏
页码:69 / 78
页数:10
相关论文
共 36 条
[1]  
[Anonymous], 2013, UNDERSTAND
[2]  
Arcoverde R., 2012, 3 INT WORKSH REC SYS
[3]  
Arcoverde R., 2011, P 4 INT WORKSH REF T
[4]   Using static analysis to find bugs [J].
Ayewah, Nathaniel ;
Pugh, William ;
Hovemeyer, David ;
Morgenthaler, J. David ;
Penix, John .
IEEE SOFTWARE, 2008, 25 (05) :22-29
[5]  
Bass L., 2003, Software Architecture in Practice. Software Engineering
[6]   SPEARMANS FOOTRULE AS A MEASURE OF DISARRAY [J].
DIACONIS, P ;
GRAHAM, RL .
JOURNAL OF THE ROYAL STATISTICAL SOCIETY SERIES B-METHODOLOGICAL, 1977, 39 (02) :262-268
[7]   Does code decay? Assessing the evidence from change management data [J].
Eick, SG ;
Graves, TL ;
Karr, AF ;
Marron, JS ;
Mockus, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (01) :1-12
[8]  
Fagin R, 2003, SIAM PROC S, P28
[9]  
Figueiredo E., 2008, P 30 INT C SOFTW ENG
[10]  
Fowler M., REFACTORING IMPROVIN, P99