Linking Feature Models to Code Artifacts Using Executable Acceptance Tests

A feature model is a representation of the requirements in a given system abstracted at the feature level. Linking conceptual requirements in feature models to actual implementation artifacts provides for many advantages such as increased program comprehension, implementation completeness assessment, impact analysis, and reuse opportunities. However, in practice, as systems evolve, traceability links between the model and the code artifacts may become broken or outdated. In this paper, we contribute an approach to provide traceability links in a way that ensures consistency between the feature model and the code artifacts, enables the evolution of variability in the feature model, and supports the product derivation process. We do that by using executable acceptance tests as a direct traceability link between feature models and code artifacts. We evaluate our approach and present a brief overview of the tool support we provide.

[1]  Andreas Classen,et al.  Relating requirements and feature configurations: a systematic approach , 2009, SPLC.

[2]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

[3]  Mike Chiasson,et al.  Executable acceptance tests for communicating business requirements: customer perspective , 2006, AGILE 2006 (AGILE'06).

[4]  Kyo Chul Kang,et al.  Feature Relation and Dependency Management: An Aspect-Oriented Approach , 2008, 2008 12th International Software Product Line Conference.

[5]  Frank Maurer,et al.  The benefits and challenges of executable acceptance testing , 2008, APOS '08.

[6]  Paul Soule An Aspect-Oriented Approach , 2010 .

[7]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[8]  William E. Perry Effective methods for software testing (3. ed.) , 2006 .

[9]  Frank Maurer,et al.  Extreme Product Line Engineering - Refactoring for Variability: A Test-Driven Approach , 2010, XP.

[10]  Matthias Riebisch Towards a More Precise Definition of Feature Models , 2003 .

[11]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[12]  Laurence Duchien,et al.  Context awareness for dynamic service-oriented product lines , 2009, SPLC.

[13]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[14]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[15]  Matthias Riebisch Supporting evolutionary development by feature models and traceability links , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[16]  Jane Cleland-Huang,et al.  A heterogeneous solution for improving the return on investment of requirements traceability , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[18]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[19]  Ilian Pashov,et al.  Feature based methodology for supporting architecture refactoring and maintenance of long life software systems , 2005 .

[20]  Kathrin Berg,et al.  Tracing software product line variability: from problem to solution space , 2005 .

[21]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[22]  CEM KANER ON SCENARIO TESTING The Power of “ What If . . . ” and Nine Ways to Fuel Your Imagination , .

[23]  Carlos José Pereira de Lucena,et al.  A Proposal for the Incorporation of the Features Model into the UML Language , 2002, ICEIS.

[24]  Dániel Fey,et al.  Feature Modeling: A Meta-Model to Enhance Usability and Usefulness , 2002, SPLC.

[25]  Jane Cleland-Huang Just Enough Requirements Traceability , 2006, COMPSAC.