skip to main content
10.1145/2364412.2364422acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

A transformational proof system for delta-oriented programming

Published:02 September 2012Publication History

ABSTRACT

Delta-oriented programming is a modular, yet flexible technique to implement software product lines. To efficiently verify the specifications of all possible product variants of a product line, it is usually infeasible to generate all product variants and to verify them individually. To counter this problem, we propose a transformational proof system in which the specifications in a delta module describe changes to previous specifications. Our approach allows each delta module to be verified in isolation, based on symbolic assumptions for calls to methods which may be in other delta modules. When product variants are generated from delta modules, these assumptions are instantiated by the actual guarantees of the methods in the considered product variant and used to derive the specifications of this product variant.

References

  1. S. Apel, C. Kästner, A. Grösslinger, and C. Lengauer. Type safety for feature-oriented product lines. Automated Software Engineering, 17(3): 251--300, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. K. R. Apt. Ten years of Hoare's logic: A survey --- Part I. ACM TOPLAS, 3(4): 431--483, Oct. 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. R. Apt, F. S. de Boer, and E.-R. Olderog. Verification of Sequential and Concurrent Systems. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Asirelli, M. H. ter Beek, S. Gnesi, and A. Fantechi. Deontic logics for modeling behavioural variability. In VaMoS, pp. 71--76, January 2009.Google ScholarGoogle Scholar
  5. D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, LNCS 3714, pp. 7--20. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. S. Batory and E. Börger. Modularizing theorems for software product lines: The Jbook case study. J. UCS, 14(12): 2059--2082, 2008.Google ScholarGoogle Scholar
  7. B. Beckert, R. Hähnle, and P. H. Schmitt, editors. Verification of Object-Oriented Software: The KeY Approach, LNCS 4334. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Bettini, F. Damiani, D. Meglio, I. Schaefer, and F. Strocco. DeltaJ website (New Version), September 2011. http://deltaj.sourceforge.net/.Google ScholarGoogle Scholar
  9. D. Bruns, V. Klebanov, and I. Schaefer. Verification of software product lines with delta-oriented slicing. In FoVeOOS 2010, LNCS 6528. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model checking lots of systems: Efficient verification of temporal properties in software product lines. In ICSE. IEEE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. S. de Boer. A WP-calculus for OO. In FOSSACS, LNCS 1578, pp. 135--149. Springer, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Delaware, W. Cook, and D. Batory. A Machine-Checked Model of Safe Composition. In FOAL, pp. 31--35. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Delaware, W. Cook, and D. Batory. Theorem Proving for Product Lines. In OOPSLA'11, 2011.Google ScholarGoogle Scholar
  14. J. Dovland, E. B. Johnsen, O. Owe, and M. Steffen. Lazy behavioral subtyping. Journal of Logic and Algebraic Programming, 79(7): 578--607, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  15. R. Hähnle and I. Schafer. A Liskov Principle for Delta-oriented Programming. In FoVeOOS 2011, LNCS 7421. Springer, 2012.Google ScholarGoogle Scholar
  16. C. A. R. Hoare. An Axiomatic Basis of Computer Programming. Comm. ACM, 12: 576--580, 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6(4): 319--340, 1976.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-oriented Programming of Software Product Lines. In SPLC, LNCS 6287, pp. 77--91. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In AOSD. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. I. Schaefer and R. Hähnle. Formal methods in software product line engineering. IEEE Computer, 44(2): 82--85, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Thüm, S. Apel, C. Kästner, M. Kuhlemann, I. Schaefer, and G. Saake. Analysis Strategies for Software Product Lines. Tech. Rep. FIN-004-2012, School of Comp. Science, Univ. of Magdeburg, Germany, Apr. 2012.Google ScholarGoogle Scholar
  22. T. Thüm, I. Schaefer, M. Kuhlemann, and S. Apel. Proof composition for deductive verification of software product lines. In VAST, pp. 270--277. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A transformational proof system for delta-oriented programming

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2
        September 2012
        287 pages
        ISBN:9781450310956
        DOI:10.1145/2364412

        Copyright © 2012 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 September 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate167of463submissions,36%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader