Exploring blueprints on the prioritization of architecturally relevant code anomalies - A controlled experiment

Everton Guimaraes, Alessandro Garcia, Yuanfang Cai

Research output: Contribution to journalConference article

5 Citations (Scopus)

Abstract

The progressive insertion of code anomalies in evolving programs may lead to architecture degradation symptoms. Several approaches have been proposed aiming to detect code anomalies in the source code, such as God Class and Shotgun Surgery. However, most of them fail to assist developers on prioritizing code anomalies harmful to the software architecture. These approaches often rely on source code analysis and do not provide developers with useful information to help the prioritization of those anomalies that impact on the architectural design. In this context, this paper presents a controlled experiment aiming at investigating how developers, when supported by architecture blueprints, are able to prioritize different types of code anomalies in terms of their architectural relevance. Our contributions include: (i) quantitative indicators on how the use of blueprints may improve process of prioritizing code anomalies, (ii) a discussion of how blueprints may help on the prioritization processes, (iii) an analysis of whether and to what extent the use of blueprints impacts on the time for revealing architecturally relevant code anomalies, and (iv) a discussion on the main characteristics of false positives and false negatives observed by the actual developers.

Original languageEnglish (US)
Article number6899236
Pages (from-to)344-353
Number of pages10
JournalProceedings - International Computer Software and Applications Conference
DOIs
StatePublished - Sep 15 2014
Event38th Annual IEEE Computer Software and Applications Conference, COMPSAC 2014 - Vasteras, Sweden
Duration: Jul 21 2014Jul 25 2014

Fingerprint

Blueprints
Experiments
Architectural design
Software architecture
Surgery
Degradation

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Science Applications

Cite this

@article{1a2a4a2b600f4a0fb0bed45d907e71f7,
title = "Exploring blueprints on the prioritization of architecturally relevant code anomalies - A controlled experiment",
abstract = "The progressive insertion of code anomalies in evolving programs may lead to architecture degradation symptoms. Several approaches have been proposed aiming to detect code anomalies in the source code, such as God Class and Shotgun Surgery. However, most of them fail to assist developers on prioritizing code anomalies harmful to the software architecture. These approaches often rely on source code analysis and do not provide developers with useful information to help the prioritization of those anomalies that impact on the architectural design. In this context, this paper presents a controlled experiment aiming at investigating how developers, when supported by architecture blueprints, are able to prioritize different types of code anomalies in terms of their architectural relevance. Our contributions include: (i) quantitative indicators on how the use of blueprints may improve process of prioritizing code anomalies, (ii) a discussion of how blueprints may help on the prioritization processes, (iii) an analysis of whether and to what extent the use of blueprints impacts on the time for revealing architecturally relevant code anomalies, and (iv) a discussion on the main characteristics of false positives and false negatives observed by the actual developers.",
author = "Everton Guimaraes and Alessandro Garcia and Yuanfang Cai",
year = "2014",
month = "9",
day = "15",
doi = "10.1109/COMPSAC.2014.57",
language = "English (US)",
pages = "344--353",
journal = "Proceedings - IEEE Computer Society's International Computer Software and Applications Conference",
issn = "0730-6512",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - JOUR

T1 - Exploring blueprints on the prioritization of architecturally relevant code anomalies - A controlled experiment

AU - Guimaraes, Everton

AU - Garcia, Alessandro

AU - Cai, Yuanfang

PY - 2014/9/15

Y1 - 2014/9/15

N2 - The progressive insertion of code anomalies in evolving programs may lead to architecture degradation symptoms. Several approaches have been proposed aiming to detect code anomalies in the source code, such as God Class and Shotgun Surgery. However, most of them fail to assist developers on prioritizing code anomalies harmful to the software architecture. These approaches often rely on source code analysis and do not provide developers with useful information to help the prioritization of those anomalies that impact on the architectural design. In this context, this paper presents a controlled experiment aiming at investigating how developers, when supported by architecture blueprints, are able to prioritize different types of code anomalies in terms of their architectural relevance. Our contributions include: (i) quantitative indicators on how the use of blueprints may improve process of prioritizing code anomalies, (ii) a discussion of how blueprints may help on the prioritization processes, (iii) an analysis of whether and to what extent the use of blueprints impacts on the time for revealing architecturally relevant code anomalies, and (iv) a discussion on the main characteristics of false positives and false negatives observed by the actual developers.

AB - The progressive insertion of code anomalies in evolving programs may lead to architecture degradation symptoms. Several approaches have been proposed aiming to detect code anomalies in the source code, such as God Class and Shotgun Surgery. However, most of them fail to assist developers on prioritizing code anomalies harmful to the software architecture. These approaches often rely on source code analysis and do not provide developers with useful information to help the prioritization of those anomalies that impact on the architectural design. In this context, this paper presents a controlled experiment aiming at investigating how developers, when supported by architecture blueprints, are able to prioritize different types of code anomalies in terms of their architectural relevance. Our contributions include: (i) quantitative indicators on how the use of blueprints may improve process of prioritizing code anomalies, (ii) a discussion of how blueprints may help on the prioritization processes, (iii) an analysis of whether and to what extent the use of blueprints impacts on the time for revealing architecturally relevant code anomalies, and (iv) a discussion on the main characteristics of false positives and false negatives observed by the actual developers.

UR - http://www.scopus.com/inward/record.url?scp=84928598319&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84928598319&partnerID=8YFLogxK

U2 - 10.1109/COMPSAC.2014.57

DO - 10.1109/COMPSAC.2014.57

M3 - Conference article

AN - SCOPUS:84928598319

SP - 344

EP - 353

JO - Proceedings - IEEE Computer Society's International Computer Software and Applications Conference

JF - Proceedings - IEEE Computer Society's International Computer Software and Applications Conference

SN - 0730-6512

M1 - 6899236

ER -