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 条
[11]  
Gamma E., 1995, Design Patterns: Elements of Reusable Object-Oriented Software
[12]  
Garcia J., 2009, P CSMR WASH US
[13]  
Godfrey M., 2000, P 2 INT S CONSTR SOF
[14]  
Greenwood P, 2007, LECT NOTES COMPUT SC, V4609, P176
[15]  
Hochestein L., 2005, INFORM SOFTWARE TECH, V47
[16]   A study of design characteristics in evolving software using stability as a criterion [J].
Kelly, Diane .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (05) :315-329
[17]   An Exploratory Study of the Impact of Code Smells on Software Change-proneness [J].
Khomh, Foutse ;
Di Penta, Massimiliano ;
Gueheneuc, Yann-Gael .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :75-+
[18]  
Kim M., 2011, P 33 INT C SOFTW ENG
[19]  
Lanza Michele, 2006, Objectoriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems
[20]   Exploring the structure of complex software designs: An empirical study of open source and proprietary code [J].
MacCormack, Alan ;
Rusnak, John ;
Baldwin, Carliss Y. .
MANAGEMENT SCIENCE, 2006, 52 (07) :1015-1030