Abstract
Consistency across different lifecycle artifacts is an important issue in software engineering. In software product line engineering, validating consistency becomes even more complicated because product line assets have embedded variabilities. Commonality and variability (C&V) of a software product line (SPL) are usually captured using a feature model. Then, they are embedded into an implementation (i.e., asset code) using various techniques including preprocessor directives. However, the product line asset code often evolves without properly updating other lifecycle artifacts including the variability model, and verification of the consistency of C&V across different product line assets is a major challenge. In this paper, an approach to validating the consistency between C&V expressed in a feature model and C&V embedded in an implementation is proposed. With this approach, product line engineers can have a method for maintaining consistency of C&V across SPL assets systematically. This method has been applied to the flash memory software product line at Samsung Electronics Co. Ltd. and improvements have been made over the years based on the feedback.
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
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, CMU/SEI-90-TR-21 (1990)
Kästner, C., Apel, S.: Integrating Compositional and Annotative Approaches for Product Line Engineering. In: McGPLE Workshop, pp. 35–40 (2008)
Mengi, C., Fuß, C., Zimmermann, R., Aktas, I.: Model-Driven Support for Source Code Variability in Automotive Software Engineering. In: 1st MAPLE Workshop, pp. 44–50 (2009)
Beuche, D., Papajewski, H., Schröder-Preikschatb, W.: Variability management with feature models. Science of Computer Programming - Special Issue: Software Variability Management 53(3), 333–352 (2004)
Gacek, C., Anastasopoules, M.: Implementing Product Line Variabilities. ACM SIGSOFT Software Engineering Notes 26(3), 109–117 (2001)
Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 127–136 (2004)
Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and Scalable Consistency Checking on Product Line Variability Models. In: 25th International Conference on Automated Software Engineering (ASE), pp. 63–72 (2010)
Dungana, D., Rabiser, R., Grünbacher, P., Neumayer, T.: Integrated Tool Support for Software Product Line Engineering. In: ASE 2007, pp. 533–534 (2007)
Satyananda, T.K., Lee, D., Kang, S.: Formal Verification of Consistency between Feature Model and Software Architecture in Software Product Line. In: ASE 2007, pp. 63–72 (2007)
pure::variants, http://www.pure-systems.com
Czarnecki, K., Wasowski, A.: Feature Diagrams and Logics: There and Back Again. In: 11th International Software Product Line Conference (SPLC), pp. 23–34 (2007)
Schobbens, P.-Y., et al.: Feature Diagrams: A Survey and a Formal Semantics. In: RE 2006 Proc. 14th IEEE International Requirements Engineering Conference, pp. 139–148 (2006)
Labrosse, J.J.: MicroC/OS-II, The Real-Time Kernel, 2nd edn., Newnes, UK (2002)
Schobbens, P.-Y., Heymans, P., Trigaux, J.-C.: Generic Semantics of Feature Diagrams. Journal: Computer Networks 51(2), 456–479 (2007)
Edmonds, J.: Optimum Branchings. J. Res. Nat. Bur. Standards 71B, 233–240 (1967)
Lee, K., Kang, K.C., Lee, J.: Concepts and Guidelines of Feature Modeling for Product Line Software Engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002)
Asadal Case Tool, http://selab.postech.ac.kr/asadal/
Thum, T., Batory, D., Kästner, C.: Reasoning about Edits to Feature Models. In: 31st International Conference on Software Engineering (ICSE), pp. 254–264 (2009)
Janota, M., Kiniry, J.: Reasoning about Feature Models in Higher-Order Logic. In: SPLC 2007, pp. 13–22 (2007)
Brun, C., Pierantonio, A.: Model Differences in the Eclipse Modelling Framework. UPGRADE The European J. for the Informatics Professional 9(2), 29–34 (2008)
Xing, Z.: Model Comparison with GenericDiff. In: ASE 2010, pp. 135–138 (2010)
Xue, Y., Xing, Z., Jarzabek, S.: Understanding Feature Evolution in a Family of Product Variants. In: 17th Working Conference on Reverse Engineering (WCRE), pp. 109–118 (2010)
Yang, Y., Peng, X., Zhao, W.: Domain Feature Model Recovery from Multiple Applications Using Data Access Semantics and Formal Concept Analysis. In: 16th WCRE, pp. 215–224 (2009)
She, S., Lotufo, R., Berger, T., Wøsowski, A., Czarnecki, K.: Reverse Engineering Feature Models. In: 33rd ICSE, pp. 109–118 (2011)
She, S., Lotufo, R., Berger, T., Wøsowski, A., Czarnecki, K.: The Variability Model of the Linux Kernel. In: 4th VAMOS (2010)
Kästner, C., Giarrusso, P.G., Rendel, T., Erdweg, S., Ostermann, K., Berger, T.: Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In: 26th OOPSLA, pp. 805–824 (2011)
Greenwood, P., Chitchyan, R., Noppen, J., Rashid, A.: Comparing Feature Models: An Initial Impression. In: Workshop on Empirical Evaluation of Software Composition Techniques (2010)
Lee, H., Yang, J.-S., Kang, K.C.: VULCAN: Architecture-Model-Based Workbench for Product Line Engineering. In: 16th SPLC, vol. 2, pp. 260–264 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Le, D.M., Lee, H., Kang, K.C., Keun, L. (2013). Validating Consistency between a Feature Model and Its Implementation. In: Favaro, J., Morisio, M. (eds) Safe and Secure Software Reuse. ICSR 2013. Lecture Notes in Computer Science, vol 7925. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38977-1_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-38977-1_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38976-4
Online ISBN: 978-3-642-38977-1
eBook Packages: Computer ScienceComputer Science (R0)