A tool for analysing higher-order feature interactions in preprocessor annotations in C and C++ projects
Paper in proceeding, 2022

Feature interactions are an intricate phenomenon: they can add value to software systems, but also lead to subtle bugs and complex, emergent behavior. Having a clearer understanding of feature interactions in practice can help practitioners to select appropriate quality assurance techniques for their systems and researchers to guide further research efforts. In this paper, we present pdparser, a Python-based tool for analysing structural feature interactions in software systems developed with C and C++ preprocessor. Our tool relies on a lightweight methodology to quantify the frequency of pairwise and higher-order feature interactions and the percentage of code affected by them. We showcase the individual characteristics brought forward by the automated analysis of one toy example and two open-source text editors: Vim and Emacs.

Author

David Korsman

Radboud University

Carlos Diego N. Damasceno

Radboud University

Daniel Strüber

Software Engineering 2

University of Gothenburg

26th ACM International Systems and Software Product Line Conference, SPLC 2022 - Proceedings

Vol. B 70-73
9781450392068 (ISBN)

26th ACM International Systems and Software Product Line Conference, ASPLC 2022
Graz, Austria,

Subject Categories (SSIF 2025)

Software Engineering

DOI

10.1145/3503229.3547027

Related datasets

Source code and a demo video are available on GitHub [dataset]

URI: https://github.com/dkorsman/pdparser

More information

Latest update

6/27/2025