Syntax-preserving program slicing for C-based software product lines
Year: 2024
Type: article
Abstract: Program slicing is a well-established technique for identifying a reduced subset of a program, leading to complexity reduction in subsequent activities.Despite extensive study over the past 40 years, slicing techniques for software product lines (SPLs) remain notably scarce.One reason for this deficiency is the complex nature of a common variability implementation: the use of C preprocessor #ifdef-annotations within C code.A slicing approach for C-based SPLs must address the intricate interplay between the C code and the functionality introduced by the C preprocessor.In this paper, we present a novel syntax-preserving program slicing approach for C-based SPLs.Unlike existing methods, our approach enables the computation of program slices through an integrated analysis of both C and CPP code, while preserving the original program syntax.This preservation ensures that the resulting program slices remain authentic subsets of the SPL, making them suitable inputs for variability-aware analyses.We empirically evaluate our approach on four distinct open-source SPLs, showcasing its effectiveness in generating diverse program slices tailored to different slicing criteria.Additionally, we demonstrate the practical applicability of these slices in the context of software transplantation, showcasing their potential for facilitating functionality transfer between different program versions.
Source: Journal of Systems and Software
Author: Lea Gerling
Institution: University of Hildesheim
Language: English
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: hybrid
Estimated APC paid: $3,710
OpenAlex ID: W4403464162
