Heuristic expansion of feature mappings in evolving program families
Article first published online: 20 MAY 2013
Copyright © 2013 John Wiley & Sons, Ltd.
Software: Practice and Experience
Volume 44, Issue 11, pages 1315–1349, November 2014
How to Cite
2014), Heuristic expansion of feature mappings in evolving program families, Softw. Pract. Exper., 44, pages 1315–1349, doi: 10.1002/spe.2200, , , and (
- Issue published online: 7 OCT 2014
- Article first published online: 20 MAY 2013
- Manuscript Accepted: 12 APR 2013
- Manuscript Revised: 11 APR 2013
- Manuscript Received: 12 AUG 2012
- evolving program families;
- feature mappings;
- experimental evaluation
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. Copyright © 2013 John Wiley & Sons, Ltd.