Mining assumptions for software components using machine learning
Khouloud Gaaloul, Claudio Menghi, Shiva Nejati, Lionel C. Briand, David Wolfe
Abstract
Software verification approaches aim to check a software component under analysis for all possible environments. In reality, however, components are expected to operate within a larger system and are required to satisfy their requirements only when their inputs are constrained by environment assumptions. In this paper, we propose EPIcuRus, an approach to automatically synthesize environment assumptions for a component under analysis (i.e., conditions on the component inputs under which the component is guaranteed to satisfy its requirements). EPIcuRus combines search-based testing, machine learning and model checking. The core of EPIcuRus is a decision tree algorithm that infers environment assumptions from a set of test results including test cases and their verdicts. The test cases are generated using search-based testing, and the assumptions inferred by decision trees are validated through model checking. In order to improve the efficiency and effectiveness of the assumption generation process, we propose a novel test case generation technique, namely Important Features Boundary Test (IFBT), that guides the test generation based on the feedback produced by machine learning. We evaluated EPIcuRus by assessing its effectiveness in computing assumptions on a set of study subjects that include 18 requirements of four industrial models. We show that, for each of the 18 requirements, EPIcuRus was able to compute an assumption to ensure the satisfaction of that requirement, and further, ≈78% of these assumptions were computed in one hour.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 663f7610-3b90-4703-8e65-d94271df005fCited by top-tier papers3
- Consistent Scene Graph Generation by Constraint OptimizationBoqi Chen, Kristóf Marussy, Sebastian Pilarski, Oszkár Semeráth et al.ASE 2022 · 5 citations
- Automated Repair of Requirements for Cyber-Physical Systems in Simulink Requirements TablesAren A. Babikian, Alessio Di Sandro, Federico Formica, Claudio Menghi et al.FSE 2026
- Uncovering Discrimination Clusters: Quantifying and Explaining Systematic Fairness ViolationsRanit Debnath Akash, Ashish Kumar, Verya Monjezi, Ashutosh Trivedi et al.ASE 2025
Related papers
- Versatile Verification of Tree EnsemblesLaurens Devos, Wannes Meert, Jesse DavisICML 2021 · 16 citations
- Higher income, larger loan? monotonicity testing of machine learning modelsArnab Sharma, Heike WehrheimISSTA 2020 · 12 citations
- API-Knowledge Aware Search-Based Software Testing: Where, What, and HowXiaoxue Ren, Xinyuan Ye, Yun Lin, Zhenchang Xing et al.FSE 2023 · 4 citations
- Automated Assertion Generation via Information Retrieval and Its Integration with Deep learningHao Yu, Yiling Lou, Ke Sun, Dezhi Ran et al.ICSE 2022 · 42 citations
- Data-driven Numerical Invariant Synthesis with Automatic Generation of AttributesAhmed Bouajjani, Wael-Amine Boutglay, Peter HabermehlCAV 2022 · 5 citations
