A Tool for Analysing Higher-Order Feature Interactions in Preprocessor Annotations in C and C++ Projects. Korsman, D., Strüber, D., & Damasceno, C. D. N. In Proceedings of the 26th International Systems and Software Product Line Conference, of SPLC '22, 2022.
abstract   bibtex   
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. The source code and a demo video are available on GitHub at https://github.com/dkorsman/pdparser.
@inproceedings{korsman2022:splc:demoandtool:pdparser,
    author = {Korsman, David and Strüber, Daniel and Damasceno, Carlos Diego Nascimento },
    title = {A Tool for Analysing Higher-Order Feature Interactions in Preprocessor Annotations in C and C++ Projects},
    year = {2022},
    _url = {https://doi.org/10.1145/3336294.3336307},
    _doi = {10.1145/3336294.3336307},
    abstract = {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. The source code and a demo video are available on GitHub at https://github.com/dkorsman/pdparser.},
    booktitle = {Proceedings of the 26th International Systems and Software Product Line Conference},
    location = {Graz, Austria},
    series = {SPLC '22},
    pdf       = {splc2022_korsman_demotool.pdf},
    website   = {https://github.com/dkorsman/pdparser},
    bibtex_show = false,
}

Downloads: 0