scispace - formally typeset
Open AccessProceedings ArticleDOI

Proof Composition for Deductive Verification of Software Product Lines

TLDR
This work introduces a classification of existing software product line verification approaches, proposes proof composition as a novel approach and presents a case study to evaluate proof composition and demonstrates that it reduces the effort for verification.
Abstract
Software product line engineering aims at the efficient development of program variants that share a common set of features and that differ in other features. Product lines can be efficiently developed using feature-oriented programming. Given a feature selection and the code artifacts for each feature, program variants can be generated automatically. The quality of the program variants can be rigorously ensured by formal verification. However, verification of all program variants can be expensive and include redundant verification tasks. We introduce a classification of existing software product line verification approaches and propose proof composition as a novel approach. Proof composition generates correctness proofs of each program variant based on partial proofs of each feature. We present a case study to evaluate proof composition and demonstrate that it reduces the effort for verification.

read more

Content maybe subject to copyright    Report

Citations
More filters
BookDOI

Feature-Oriented Software Product Lines

TL;DR: Books and internet are the recommended media to help you improving your quality and performance.
Journal ArticleDOI

A Classification and Survey of Analysis Strategies for Software Product Lines

TL;DR: A classification of product-line analyses is proposed to enable systematic research and application in software-product-line engineering and develops a research agenda to guide future research on product- line analyses.
Proceedings ArticleDOI

Abstract Features in Feature Modeling

TL;DR: This work presents a technique based on propositional formulas that enables to reason about program variants rather than feature combinations, and can save effort that is caused by considering the same program variant multiple times, for example, in product-line testing.
Proceedings ArticleDOI

Family-based deductive verification of software product lines

TL;DR: This work presents a family-based approach of deductive verification to prove the correctness of a software product line efficiently and shows that the theorem prover KeY can be used off-the-shelf for this task, without any modifications.
Journal ArticleDOI

Feature-interaction detection based on feature-based specifications

TL;DR: An exploratory study on 10 feature-oriented systems found that the majority of feature interactions could be detected based on feature-based specifications, but some specifications have not been modularized properly and require undesirable workarounds to modularization.
References
More filters

The Coq proof assistant : reference manual, version 6.1

TL;DR: Coq V6.1 is a proof assistant based on a higher-order logic allowing powerful definitions of functions and is available by anonymous ftp at ftp.ens-lyon.fr/INRIA/Projects/coq/V 6.1.
Journal ArticleDOI

An Overview of Feature-Oriented Software Development.

TL;DR: An overview and a personal perspective on the roots of FOSD, connections to other software development paradigms, and recent developments in this field are given.
Journal ArticleDOI

Feature interaction: a critical review and considered forecast

TL;DR: The state of the art of the field of feature interactions in telecommunications services is reviewed, concentrating on three major research trends: software engineering approaches, formal methods, and on line techniques.
Journal Article

Feature-oriented programming : A fresh look at objects

TL;DR: In this paper, the authors propose a feature model as an extension of Java and give two translations to Java, one via inheritance and the other via aggregation, which generalizes inheritance and aggregation.
Book ChapterDOI

Feature-oriented programming: A fresh look at objects

TL;DR: The feature model is presented as an extension of Java and two translations to Java are given, one via inheritance and the other via aggregation, which generalizes inheritance and aggregation.