Resource-Aware Program Analysis Via Online Abstraction Coarsening

Kihong Heo, Hakjoo Oh, Hongseok Yang

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    20 Citations (Scopus)

    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 languageEnglish
    Title of host publicationProceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering, ICSE 2019
    PublisherIEEE Computer Society
    Pages94-104
    Number of pages11
    ISBN (Electronic)9781728108698
    DOIs
    Publication statusPublished - 2019 May
    Event41st IEEE/ACM International Conference on Software Engineering, ICSE 2019 - Montreal, Canada
    Duration: 2019 May 252019 May 31

    Publication series

    NameProceedings - International Conference on Software Engineering
    Volume2019-May
    ISSN (Print)0270-5257

    Conference

    Conference41st IEEE/ACM International Conference on Software Engineering, ICSE 2019
    Country/TerritoryCanada
    CityMontreal
    Period19/5/2519/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

    Fingerprint

    Dive into the research topics of 'Resource-Aware Program Analysis Via Online Abstraction Coarsening'. Together they form a unique fingerprint.

    Cite this