PLDI 2024
Mon 24 - Fri 28 June 2024 Copenhagen, Denmark
Tue 25 Jun 2024 11:50 - 12:10 at Reykjavik - SOAP II Chair(s): Luca Negrini

This paper presents a new approach for using Large Language Models (LLMs) to improve static program analysis. Specifically, during program analysis, we \emph{interleave} calls to the static analyzer
and queries to the LLM: the prompt used to query the LLM is constructed using intermediate results from the static analysis, and the result from the LLM query is used for subsequent analysis of the program. We apply this novel approach to the problem of error-specification inference of functions in systems code written in C; i.e., inferring the set of values returned by each function upon error, which can aid in program understanding as well as in finding error-handling bugs. We evaluate our approach on real-world C programs, such as MbedTLS and zlib, by incorporating LLMs into EESI, a state-of-the-art static analysis for error-specification inference. Compared to EESI, our approach achieves higher recall across all benchmarks (from average of 52.55% to 77.83%) and higher F1-score (from average of 0.612 to 0.804) while maintaining precision (from average of 86.67% to 85.12%).

Tue 25 Jun

Displayed time zone: Windhoek change

10:40 - 12:20
SOAP IISOAP at Reykjavik
Chair(s): Luca Negrini Ca’ Foscari University of Venice
10:40
50m
Keynote
Challenges and Opportunities in Program Analysis for JavaScript
SOAP
Anders Møller Aarhus University
11:30
20m
Talk
Dr Wenowdis: Specializing dynamic language C extensions using type information
SOAP
Maxwell Bernstein Northeastern University, CF Bolz-Tereick Heinrich-Heine-Universität Düsseldorf
Pre-print File Attached
11:50
20m
Talk
Interleaving Static Analysis and LLM Prompting
SOAP
Patrick Chapman University of California, Davis, Cindy Rubio-González University of California at Davis, Aditya V. Thakur University of California at Davis