INVESTIGADORES
DIAZ PACE Jorge Andres
congresos y reuniones científicas
Título:
Identifying Architectural Problems through Prioritization of Code Smells
Autor/es:
SANTIAGO A. VIDAL; EVERTON GUIMARAES; WILLIAN OIZUMI; ALESSANDRO FABRICIO GARCIA; JORGE ANDRES DIAZ PACE; CLAUDIA MARCOS
Lugar:
Maringa
Reunión:
Simposio; Proceedings of the X Brazilian Symposium on Components, Architectures, and Reuse (SBCARS '16); 2016
Institución organizadora:
CBSoft
Resumen:
Architectural problems constantly affect evolvingsoftware projects. When not properly addressed, those problemscan hinder the longevity of a software system. Studies haverevealed that a range of architectural problems are reflected insource code through two or more code smells. However, a softwareproject often contains thousands of code smells and many of themhave no relation to architectural problems. Thus, developers mayfeel discouraged to identify architectural problems if they are notequiped with means to focus their attention in a reduced set oflocations in their system to start with. However, state-of-the-arttechniques fall short in assisting developers in the prioritizationof code smells that are likely to indicate architectural problemsin a program. As a consequence, developers struggle to effectivelyfocus on (groups of) smells that are architecturally relevant, i.e.,smells that contribute to a critical design problem. This workpresents and evaluates a suite of criteria for prioritizing groupsof code smells as indicators of architectural problems in evolvingsystems. These criteria are supported by a tool called JSpIRIT.We have assessed the prioritization criteria in the context of morethan 23 versions of 4 systems, analyzing their effectiveness forspoting locations of architectural problems in the source code. Theresults provide evidence that one of the proposed criteria helpedto correctly prioritize more than 80 (locations of) architecturalproblems, alleviating tedious manual inspections of the sourcecode vis-a-vis with the architecture. This prioritization criteriawould have helped developers to discard at least 500 code smellshaving no relation to architectural problems in the analyzedsystems.