Home > Research > Publications & Outputs > Heuristic expansion of feature mappings in evol...

Electronic data

  • Nunesetal_SPE_2013

    Submitted manuscript, 455 KB, PDF document

Links

Text available via DOI:

View graph of relations

Heuristic expansion of feature mappings in evolving program families

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Heuristic expansion of feature mappings in evolving program families. / Nunes, Camila; Garcia, Alessandro; Lucena, Carlos et al.
In: Software: Practice and Experience, Vol. 44, No. 11, 11.2014, p. 1315–1349.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Nunes, C, Garcia, A, Lucena, C & Lee, J 2014, 'Heuristic expansion of feature mappings in evolving program families', Software: Practice and Experience, vol. 44, no. 11, pp. 1315–1349. https://doi.org/10.1002/spe.2200

APA

Nunes, C., Garcia, A., Lucena, C., & Lee, J. (2014). Heuristic expansion of feature mappings in evolving program families. Software: Practice and Experience, 44(11), 1315–1349. https://doi.org/10.1002/spe.2200

Vancouver

Nunes C, Garcia A, Lucena C, Lee J. Heuristic expansion of feature mappings in evolving program families. Software: Practice and Experience. 2014 Nov;44(11):1315–1349. Epub 2013 May 20. doi: 10.1002/spe.2200

Author

Nunes, Camila ; Garcia, Alessandro ; Lucena, Carlos et al. / Heuristic expansion of feature mappings in evolving program families. In: Software: Practice and Experience. 2014 ; Vol. 44, No. 11. pp. 1315–1349.

Bibtex

@article{ebb39b4e1df94e0fa3a1da3d6c417efa,
title = "Heuristic expansion of feature mappings in evolving program families",
abstract = "Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners.",
author = "Camila Nunes and Alessandro Garcia and Carlos Lucena and Jaejoon Lee",
year = "2014",
month = nov,
doi = "10.1002/spe.2200",
language = "English",
volume = "44",
pages = "1315–1349",
journal = "Software: Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "11",

}

RIS

TY - JOUR

T1 - Heuristic expansion of feature mappings in evolving program families

AU - Nunes, Camila

AU - Garcia, Alessandro

AU - Lucena, Carlos

AU - Lee, Jaejoon

PY - 2014/11

Y1 - 2014/11

N2 - Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners.

AB - Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners.

U2 - 10.1002/spe.2200

DO - 10.1002/spe.2200

M3 - Journal article

VL - 44

SP - 1315

EP - 1349

JO - Software: Practice and Experience

JF - Software: Practice and Experience

SN - 0038-0644

IS - 11

ER -