Abstract
We present a new technique for developing a resource-aware program analysis. Such an analysis is aware of constraints on available physical resources, such as memory size, tracks its resource use, and adjusts its behaviors during fixpoint computation in order to meet the constraint and achieve high precision. Our resource-aware analysis adjusts behaviors by coarsening program abstraction, which usually makes the analysis consume less memory and time until completion. It does so multiple times during the analysis, under the direction of what we call a controller. The controller constantly intervenes in the fixpoint computation of the analysis and decides how much the analysis should coarsen the abstraction. We present an algorithm for learning a good controller automatically from benchmark programs. We applied our technique to a static analysis for C programs, where we control the degree of flow-sensitivity to meet a constraint on peak memory consumption. The experimental results with 18 real-world programs show that our algorithm can learn a good controller and the analysis with this controller meets the constraint and utilizes available memory effectively.
Original language | English |
---|---|
Title of host publication | Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering, ICSE 2019 |
Publisher | IEEE Computer Society |
Pages | 94-104 |
Number of pages | 11 |
ISBN (Electronic) | 9781728108698 |
DOIs | |
Publication status | Published - 2019 May |
Event | 41st IEEE/ACM International Conference on Software Engineering, ICSE 2019 - Montreal, Canada Duration: 2019 May 25 → 2019 May 31 |
Publication series
Name | Proceedings - International Conference on Software Engineering |
---|---|
Volume | 2019-May |
ISSN (Print) | 0270-5257 |
Conference
Conference | 41st IEEE/ACM International Conference on Software Engineering, ICSE 2019 |
---|---|
Country/Territory | Canada |
City | Montreal |
Period | 19/5/25 → 19/5/31 |
Bibliographical note
Funding Information:We thank Mayur Naik and Kee-Eung Kim for helpful comments. Oh was supported by Samsung Research Funding & Incubation Center of Samsung Electronics under Project Number SRFC-IT1701-09. Yang was supported by the Engineering Research Center Program through the National Research Foundation of Korea (NRF) funded by the Korean Government MSIT (NRF-2018R1A5A1059921), and also by Next-Generation Information Computing Development Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science, ICT (2017M3C4A7068177).
Publisher Copyright:
© 2019 IEEE.
Keywords
- learning
- resource constraint
- static analysis
ASJC Scopus subject areas
- Software