Title | ||
---|---|---|
SiMPOSE: configurable N-way program merging strategies for superimposition-based analysis of variant-rich software |
Abstract | ||
---|---|---|
ABSTRACTModern 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. |
Year | DOI | Venue |
---|---|---|
2019 | 10.1109/ASE.2019.00120 | ASE |
Keywords | Field | DocType |
Program Merging, Model Merging, Software Testing, Family-Based Analyses | Superimposition,Abstraction,Computer science,Automaton,Theoretical computer science,Software,Merge (version control),Documentation,Common code,Software testing | Conference |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Dennis Reuling | 1 | 49 | 3.74 |
Udo Kelter | 2 | 546 | 88.62 |
Sebastian Ruland | 3 | 0 | 1.01 |
Malte Lochau | 4 | 548 | 35.64 |