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.
This research is supported by iCore – Alberta Innovates Technology Futures.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
André, F.: Feature Model DSL Homepage (2009), http://featuremodeldsl.codeplex.com/ (accessed February 10, 2010)
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)
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)
CaliberRM, http://www.borland.com/us/products/caliber/index.html (accessed March 1, 2010)
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)
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)
DOORS, http://www-01.ibm.com/software/awdtools/doors/ (accessed March 1, 2010)
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)
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)
FIT, http://fit.c2.com (accessed November March 1, 2010)
Fuchs, N.E.: Specifications are (Preferably) Executable. IEE/BCS Software Engineering Journal 7(5), 323–334 (1992)
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)
Gotel, O., Finkelstein, A.: An Analysis of the Requirements Traceability Problem. In: 1st International Conference on Requirements Eng., pp. 94–101 (1994)
GreenPepper, http://www.greenpeppersoftware.com (accessed March 1, 2010)
Huang, J.C.: Just enough requirement traceability. In: Proceedings of the 30th Annual International Computer Software and Applications, Chicago, pp. 41–42 (September 2006)
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)
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)
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)
Kerievsky, J.: Storytesting, http://industrialxp.org/storytesting.html (accessed March 1, 2010)
Manifesto for Agile Software Development, http://www.agilemanifesto.org/ (accessed May 13, 2010)
Marchetto, A.: http://selab.fbk.eu/swat/slide/2_Fitnesse.ppt (accessed March 10, 2010)
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)
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)
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)
Pashov, I.: Feature Based Method for Supporting Architecture Refactoring and Maintenance of Long-Life Software Systems. PhD Thesis, Technical University Ilmenau (2004)
Perry, W.: Effective Methods for Software Testing, 2/e. John Wiley & Sons, New York (2000)
Pure::Systems, http://www.pure-systems.com/DOORS.102+M54a708de802.0.html (accessed March 1, 2010)
Ramesh, B., Jarke, M.: Toward Reference Models for Requirements Traceability. IEEE Transactions on Software Engineering 27(1), 58–93 (2001)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghanam, Y., Maurer, F. (2010). Linking Feature Models to Code Artifacts Using Executable Acceptance Tests. In: Bosch, J., Lee, J. (eds) Software Product Lines: Going Beyond. SPLC 2010. Lecture Notes in Computer Science, vol 6287. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15579-6_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-15579-6_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15578-9
Online ISBN: 978-3-642-15579-6
eBook Packages: Computer ScienceComputer Science (R0)