Using Abstract Contracts for Verifying Evolving Features and Their Interactions

A. Knüppel, S. Krüger, T. Thüm, R. Bubel, S. Krieter, E. Bodden, I. Schaefer, in: Lecture Notes in Computer Science, Cham, 2020.

Download
No fulltext has been uploaded.
Book Chapter | Published | English
Author
; ; ; ; ; ;
Abstract
Today, software systems are rarely developed monolithically, but may be composed of numerous individually developed features. Their modularization facilitates independent development and verification. While feature-based strategies to verify features in isolation have existed for years, they cannot address interactions between features. The problem with feature interactions is that they are typically unknown and may involve any subset of the features. Contrary, a family-based verification strategy captures feature interactions, but does not scale well when features evolve frequently. To the best of our knowledge, there currently exists no approach with focus on evolving features that combines both strategies and aims at eliminating their respective drawbacks. To fill this gap, we introduce Fefalution, a feature-family-based verification approach based on abstract contracts to verify evolving features and their interactions. Fefalution builds partial proofs for each evolving feature and then reuses the resulting partial proofs in verifying feature interactions, yielding a full verification of the complete software system. Moreover, to investigate whether a combination of both strategies is fruitful, we present the first empirical study for the verification of evolving features implemented by means of feature-oriented programming and by comparing Fefalution with another five family-based approaches varying in a set of optimizations. Our results indicate that partial proofs based on abstract contracts exhibit huge reuse potential, but also come with a substantial overhead for smaller evolution scenarios.
Publishing Year
Book Title
Lecture Notes in Computer Science
LibreCat-ID

Cite this

Knüppel A, Krüger S, Thüm T, et al. Using Abstract Contracts for Verifying Evolving Features and Their Interactions. In: Lecture Notes in Computer Science. Cham; 2020. doi:10.1007/978-3-030-64354-6_5
Knüppel, A., Krüger, S., Thüm, T., Bubel, R., Krieter, S., Bodden, E., & Schaefer, I. (2020). Using Abstract Contracts for Verifying Evolving Features and Their Interactions. In Lecture Notes in Computer Science. Cham. https://doi.org/10.1007/978-3-030-64354-6_5
@inbook{Knüppel_Krüger_Thüm_Bubel_Krieter_Bodden_Schaefer_2020, place={Cham}, title={Using Abstract Contracts for Verifying Evolving Features and Their Interactions}, DOI={10.1007/978-3-030-64354-6_5}, booktitle={Lecture Notes in Computer Science}, author={Knüppel, Alexander and Krüger, Stefan and Thüm, Thomas and Bubel, Richard and Krieter, Sebastian and Bodden, Eric and Schaefer, Ina}, year={2020} }
Knüppel, Alexander, Stefan Krüger, Thomas Thüm, Richard Bubel, Sebastian Krieter, Eric Bodden, and Ina Schaefer. “Using Abstract Contracts for Verifying Evolving Features and Their Interactions.” In Lecture Notes in Computer Science. Cham, 2020. https://doi.org/10.1007/978-3-030-64354-6_5.
A. Knüppel et al., “Using Abstract Contracts for Verifying Evolving Features and Their Interactions,” in Lecture Notes in Computer Science, Cham, 2020.
Knüppel, Alexander, et al. “Using Abstract Contracts for Verifying Evolving Features and Their Interactions.” Lecture Notes in Computer Science, 2020, doi:10.1007/978-3-030-64354-6_5.

Export

Marked Publications

Open Data LibreCat

Search this title in

Google Scholar
ISBN Search