Efficient Verification of Evolving Software Product Lines

  • Hamideh Sabouri
  • Ramtin Khosravi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7141)


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.


State Space Product Line Feature Model Product Family Variation Point 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)zbMATHGoogle Scholar
  2. 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. 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. 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. 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. 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. 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. 8.
    Svahnberg, M., Bosch, J.: Evolution in software product lines: Two cases. Journal of Software Maintenance 11, 391–422 (1999)CrossRefGoogle Scholar
  9. 9.
    Milner, R.: A Calculus of Communicating Systems. Springer-Verlag New York, Inc., Secaucus (1982)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Hamideh Sabouri
    • 1
  • Ramtin Khosravi
    • 1
  1. 1.School of Electrical and Computer EngineeringUniversity of TehranTehranIran

Personalised recommendations