Compositional Verification of Software Product Lines

  • Jean-Vivien Millo
  • S. Ramesh
  • Shankara Narayanan Krishna
  • Ganesh Khandu Narwane
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7940)

Abstract

This paper presents a novel approach to the design verification of Software Product Lines (SPL). The proposed approach assumes that the requirements and designs at the feature level are modeled as finite state machines with variability information. The variability information at the requirement and design levels are expressed differently and at different levels of abstraction. Also the proposed approach supports verification of SPL in which new features and variability may be added incrementally. Given the design and requirements of an SPL, the proposed design verification method ensures that every product at the design level behaviourally conforms to a product at the requirement level. The conformance procedure is compositional in the sense that the verification of an entire SPL consisting of multiple features is reduced to the verification of the individual features. The method has been implemented and demonstrated in a prototype tool SPLEnD (SPL Engine for Design Verification) on a couple of fairly large case studies.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: A literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  2. 2.
    Classen, A., Heymans, P., Schobbens, P.Y., Legay, A.: Symbolic model checking of software product lines. In: ICSE, pp. 321–330 (2011)Google Scholar
  3. 3.
    Cordy, M., Classen, A., Perrouin, G., Schobbens, P.Y., Heymans, P., Legay, A.: Simulation-based abstractions for software product-line model checking. In: ICSE, pp. 672–682 (2012)Google Scholar
  4. 4.
    Czarnecki, K., Eisenecker, U.W.: Generative programming - methods, tools and applications. Addison-Wesley (2000)Google Scholar
  5. 5.
    Metzger, A., Pohl, K.: Variability management in software product line engineering. In: ICSE Companion, pp. 186–187 (2007)Google Scholar
  6. 6.
    Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley Professional (2003)Google Scholar
  7. 7.
    Goultiaeva, A., Bacchus, F.: Exploiting qbf duality on a circuit representation. In: AAAI (2010)Google Scholar
  8. 8.
    Apel, S., Speidel, H., Wendler, P., Rhein, A., Beyer, D.: Detection of feature interactions using feature-aware verification. In: ASE, pp. 372–375 (2011)Google Scholar
  9. 9.
    Apel, S., Hutchins, D.: A calculus for uniform feature composition. ACM Trans. Program. Lang. Syst. 32(5) (2010)Google Scholar
  10. 10.
    Harry, C., Li, S.K., Fisler, K.: Verifying cross-cutting features as open systems. In: Daemen, J., Rijmen, V. (eds.) FSE 2002. LNCS, vol. 2365, pp. 89–98. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Fischbein, D., Uchitel, S., Braberman, V.: A foundation for behavioural conformance in software product line architectures. In: ROSATEA, pp. 39–48 (2006)Google Scholar
  12. 12.
    Asirelli, P., Maurice, H., terBeek, S.G., Fantechi, A.: Formal description of variability in product line families. In: SPLC, pp. 130–139 (2011)Google Scholar
  13. 13.
    Schaefer, I., Gurov, D., Soleimanifard, S.: Compositional algorithmic verification of software product lines. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 184–203. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Gondal, A., Poppleton, M., Butler, M.: Composing event-b specifications - case study experience. In: Apel, S., Jackson, E. (eds.) SC 2011. LNCS, vol. 6708, pp. 100–115. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    Mannion, M.: Using first-order logic for product line model validation. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 176–187. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    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
  18. 18.
    Raclet, J.B., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: Modal interfaces: unifying interface automata and modal specifications. In: EMSOFT, pp. 87–96 (2009)Google Scholar
  19. 19.
    Fantechi, A., Gnesi, S.: Formal modeling for product families engineering. In: SPLC 2008, pp. 193–202. IEEE Computer Society (2008)Google Scholar
  20. 20.
    Gruler, A., Leucker, M., Scheidemann, K.: Calculating and modeling common parts of software product lines. In: SPLC, pp. 203–212 (2008)Google Scholar
  21. 21.
    Gomaa, H., Olimpiew, E.M.: Managing variability in reusable requirement models for software product lines. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 182–185. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Jörges, S., Lamprecht, A.L., Margaria, T., Schaefer, I., Steffen, B.: A constraint-based variability modeling framework. In: STTT, vol. 14(5), pp. 511–530 (2012)Google Scholar
  23. 23.
    Berg, K., Bishop, J., Muthig, D.: Tracing software product line variability: from problem to solution space. In: Proceedings of the 2005 Annual Research Conference on IT Research in Developing Countries, SAICSIT 2005, pp. 182–191 (2005)Google Scholar
  24. 24.
    Metzger, A., Heymans, P., Pohl, K., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: RE, pp. 243–253 (2007)Google Scholar
  25. 25.
    Riebisch, M., Brcina, R.: Optimizing design for variability using traceability links. In: ECBS, pp. 235–244 (2008)Google Scholar
  26. 26.
    ter Beek, M.H., Mazzanti, F., Sulova, A.: VMC: A Tool for product variability analysis. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 450–454. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  27. 27.
    ter Beek, M.H., Gnesi, S., Mazzanti, F.: Demonstration of a model checker for the analysis of product variability. In: SPLC, pp. 242–245 (2012)Google Scholar
  28. 28.
    Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methodol. 16(2) (2007)Google Scholar
  29. 29.
    Liu, J., Basu, S., Lutz, R.R.: Compositional model checking of software product lines using variation point obligations. Autom. Softw. Eng. 18(1), 39–76 (2011)CrossRefGoogle Scholar
  30. 30.
    Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A.: Behavioural modelling and verification of real-time software product lines. In: SPLC, vol. 1, pp. 66–75 (2012)Google Scholar
  31. 31.
    Lauenroth, K., Metzger, A., Pohl, K.: Quality assurance in the presence of variability. Technical report, SSE, Institut fur Informatik und Wirtschaftsinformatik, univertitat Duisburg Essen (2011)Google Scholar
  32. 32.
    Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: Proceedings of the 10th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems (2008)Google Scholar
  33. 33.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of LICS 1986, pp. 322–331 (1986)Google Scholar
  34. 34.
    Millo, J.V., Ramesh, S., Krishna, S.N., Narwane, G.K.: Compositional verification of evolving software product lines. CoRR abs/1212.4258 (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jean-Vivien Millo
    • 1
    • 2
  • S. Ramesh
    • 2
  • Shankara Narayanan Krishna
    • 3
  • Ganesh Khandu Narwane
    • 4
  1. 1.EPI AOSTEINRIA Sophia-AntipolisFrance
  2. 2.Global General Motors R&DTCI BangaloreIndia
  3. 3.Department of CSEIIT BombayMumbaiIndia
  4. 4.Homi Bhabha National InstituteMumbaiIndia

Personalised recommendations