Efficient Verification of Evolving Software Product Lines
Abstract
Software product line engineering represents a promising approach to achieve systematic reuse in development of families of software. Software product lines are intended to be used in a long period of time. As a result, they evolve over time, due to the changes in the requirements. Having several individual products in a software family, verification of the entire software family may take a considerable effort. In this paper, we present an idea for efficient verification of evolving software product lines, by reusing the result of verification and state space of the product family. To this end, we generate the state space of the product family once and verify the desired properties. The result of verification is the set of products satisfying the given properties. When the product line evolves, we may use the result of verification, and the state space to produce new results, and update the existing state space. We show the applicability of our approach by applying it on a small case study.
Keywords
State Space Product Line Feature Model Product Family Variation PointPreview
Unable to display preview. Download preview PDF.
References
- 1.Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus (2005)MATHGoogle Scholar
- 2.Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute (November 1990)Google Scholar
- 3.Kishi, T., Noda, N., Katayama, T.: Design Verification for Product Line Development. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 150–161. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 4.Larsen, K.G., Nyman, U., Wasowski, A.: Modeling software product lines using color-blind transition systems. Int. J. Softw. Tools Technol. Transf. 9(5), 471–487 (2007)CrossRefGoogle Scholar
- 5.Larsen, K.G., Nyman, U., Wąsowski, A.: Modal I/O Automata for Interface and Product Line Theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 6.Gruler, A., Leucker, M., Scheidemann, K.: Modeling and Model Checking Software Product Lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 7.Sabouri, H., Khosravi, R.: An effective approach for verifying product lines in presence of variability models. In: FMSPLE: First International Workshop on Formal Methods in Software Product Line Engineering, pp. 113–120 (2010)Google Scholar
- 8.Svahnberg, M., Bosch, J.: Evolution in software product lines: Two cases. Journal of Software Maintenance 11, 391–422 (1999)CrossRefGoogle Scholar
- 9.Milner, R.: A Calculus of Communicating Systems. Springer-Verlag New York, Inc., Secaucus (1982)Google Scholar