Feature-Interaction Aware Configuration Prioritization for Configurable Code
Son Nguyen, Hoan Nguyen, Ngoc Tran, Hieu Tran, Tien N. Nguyen

TL;DR
This paper introduces CoPro, a feature-interaction aware configuration prioritization method that effectively detects bugs in configurable software systems by ranking configurations based on potential bug count, outperforming existing techniques.
Contribution
The paper presents CoPro, a novel bug formulation and prioritization technique that improves early bug detection in configurable systems by leveraging feature interactions and program entities.
Findings
CoPro ranks buggy configurations in the top 3 positions 78% of the time.
CoPro outperforms state-of-the-art techniques when combined with advanced sampling algorithms.
CoPro discovers 17 previously unknown feature-interaction bugs.
Abstract
Unexpected interactions among features induce most bugs in a configurable software system. Exhaustively analyzing all the exponential number of possible configurations is prohibitively costly. Thus, various sampling techniques have been proposed to systematically narrow down the exponential number of legal configurations to be analyzed. Since analyzing all selected configurations can require a huge amount of effort, fault-based configuration prioritization, that helps detect faults earlier, can yield practical benefits in quality assurance. In this paper, we propose CoPro, a novel formulation of feature-interaction bugs via common program entities enabled/disabled by the features. Leveraging from that, we develop an efficient feature-interaction aware configuration prioritization technique for a configurable system by ranking the configurations according to their total number of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Software System Performance and Reliability
