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 2012 Publication 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.
[2]
K. R. Apt. Ten years of Hoare's logic: A survey --- Part I. ACM TOPLAS, 3(4): 431--483, Oct. 1981.
[3]
K. R. Apt, F. S. de Boer, and E.-R. Olderog. Verification of Sequential and Concurrent Systems. Springer, 2009.
[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.
[5]
D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, LNCS 3714, pp. 7--20. Springer, 2005.
[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.
[7]
B. Beckert, R. Hähnle, and P. H. Schmitt, editors. Verification of Object-Oriented Software: The KeY Approach, LNCS 4334. Springer, 2007.
[8]
L. Bettini, F. Damiani, D. Meglio, I. Schaefer, and F. Strocco. DeltaJ website (New Version), September 2011. http://deltaj.sourceforge.net/.
[9]
D. Bruns, V. Klebanov, and I. Schaefer. Verification of software product lines with delta-oriented slicing. In FoVeOOS 2010, LNCS 6528. Springer, 2011.
[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.
[11]
F. S. de Boer. A WP-calculus for OO. In FOSSACS, LNCS 1578, pp. 135--149. Springer, 1999.
[12]
B. Delaware, W. Cook, and D. Batory. A Machine-Checked Model of Safe Composition. In FOAL, pp. 31--35. ACM, 2009.
[13]
B. Delaware, W. Cook, and D. Batory. Theorem Proving for Product Lines. In OOPSLA'11, 2011.
[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.
[15]
R. Hähnle and I. Schafer. A Liskov Principle for Delta-oriented Programming. In FoVeOOS 2011, LNCS 7421. Springer, 2012.
[16]
C. A. R. Hoare. An Axiomatic Basis of Computer Programming. Comm. ACM, 12: 576--580, 1969.
[17]
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6(4): 319--340, 1976.
[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.
[19]
I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In AOSD. ACM, 2011.
[20]
I. Schaefer and R. Hähnle. Formal methods in software product line engineering. IEEE Computer, 44(2): 82--85, 2011.
[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.
[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.

Cited By

View all
  • (2025)A structural taxonomy for lifted software product line analysesJournal of Systems and Software10.1016/j.jss.2024.112280222(112280)Online publication date: Apr-2025
  • (2021)Delta-based verification of software product familiesProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487200(69-82)Online publication date: 17-Oct-2021
  • (2020)On Slicing Software Product Line SignaturesLeveraging Applications of Formal Methods, Verification and Validation: Verification Principles10.1007/978-3-030-61362-4_5(81-102)Online publication date: 29-Oct-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

  • Pure-Systems: Pure-Systems GmbH
  • Petrobras: Petróleo Brasileiro S/A
  • SEBRAE: Serviço Brasileiro de Apoio às Micro E Pequenas Empresas
  • FAPESB: Fundação de Amparo à Pesquisa do Estado da Bahia
  • Hitachi
  • INES: National Institute of Science and Technology for Software Engineering
  • IEEE: Institute of Electrical and Electronics Engineers
  • Software Eng Inst: Software Engineering Institute
  • Biglever: BigLever Software, Inc.
  • CAPES: Brazilian Higher Education Funding Council

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. program verification
  2. proof system
  3. software product line

Qualifiers

  • Research-article

Conference

SPLC - Vol. II
Sponsor:
  • Pure-Systems
  • Petrobras
  • SEBRAE
  • FAPESB
  • INES
  • IEEE
  • Software Eng Inst
  • Biglever
  • CAPES

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)A structural taxonomy for lifted software product line analysesJournal of Systems and Software10.1016/j.jss.2024.112280222(112280)Online publication date: Apr-2025
  • (2021)Delta-based verification of software product familiesProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487200(69-82)Online publication date: 17-Oct-2021
  • (2020)On Slicing Software Product Line SignaturesLeveraging Applications of Formal Methods, Verification and Validation: Verification Principles10.1007/978-3-030-61362-4_5(81-102)Online publication date: 29-Oct-2020
  • (2019)Feature-oriented contract compositionJournal of Systems and Software10.1016/j.jss.2019.01.044152:C(83-107)Online publication date: 1-Jun-2019
  • (2018)A novel model-based testing approach for software product linesSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0516-216:4(1223-1251)Online publication date: 21-Dec-2018
  • (2018)A core calculus for dynamic delta-oriented programmingActa Informatica10.1007/s00236-017-0293-655:4(269-307)Online publication date: 1-Jun-2018
  • (2017)Hoare-Style Reasoning from Multiple ContractsIntegrated Formal Methods10.1007/978-3-319-66845-1_17(263-278)Online publication date: 27-Aug-2017
  • (2017)Abstraction Refinement for the Analysis of Software Product LinesTests and Proofs10.1007/978-3-319-61467-0_1(3-20)Online publication date: 18-Jun-2017
  • (2016)Product-line maintenance with emergent contract interfacesProceedings of the 20th International Systems and Software Product Line Conference10.1145/2934466.2934471(134-143)Online publication date: 16-Sep-2016
  • (2016)Variability Hiding in Contracts for Dependent Software Product LinesProceedings of the 10th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/2866614.2866628(97-104)Online publication date: 27-Jan-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media