skip to main content
10.1145/2371401.2371404acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

Family-based deductive verification of software product lines

Published:26 September 2012Publication History

ABSTRACT

A software product line is a set of similar software products that share a common code base. While software product lines can be implemented efficiently using feature-oriented programming, verifying each product individually does not scale, especially if human effort is required (e.g., as in interactive theorem proving). We present a family-based approach of deductive verification to prove the correctness of a software product line efficiently. We illustrate and evaluate our approach for software product lines written in a feature-oriented dialect of Java and specified using the Java Modeling Language. We show that the theorem prover KeY can be used off-the-shelf for this task, without any modifications. Compared to the individual verification of each product, our approach reduces the verification time needed for our case study by more than 85%.

References

  1. S. Agostinho, A. Moreira, and P. Guerreiro. Contracts for Aspect-Oriented Design. In Proc. Workshop Software Engineering Properties of Languages and Aspect Technologies (SPLAT), pages 1:1--1:6, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type Safety for Feature-Oriented Product Lines. Automated Software Engineering, 17(3): 251--300, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Apel, C. Kästner, and C. Lengauer. Language-Independent and Automated Software Composition: The FeatureHouse Experience. IEEE Trans. Software Engineering (TSE), 2012. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Apel, S. S. Kolesnikov, J. Liebig, C. Kästner, M. Kuhlemann, and T. Leich. Access Control in Feature-Oriented Programming. Science of Computer Programming (SCP), 77(3): 174--187, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Apel, T. Leich, and G. Saake. Aspectual Feature Modules. IEEE Trans. Software Engineering (TSE), 34(2): 162--180, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Apel, H. Speidel, P. Wendler, A. von Rhein, and D. Beyer. Detection of Feature Interactions using Feature-Aware Verification. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 372--375, Washington, DC, USA, 2011. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Batory. Feature Models, Grammars, and Propositional Formulas. In Proc. Int'l Software Product Line Conference (SPLC), pages 7--20, Berlin, Heidelberg, New York, London, 2005. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Software Engineering (TSE), 30(6): 355--371, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Beckert, R. Hähnle, and P. Schmitt, editors. Verification of Object-Oriented Software: The KeY Approach. Springer, Berlin, Heidelberg, New York, London, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Bruns, V. Klebanov, and I. Schaefer. Verification of Software Product Lines with Delta-Oriented Slicing. In Proc. Int'l Conf. Formal Verification of Object-Oriented Software (FoVeOOS), pages 61--75, Berlin, Heidelberg, New York, London, 2011. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. Burdy, Y. Cheon, D. R. Cok, M. D. Ernst, J. R. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll. An Overview of JML Tools and Applications. Int'l J. Software Tools for Technology Transfer (STTT), 7(3): 212--232, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Classen, P. Heymans, P.-Y. Schobbens, and A. Legay. Symbolic Model Checking of Software Product Lines. In Proc. Int'l Conf. Software Engineering (ICSE), pages 321--330, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley, New York, NY, USA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Fantechi and S. Gnesi. Formal Modeling for Product Families Engineering. In Proc. Int'l Software Product Line Conference (SPLC), pages 193--202, Washington, DC, USA, 2008. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Gruler, M. Leucker, and K. Scheidemann. Modeling and Model Checking Software Product Lines. In Proc. IFIP Int'l Conf. Formal Methods for Open Object-based Distributed Systems (FMOODS), pages 113--131, Berlin, Heidelberg, New York, London, 2008. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Hähnle and I. Schaefer. A Liskov Principle for Delta-oriented Programming. In Proc. Int'l Conf. Formal Verification of Object-Oriented Software (FoVeOOS), pages 190--207, Karlsruhe, Germany, 2011. Technical Report 2011-26, Department of Informatics, Karlsruhe Institute of Technology.Google ScholarGoogle Scholar
  18. R. Hirschfeld, M. Perscheid, C. Schubert, and M. Appeltauer. Dynamic Contract Layers. In Proc. ACM Symposium on Applied Computing (SAC), pages 2169--2175, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J.-M. Jézéquel and B. Meyer. Design by Contract: The Lessons of Ariane. IEEE Computer, 30(1): 129--130, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  21. C. Kästner, S. Apel, T. Thüm, and G. Saake. Type Checking Annotation-Based Product Lines. Trans. Software Engineering and Methodology (TOSEM), 21(3), 2012. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Katz. Aspect Categories and Classes of Temporal Properties. In Trans. Aspect-Oriented Software Development, pages 106--134, Berlin, Heidelberg, New York, London, 2006. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Klaeren, E. Pulvermueller, A. Rashid, and A. Speck. Aspect Composition Applying the Design by Contract Principle. In Proc. Int'l Symposium Generative and Component-Based Software Engineering (GCSE), pages 57--69, Berlin, Heidelberg, New York, London, 2001. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Lauenroth, K. Pohl, and S. Toehning. Model Checking of Domain Artifacts in Product Line Engineering. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 269--280, Washington, DC, USA, 2009. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary Design of JML: A Behavioral Interface Specification Language for Java. SIGSOFT Softw. Eng. Notes, 31(3): 1--38, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. H. Lorenz and T. Skotiniotis. Extending Design by Contract for Aspect-Oriented Programming. Computing Research Repository (CoRR), abs/cs/0501070, 2005.Google ScholarGoogle Scholar
  27. B. Meyer. Applying Design by Contract. IEEE Computer, 25(10): 40--51, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. H. Post and C. Sinz. Configuration Lifting: Software Verification meets Software Configuration. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 347--350, Washington, DC, USA, 2008. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP), pages 419--443, Berlin, Heidelberg, New York, London, 1997. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  30. W. Scholz, T. Thüm, S. Apel, and C. Lengauer. Automatic Detection of Feature Interactions using the Java Modeling Language: An Experience Report. In Proc. Int'l Workshop Feature-Oriented Software Development (FOSD), pages 7: 1--7:8, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Tartler, D. Lohmann, J. Sincero, and W. Schröder-Preikschat. Feature Consistency in Compile-Time-Configurable System Software: Facing the Linux 10,000 Feature Problem. In Proc. Europ. Conf. Computer Systems (EuroSys), pages 47--60, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. T. Thüm. Verification of Software Product Lines Using Contracts. In Magdeburger Informatik Tage (MIT), 2012. To appear.Google ScholarGoogle Scholar
  33. T. Thüm, S. Apel, C. Kästner, M. Kuhlemann, I. Schaefer, and G. Saake. Analysis Strategies for Software Product Lines. Technical Report FIN-004-2012, School of Computer Science, University of Magdeburg, Germany, 2012.Google ScholarGoogle Scholar
  34. T. Thüm, I. Schaefer, M. Kuhlemann, and S. Apel. Proof Composition for Deductive Verification of Software Product Lines. In Proc. Int'l Workshop Variability-intensive Systems Testing, Validation and Verification (VAST), pages 270--277, Washington, DC, USA, 2011. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. T. Thüm, I. Schaefer, M. Kuhlemann, S. Apel, and G. Saake. Applying Design by Contract to Feature-Oriented Programming. In Proc. Int'l Conf. Fundamental Approaches to Software Engineering (FASE), pages 255--269, Berlin, Heidelberg, New York, London, 2012. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. Zhao and M. C. Rinard. Pipa: A Behavioral Interface Specification Language for AspectJ. In Proc. Int'l Conf. Fundamental Approaches to Software Engineering (FASE), pages 150--165, Berlin, Heidelberg, New York, London, 2003. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Family-based deductive verification of software product lines

              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 Conferences
                GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component Engineering
                September 2012
                148 pages
                ISBN:9781450311298
                DOI:10.1145/2371401
                • cover image ACM SIGPLAN Notices
                  ACM SIGPLAN Notices  Volume 48, Issue 3
                  GPCE '12
                  March 2013
                  140 pages
                  ISSN:0362-1340
                  EISSN:1558-1160
                  DOI:10.1145/2480361
                  Issue’s Table of Contents

                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: 26 September 2012

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate56of180submissions,31%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader