Affiliation:
1. IT University of Copenhagen, Denmark
2. Federal University of Alagoas, Brazil
Abstract
Variability-sensitive verification pursues effective analysis of the exponentially many variants of a program family. Several variability-aware techniques have been proposed, but researchers still lack examples of concrete bugs induced by variability, occurring in real large-scale systems. A collection of real world bugs is needed to evaluate tool implementations of variability-sensitive analyses by testing them on real bugs. We present a qualitative study of 98 diverse variability bugs (i.e., bugs that occur in some variants and not in others) collected from bug-fixing commits in the Linux, Apache, BusyBox, and Marlin repositories. We analyze each of the bugs, and record the results in a database. For each bug, we create a self-contained simplified version and a simplified patch, in order to help researchers who are not experts on these subject studies to understand them, so that they can use these bugs for evaluation of their tools. In addition, we provide single-function versions of the bugs, which are useful for evaluating intra-procedural analyses. A web-based user interface for the database allows to conveniently browse and visualize the collection of bugs. Our study provides insights into the nature and occurrence of variability bugs in four highly-configurable systems implemented in C/C++, and shows in what ways variability hinders comprehension and the uncovering of software bugs.
Publisher
Association for Computing Machinery (ACM)
Cited by
49 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automated program repair for variability bugs in software product line systems;Journal of Systems and Software;2024-08
2. Variability-Aware Differencing with DiffDetective;Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering;2024-07-10
3. Options Matter: Documenting and Fixing Non-Reproducible Builds in Highly-Configurable Systems;Proceedings of the 21st International Conference on Mining Software Repositories;2024-04-15
4. ROBUST: 221 bugs in the Robot Operating System;Empirical Software Engineering;2024-03-23
5. Navigating Expertise in Configurable Software Systems through the Maze of Variability;2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER);2024-03-12