Prioritization of code anomalies based on architecture sensitiveness

Roberta Arcoverde, Everton Guimarães, Isela Maciá, Alessandro Garcia, Yuanfang Cai

Research output: Contribution to conferencePaperpeer-review

26 Citations (SciVal)

Abstract

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.

Original languageEnglish (US)
Pages69-78
Number of pages10
DOIs
StatePublished - 2013
Event2013 27th Brazilian Symposium on Software Engineering, SBES 2013 - Brasilia, DF, Brazil
Duration: Oct 1 2013Oct 4 2013

Conference

Conference2013 27th Brazilian Symposium on Software Engineering, SBES 2013
Country/TerritoryBrazil
CityBrasilia, DF
Period10/1/1310/4/13

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Prioritization of code anomalies based on architecture sensitiveness'. Together they form a unique fingerprint.

Cite this