Skip to main content

Verification of Software Product Lines with Delta-Oriented Slicing

  • Conference paper
Formal Verification of Object-Oriented Software (FoVeOOS 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6528))

  • 574 Accesses

Abstract

Software product line (SPL) engineering is a well-known approach to develop industry-size adaptable software systems. SPL are often used in domains where high-quality software is desirable; the overwhelming product diversity, however, remains a challenge for assuring correctness. In this paper, we present delta-oriented slicing, an approach to reduce the deductive verification effort across an SPL where individual products are Java programs and their relations are described by deltas. On the specification side, we extend the delta language to deal with formal specifications. On the verification side, we combine proof slicing and similarity-guided proof reuse to ease the verification process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Batory, D.S., Benavides, D., Ruiz-Cortés, A.: Automated analysis of feature models: Challenges ahead. Communications of the ACM 49(12) (2006)

    Google Scholar 

  2. Batory, D.S., Börger, E.: Modularizing theorems for software product lines: The Jbook case study. Journal of Universal Computer Science 14(12) (2008)

    Google Scholar 

  3. Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)

    Article  Google Scholar 

  4. Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007)

    Google Scholar 

  5. Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A., Raskin, J.-F.: Model checking lots of systems: Efficient verification of temporal properties in software product lines. In: 32nd International Conference on Software Engineering, ICSE 2010, Cape Town, South Africa, May 2-8. IEEE, Los Alamitos (2010) (to appear)

    Google Scholar 

  6. Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: Conf. on Generative Programming and Component Engineering (GPCE) (2006)

    Google Scholar 

  7. Delaware, B., Cook, W., Batory, D.: A Machine-Checked Model of Safe Composition. In: Foundations of Aspect-Oriented Languages (FOAL), pp. 31–35. ACM, New York (2009)

    Google Scholar 

  8. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley Longman, Amsterdam (2005)

    MATH  Google Scholar 

  9. Hatcliff, J., Dwyer, M.B., Zheng, H.: Slicing software for model construction. Higher-Order and Symbolic Computation 13(4), 315–353 (2000)

    Article  MATH  Google Scholar 

  10. Hutter, D.: Management of change in structured verification. In: Automated Software Engineering (ASE), p. 23 (2000)

    Google Scholar 

  11. Klebanov, V.: Proof reuse. In: Beckert et al. [4]

    Google Scholar 

  12. Lauenroth, K., Pohl, K., Toehning, S.: Model checking of domain artifacts in product line engineering. In: Automated Software Engineering (ASE), pp. 269–280. IEEE Computer Society, Los Alamitos (2009)

    Google Scholar 

  13. Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: a behavioral interface specification language for Java. SIGSOFT Softw. Eng. Notes 31(3), 1–38 (2006)

    Article  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. McGregor, J.D.: Testing a software product line. Technical Report CMU/SEI-2001-TR-022, Software Engineering Institute, Carnegie Mellon University (December 2001)

    Google Scholar 

  16. Mossakowski, T.: Heterogeneous theories and the heterogeneous tool set. In: Kalfoglou, Y., Schorlemmer, W.M., Sheth, A.P., Staab, S., Uschold, M. (eds.) Semantic Interoperability and Integration. Dagstuhl Seminar Proceedings, vol. 04391, IBFI, Schloss Dagstuhl (2005)

    Google Scholar 

  17. Muccini, H., van der Hoek, A.: Towards testing product line architectures. Electr. Notes Theor. Comput. Sci 82(6) (2003)

    Google Scholar 

  18. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  19. Ren, X., Shah, F., Tip, F., Ryder, B.G., Chesley, O.: Chianti: A tool for change impact analysis of Java programs. In: Vlissides, J.M., Schmidt, D.C. (eds.) Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004, Vancouver, BC, Canada, October 24-28, pp. 432–448. ACM, New York (2004)

    Chapter  Google Scholar 

  20. Roth, A.: Specification and Verification of Object-oriented Software Components. PhD thesis, Universität Karlsruhe (2006)

    Google Scholar 

  21. Schaefer, I.: Variability modelling for model-driven development of software product lines. In: 4th Int. Workshop on Variability Modelling of Software-intensive Systems (VaMoS), Linz, Austria (January 2010)

    Google Scholar 

  22. Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-Oriented Programming of Software Product Lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  23. Schaefer, I., Worret, A., Poetzsch-Heffter, A.: A model-based framework for automated product derivation. In: Model-driven Approaches in Software Product Line Engineering (MAPLE 2009) (2009)

    Google Scholar 

  24. Stenzel, K.: Verification of Java Card Programs. PhD thesis, Fakultät fur angewandte Informatik, University of Augsburg (2005)

    Google Scholar 

  25. Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3(3) (1995)

    Google Scholar 

  26. Wehrheim, H.: Slicing techniques for verification re-use. Theor. Comput. Sci. 343(3), 509–528 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  27. Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruns, D., Klebanov, V., Schaefer, I. (2011). Verification of Software Product Lines with Delta-Oriented Slicing. In: Beckert, B., Marché, C. (eds) Formal Verification of Object-Oriented Software. FoVeOOS 2010. Lecture Notes in Computer Science, vol 6528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-18070-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-18070-5_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-18069-9

  • Online ISBN: 978-3-642-18070-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics