A goal of software product lines is the economical synthesis of programs in a family of programs. In this paper, we explain how theorems about program properties can be integrated into feature-based development of software product lines. As a case study, we analyze an existing Java/JVM compilation correctness proof for defining, interpreting, compiling, and executing bytecode for the Java language. We explain how features modularize both programs and theorems. By composing features, the source code and theorems for a program are synthesized. Generated theorems may then be certified manually or automatically using a proof checker, opening a new line of research in verification.
To prove the correctness of a program (written in a high level programming language) with respect t...
Existing verification technology, though theoretically adequate, is not directly applicable to the ...
A software product line is a set of similar software products that share a common code base. While s...
A goal of software product lines is the economical assembly of programs in a family of programs. In ...
The verification of software product lines is an active research area. A challenge is to efficientl...
textFeatures are increments in program functionality. Feature abstraction, the process of abstracti...
The verification of software product lines is an active re-search area. A challenge is to efficientl...
textComplex systems are naturally understood as combinations of their distinguishing characteristics...
ISBN 978-3-540-77683-3, ISSN 0302-9743(Print) 1611-3349 (Online). Extended abstract "Couplin...
The ultimate goal of program verification is not the theory behind the tools or the tools themselves...
Abstract. A software product-line is a family of related programs. Each program is defined by a uniq...
The ultimate goal of program verification is not the theory behind the tools or the tools themselves...
Formal verification of compiler correctness requires substantial effort. A particular challenge is l...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
To prove the correctness of a program (written in a high level programming language) with respect t...
Existing verification technology, though theoretically adequate, is not directly applicable to the ...
A software product line is a set of similar software products that share a common code base. While s...
A goal of software product lines is the economical assembly of programs in a family of programs. In ...
The verification of software product lines is an active research area. A challenge is to efficientl...
textFeatures are increments in program functionality. Feature abstraction, the process of abstracti...
The verification of software product lines is an active re-search area. A challenge is to efficientl...
textComplex systems are naturally understood as combinations of their distinguishing characteristics...
ISBN 978-3-540-77683-3, ISSN 0302-9743(Print) 1611-3349 (Online). Extended abstract "Couplin...
The ultimate goal of program verification is not the theory behind the tools or the tools themselves...
Abstract. A software product-line is a family of related programs. Each program is defined by a uniq...
The ultimate goal of program verification is not the theory behind the tools or the tools themselves...
Formal verification of compiler correctness requires substantial effort. A particular challenge is l...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
To prove the correctness of a program (written in a high level programming language) with respect t...
Existing verification technology, though theoretically adequate, is not directly applicable to the ...
A software product line is a set of similar software products that share a common code base. While s...