(2021) Delta-based Verification of Software Product Families.
|
Text
main_acm.pdf - Accepted Version Download (664kB) | Preview |
Abstract
The quest for feature- and family-oriented deductive verification of software product lines resulted in several proposals. In this paper we look at delta-oriented modeling of product lines and combine two new ideas: first, we extend Hähnle & Schaefer’s delta-oriented version of Liskov’s substitution principle for behavioral subtyping to work also for overridden behavior in benign cases. For this to succeed, programs need to be in a certain normal form. The required normal form turns out to be achievable in many cases by a set of program transformations, whose correctness is ensured by the recent technique of abstract execution. This is a generalization of symbolic execution that permits reasoning about abstract code elements. It is needed, because code deltas contain partially unknown code contexts in terms of “original” calls. Second, we devise a modular verification procedure for deltas based on abstract execution, representing deltas as abstract programs calling into unknown contexts. The result is a “delta-based” verification approach, where each modification of a method in a code delta is verified in isolation, but which overcomes the strict limitations of behavioral subtyping and works for many practical programs. The latter claim is substantiated with case studies and benchmarks.
Item Type: | Conference or Workshop Item (A Paper) (Paper) |
---|---|
Divisions: | Andreas Zeller (Software Engineering, ST) |
Conference: | GPCE International Conference on Generative Programming and Component Engineering |
Depositing User: | Dominic Steinhöfel |
Date Deposited: | 19 Oct 2021 09:56 |
Last Modified: | 19 Oct 2021 09:56 |
Primary Research Area: | NRA5: Empirical & Behavioral Security |
URI: | https://publications.cispa.saarland/id/eprint/3509 |
Actions
Actions (login required)
View Item |