A tool for analysing higher-order feature interactions in preprocessor annotations in C and C++ projects
Paper i 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.

Författare

David Korsman

Radboud Universiteit

Carlos Diego N. Damasceno

Radboud Universiteit

Daniel Strüber

Software Engineering 2

Göteborgs universitet

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,

Ämneskategorier (SSIF 2025)

Programvaruteknik

DOI

10.1145/3503229.3547027

Relaterade dataset

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

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

Mer information

Senast uppdaterat

2025-06-27