Abstract
We present a new learning-based approach for accel-erating disjunctive static bug-finders. Industrial static bug-finders usually perform disjunctive analysis, differentiating program states along different execution paths of a program. Such path-sensitivity is essential for reducing false positives but it also increases analysis costs exponentially. Therefore, practical bug-finders use a state-selection heuristic to keep track of a small number of beneficial states only. However, designing a good heuristic for real-world programs is challenging; as a result, modern static bug-finders still suffer from low cost/bug-finding efficiency. In this paper, we aim to address this problem by learning effective state-selection heuristics from data. To this end, we present a novel data-driven technique that efficiently collects alarm-triggering traces, learns multiple candidate models, and adaptively chooses the best model tailored for each target program. We evaluate our approach with Infer and show that our technique significantly improves Infer's bug-finding efficiency for a range of open-source C programs.
Original language | English |
---|---|
Title of host publication | Proceedings - 2023 IEEE/ACM 45th International Conference on Software Engineering, ICSE 2023 |
Publisher | IEEE Computer Society |
Pages | 1097-1109 |
Number of pages | 13 |
ISBN (Electronic) | 9781665457019 |
DOIs | |
Publication status | Published - 2023 |
Event | 45th IEEE/ACM International Conference on Software Engineering, ICSE 2023 - Melbourne, Australia Duration: 2023 May 15 → 2023 May 16 |
Publication series
Name | Proceedings - International Conference on Software Engineering |
---|---|
ISSN (Print) | 0270-5257 |
Conference
Conference | 45th IEEE/ACM International Conference on Software Engineering, ICSE 2023 |
---|---|
Country/Territory | Australia |
City | Melbourne |
Period | 23/5/15 → 23/5/16 |
Bibliographical note
Publisher Copyright:© 2023 IEEE.
Keywords
- machine learning
- static analysis
ASJC Scopus subject areas
- Software