kirancodes.me
To Proof Maintenance & Beyond!

SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software

Dennis Reuling, Udo Kelter, Sebastian Ruland, Malte Lochau

Abstract

Modern software often exists in many different, yet similar versions and/or variants, usually derived from a common code base (e.g., via clone-and-own). In the context of product-line engineering, family-based analysis has shown very promising potential for improving efficiency in applying quality-assurance techniques to variant-rich software, as compared to a variant-by-variant approach. Unfortunately, these strategies rely on a product-line representation superimposing all program variants in a syntactically well-formed, semantically sound and variant-preserving manner, which is manually hard to obtain in practice. We demonstrate the SiMPOSE methodology for automatically generating superimpositions of N given program versions and/or variants facilitating family-based analysis of variant-rich software. SiMPOSE is based on a novel N-way model-merging technique operating at the level of control-flow automata (CFA) representations of C programs. CFAs constitute a unified program abstraction utilized by many recent software-analysis tools. We illustrate different merging strategies supported by SiMPOSE, namely variant-by-variant, N-way merging, incremental 2-way merging, and partition-based N/2-way merging, and demonstrate how SiMPOSE can be used to systematically compare their impact on efficiency and effectiveness of family-based unit-test generation. The SiMPOSE tool, the demonstration of its usage as well as related artifacts and documentation can be found at http://pi.informatik.uni-siegen.de/projects/variance/simpose.

BibTeX
@inproceedings{Reuling-al:ASE19,
  author    = {Dennis Reuling and
               Udo Kelter and
               Sebastian Ruland and
               Malte Lochau},
  title     = {{SiMPOSE} - Configurable {N-Way} Program Merging Strategies for {Superimposition-Based} Analysis of {Variant-Rich} Software},
  booktitle = {ASE},
  pages     = {1134--1137},
  publisher = {{IEEE}},
  year      = {2019},
}

Related papers