Linking Feature Models to Code Artifacts Using Executable Acceptance Tests

  • Yaser Ghanam
  • Frank Maurer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6287)

Abstract

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.

Keywords

agile product line engineering feature models traceability variability evolution executable acceptance tests 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    André, F.: Feature Model DSL Homepage (2009), http://featuremodeldsl.codeplex.com/ (accessed February 10, 2010)
  2. 2.
    Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Transactions on Software Engineering 28(10), 970–983 (2002)CrossRefGoogle Scholar
  3. 3.
    Berg, K., Bishop, J., Muthig, D.: Tracing Software Product Line Variability — From Problem to Solution Space. Presented at 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries, White River, South Africa (2005)Google Scholar
  4. 4.
    CaliberRM, http://www.borland.com/us/products/caliber/index.html (accessed March 1, 2010)
  5. 5.
    Cho, H., Lee, K., Kang, K.C.: Feature Relation and Dependency Management: An Aspect-Oriented Approach. In: Proceedings of the 2008 12th international Software Product Line Conference, pp. 3–11. IEEE Computer Society, Washington (2008)CrossRefGoogle Scholar
  6. 6.
    Cleland-Huang, J., Zemont, G., Lukasik, W.: A Heterogeneous Solution for Improving the Return on Investment of Requirements Traceability. In: Proceedings of the Requirements Engineering Conference, 12th IEEE international, September 06-10. RE, pp. 230–239. IEEE Computer Society, Washington (2004)Google Scholar
  7. 7.
    DOORS, http://www-01.ibm.com/software/awdtools/doors/ (accessed March 1, 2010)
  8. 8.
    Fey, D., Fajta, R., Boros, A.: Feature Modeling: A Meta-Model to Enhance Usability and Usefulness. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 198–216. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Filho, I.M., Oliveira, T.C., Lucena, C.J.P.: A proposal for the incorporation of the features model into the UML language. In: Proceedings of the 4th International Conference on Enterprise Information Systems (ICEIS 2002), Ciudad Real, Spain (2002)Google Scholar
  10. 10.
    FIT, http://fit.c2.com (accessed November March 1, 2010)
  11. 11.
    Fuchs, N.E.: Specifications are (Preferably) Executable. IEE/BCS Software Engineering Journal 7(5), 323–334 (1992)CrossRefGoogle Scholar
  12. 12.
    Ghanam, Y., Maurer, F.: Extreme Product Line Engineering – Refactoring for Variability: A Test-Driven Approach. In: The 11th International Conference on Agile Processes and eXtreme Programming (XP 2010), Trondheim, Norway (2010)Google Scholar
  13. 13.
    Gotel, O., Finkelstein, A.: An Analysis of the Requirements Traceability Problem. In: 1st International Conference on Requirements Eng., pp. 94–101 (1994)Google Scholar
  14. 14.
    GreenPepper, http://www.greenpeppersoftware.com (accessed March 1, 2010)
  15. 15.
    Huang, J.C.: Just enough requirement traceability. In: Proceedings of the 30th Annual International Computer Software and Applications, Chicago, pp. 41–42 (September 2006)Google Scholar
  16. 16.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A feature-oriented reuse method with domain specific reference architectures. Annals of Software Engineering 5, 143–168 (1998)CrossRefGoogle Scholar
  17. 17.
    Kaner, C.: Cem Kaner on Scenario Testing: The Power of ‘What-If...’ and Nine Ways to Fuel Your Imagination. Better Software 5(5), 16–22 (2003)Google Scholar
  18. 18.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021, Software Engineering Institute, Carnegie Mellon University, Pittsburgh (1990)Google Scholar
  19. 19.
    Kerievsky, J.: Storytesting, http://industrialxp.org/storytesting.html (accessed March 1, 2010)
  20. 20.
    Manifesto for Agile Software Development, http://www.agilemanifesto.org/ (accessed May 13, 2010)
  21. 21.
    Marchetto, A.: http://selab.fbk.eu/swat/slide/2_Fitnesse.ppt (accessed March 10, 2010)
  22. 22.
    Melnik, G., Maurer, F., Chiasson, M.: Executable Acceptance Tests for Communicating Business Requirements: Customer Perspective. In: Proc. Agile 2006 Conf., pp. 35–46. IEEE CS Press, Los Alamitos (2006)Google Scholar
  23. 23.
    Park, S.S., Maurer, F.: The benefits and challenges of executable acceptance testing. In: APOS 2008: Proceedings of the 2008 international workshop on Scrutinizing agile practices or shoot-out at the agile corral, pp. 19–22 (2008)Google Scholar
  24. 24.
    Parra, C., Blanc, X., Duchien, L.: Context Awareness for Dynamic Service-Oriented Product Lines. In: Proceedings of 13th International Software Product Line Conference (SPLC), San Francisco, CA, USA (2009)Google Scholar
  25. 25.
    Pashov, I.: Feature Based Method for Supporting Architecture Refactoring and Maintenance of Long-Life Software Systems. PhD Thesis, Technical University Ilmenau (2004)Google Scholar
  26. 26.
    Perry, W.: Effective Methods for Software Testing, 2/e. John Wiley & Sons, New York (2000)Google Scholar
  27. 27.
    Pure::Systems, http://www.pure-systems.com/DOORS.102+M54a708de802.0.html (accessed March 1, 2010)
  28. 28.
    Ramesh, B., Jarke, M.: Toward Reference Models for Requirements Traceability. IEEE Transactions on Software Engineering 27(1), 58–93 (2001)CrossRefGoogle Scholar
  29. 29.
    Riebisch, M.: Supporting Evolutionary Development by Feature Models and Traceability Links. In: Proceedings of the 11th IEEE International Conference and Workshop on Engineering of Computer-Based Systems, ECBS, May 24-27, p. 370. IEEE Computer Society, Washington (2004)Google Scholar
  30. 30.
    Riebisch, M.: Towards a more precise definition of feature models. In: Riebisch, M., Coplien, J.O. (eds.) Modelling Variability for Object-Oriented Product Lines (2003) (Position Paper)Google Scholar
  31. 31.
    Tun, T.T., Boucher, Q., Classen, A., Hubaux, A., Heymans, P.: Relating Requirements and Feature Configurations: A Systematic Approach. In: International Software Product Line Conference (SPLC 2009) (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Yaser Ghanam
    • 1
  • Frank Maurer
    • 1
  1. 1.Department of Computer Science2500 University Dr. NWCalgaryCanada

Personalised recommendations