Transfer Learning with Bellwethers to find Good Configurations
Vivek Nair, Rahul Krishna, Tim Menzies, Pooyan Jamshidi

TL;DR
This paper introduces BEETLE, a transfer learning approach using bellwethers to efficiently find near-optimal software configurations, significantly reducing measurement costs while maintaining or improving performance.
Contribution
The paper proposes BEETLE, a novel bellwether-based transfer learning scheme that outperforms existing methods in configuration optimization with lower data collection costs.
Findings
BEETLE outperforms state-of-the-art methods in 61 scenarios.
BEETLE requires only 1/7th of the evaluations compared to existing approaches.
BEETLE consistently finds configurations as good or better than previous methods.
Abstract
As software systems grow in complexity, the space of possible configurations grows exponentially. Within this increasing complexity, developers, maintainers, and users cannot keep track of the interactions between all the various configuration options. Finding the optimally performing configuration of a software system for a given setting is challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, collecting enough data on enough sample configurations can be very expensive since each such sample requires configuring, compiling and executing the entire system against a complex test suite. The central insight of this paper is that choosing a suitable source (a.k.a. "bellwether") to learn from, plus a simple transfer learning scheme will often outperform much more complex transfer learning methods. Using this…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
