Home > Research > Publications & Outputs > No Code Anomaly is an Island

Electronic data

  • icsr17-v31

    Accepted author manuscript, 883 KB, PDF document

Links

Text available via DOI:

View graph of relations

No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities. / Fernandes, Eduardo; Vale, Gustavo; Sousa, Leonardo et al.
ICSR 2017: Mastering Scale and Complexity in Software Reuse . ed. / Goetz Botterweck; Claudia Werner. Springer, 2017. p. 48-64 (Lecture Notes in Computer Science; Vol. 10221).

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Fernandes, E, Vale, G, Sousa, L, Figueiredo, E, Garcia, AF & Lee, J 2017, No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities. in G Botterweck & C Werner (eds), ICSR 2017: Mastering Scale and Complexity in Software Reuse . Lecture Notes in Computer Science, vol. 10221, Springer, pp. 48-64. https://doi.org/10.1007/978-3-319-56856-0_4

APA

Fernandes, E., Vale, G., Sousa, L., Figueiredo, E., Garcia, A. F., & Lee, J. (2017). No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities. In G. Botterweck, & C. Werner (Eds.), ICSR 2017: Mastering Scale and Complexity in Software Reuse (pp. 48-64). (Lecture Notes in Computer Science; Vol. 10221). Springer. https://doi.org/10.1007/978-3-319-56856-0_4

Vancouver

Fernandes E, Vale G, Sousa L, Figueiredo E, Garcia AF, Lee J. No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities. In Botterweck G, Werner C, editors, ICSR 2017: Mastering Scale and Complexity in Software Reuse . Springer. 2017. p. 48-64. (Lecture Notes in Computer Science). Epub 2017 Apr 5. doi: 10.1007/978-3-319-56856-0_4

Author

Fernandes, Eduardo ; Vale, Gustavo ; Sousa, Leonardo et al. / No Code Anomaly is an Island : Anomaly Agglomeration as Sign of Product Line Instabilities. ICSR 2017: Mastering Scale and Complexity in Software Reuse . editor / Goetz Botterweck ; Claudia Werner. Springer, 2017. pp. 48-64 (Lecture Notes in Computer Science).

Bibtex

@inproceedings{16abe38e22ec4d64ade8ec44180ffad5,
title = "No Code Anomaly is an Island: Anomaly Agglomeration as Sign of Product Line Instabilities",
abstract = "A software product line (SPL) is a set of systems that share common and varying features. To provide large-scale reuse, the components of a SPL should be easy to maintain. Therefore, developers have to identify anomalous code structures – i.e., code anomalies – that are detrimental to the SPL maintain-ability. Otherwise, SPL changes can eventually propagate to seemly-unrelated features and affect various SPL products. Previous work often assume that each code anomaly alone suffices to characterize SPL maintenance problems, though each single anomaly may represent only a partial, insignificant, or even inexistent view of the problem. As a result, previous studies have difficulties in characterizing anomalous structures that indicate SPL maintenance problems. In this pa-per, we study the surrounding context of each anomaly and observe that certain anomalies may be interconnected, thereby forming so-called anomaly agglomerations. We characterize three types of agglomerations in SPL: feature, feature hierarchy, and component agglomeration. Two or more anomalies form an agglomeration when they affect the same SPL structural element, i.e. a feature, a feature hierarchy, or a component. We then investigate to what extent non-agglomerated and agglomerated anomalies represent sources of a specific SPL maintenance problem: instability. We analyze various releases of four feature-oriented SPLs. Our findings suggest that a specific type of agglomeration indicates up to 89% of sources of instability, unlike non-agglomerated anomalies.",
keywords = "Code Anomaly Agglomeration, Software Product Line, Instability",
author = "Eduardo Fernandes and Gustavo Vale and Leonardo Sousa and Eduardo Figueiredo and Garcia, {Alessandro Fabricio} and Jaejoon Lee",
year = "2017",
month = may,
day = "29",
doi = "10.1007/978-3-319-56856-0_4",
language = "English",
isbn = "9783319568553",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "48--64",
editor = "Botterweck, {Goetz } and Claudia Werner",
booktitle = "ICSR 2017: Mastering Scale and Complexity in Software Reuse",

}

RIS

TY - GEN

T1 - No Code Anomaly is an Island

T2 - Anomaly Agglomeration as Sign of Product Line Instabilities

AU - Fernandes, Eduardo

AU - Vale, Gustavo

AU - Sousa, Leonardo

AU - Figueiredo, Eduardo

AU - Garcia, Alessandro Fabricio

AU - Lee, Jaejoon

PY - 2017/5/29

Y1 - 2017/5/29

N2 - A software product line (SPL) is a set of systems that share common and varying features. To provide large-scale reuse, the components of a SPL should be easy to maintain. Therefore, developers have to identify anomalous code structures – i.e., code anomalies – that are detrimental to the SPL maintain-ability. Otherwise, SPL changes can eventually propagate to seemly-unrelated features and affect various SPL products. Previous work often assume that each code anomaly alone suffices to characterize SPL maintenance problems, though each single anomaly may represent only a partial, insignificant, or even inexistent view of the problem. As a result, previous studies have difficulties in characterizing anomalous structures that indicate SPL maintenance problems. In this pa-per, we study the surrounding context of each anomaly and observe that certain anomalies may be interconnected, thereby forming so-called anomaly agglomerations. We characterize three types of agglomerations in SPL: feature, feature hierarchy, and component agglomeration. Two or more anomalies form an agglomeration when they affect the same SPL structural element, i.e. a feature, a feature hierarchy, or a component. We then investigate to what extent non-agglomerated and agglomerated anomalies represent sources of a specific SPL maintenance problem: instability. We analyze various releases of four feature-oriented SPLs. Our findings suggest that a specific type of agglomeration indicates up to 89% of sources of instability, unlike non-agglomerated anomalies.

AB - A software product line (SPL) is a set of systems that share common and varying features. To provide large-scale reuse, the components of a SPL should be easy to maintain. Therefore, developers have to identify anomalous code structures – i.e., code anomalies – that are detrimental to the SPL maintain-ability. Otherwise, SPL changes can eventually propagate to seemly-unrelated features and affect various SPL products. Previous work often assume that each code anomaly alone suffices to characterize SPL maintenance problems, though each single anomaly may represent only a partial, insignificant, or even inexistent view of the problem. As a result, previous studies have difficulties in characterizing anomalous structures that indicate SPL maintenance problems. In this pa-per, we study the surrounding context of each anomaly and observe that certain anomalies may be interconnected, thereby forming so-called anomaly agglomerations. We characterize three types of agglomerations in SPL: feature, feature hierarchy, and component agglomeration. Two or more anomalies form an agglomeration when they affect the same SPL structural element, i.e. a feature, a feature hierarchy, or a component. We then investigate to what extent non-agglomerated and agglomerated anomalies represent sources of a specific SPL maintenance problem: instability. We analyze various releases of four feature-oriented SPLs. Our findings suggest that a specific type of agglomeration indicates up to 89% of sources of instability, unlike non-agglomerated anomalies.

KW - Code Anomaly Agglomeration

KW - Software Product Line

KW - Instability

U2 - 10.1007/978-3-319-56856-0_4

DO - 10.1007/978-3-319-56856-0_4

M3 - Conference contribution/Paper

SN - 9783319568553

T3 - Lecture Notes in Computer Science

SP - 48

EP - 64

BT - ICSR 2017: Mastering Scale and Complexity in Software Reuse

A2 - Botterweck, Goetz

A2 - Werner, Claudia

PB - Springer

ER -