A Generator Framework For Evolving Variant-Rich Software

12/02/2021
by   Christoph Derks, et al.
0

Evolving software is challenging, even more when it exists in many different variants. Such software evolves not only in time, but also in space–another dimension of complexity. While evolution in space is supported by a variety of product-line and variability management tools, many of which originating from research, their level of evaluation varies significantly, which threatens their relevance for practitioners and future research. Many tools have only been evaluated on ad hoc datasets, minimal examples or available preprocessor-based product lines, missing the early clone own phases and the re-engineering into configurable platforms–large parts of the actual evolution lifecycle of variant-rich systems. Our long-term goal is to provide benchmarks to increase the maturity of evaluating such tools. However, providing manually curated benchmarks that cover the whole evolution lifecycle and that are detailed enough to serve as ground truths, is challenging. We present the framework vpbench to generates source-code histories of variant-rich systems. Vpbench comprises several modular generators relying on evolution operators that systematically and automatically evolve real codebases and document the evolution in detail. We provide simple and more advanced generators–e.g., relying on code transplantation techniques to obtain whole features from external, real-world projects. We define requirements and demonstrate how vpbench addresses them for the generated version histories, focusing on support for evolution in time and space, the generation of detailed meta-data about the evolution, also considering compileability and extensibility.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2021

Seamless Variability Management With the Virtual Platform

Customization is a general trend in software engineering, demanding syst...
research
10/15/2022

Call Graph Evolution Analytics over a Version Series of an Evolving Software System

Call Graph evolution analytics can aid a software engineer when maintain...
research
11/22/2020

Modular Moose: A new generation software reverse engineering environment

Advanced reverse engineering tools are required to cope with the complex...
research
03/16/2022

On the evolution and impact of Architectural Smells – An industrial case study

Architectural smells (AS) are notorious for their long-term impact on th...
research
03/27/2007

Automatic Generation of Benchmarks for Plagiarism Detection Tools using Grammatical Evolution

This paper has been withdrawn by the authors due to a major rewriting....
research
06/06/2023

A Reference Framework for Variability Management of Software Product Lines

Variability management (VM) in software product line engineering (SPLE) ...
research
06/14/2021

JUGE: An Infrastructure for Benchmarking Java Unit Test Generators

Researchers and practitioners have designed and implemented various auto...

Please sign up or login with your details

Forgot password? Click here to reset