Program analysis tools such as CodeQL enable programmers to express their questions about codebases in the form of declarative queries, which are then evaluated over structured representations of the code. These versatile tools have broad applications in bug finding, vulnerability discovery, and codebase exploration. Still, they are limited in their ability to answer questions that rely on semantic judgments which cannot be expressed or decided using program analysis tools alone, e.g., identifying string literals that contain private information or violations of naming conventions.
In this paper, we present SemQL, a system which extends declarative program analysis frameworks with the ability to invoke an LLM as an external oracle. SemQL allows developers to write queries which combine structural reasoning with semantic (extra-analytic) judgments. We show the real-world value of such a system by collecting a set of analytic questions that require semantic reasoning beyond what is deducible simply from the structure of the code. We also present an algorithm which efficiently evaluates these queries while minimizing costly oracle invocations, and demonstrate its effectiveness in practical program analysis tasks.
Tue 16 JunDisplayed time zone: Mountain Time (US & Canada) change
15:50 - 18:00 | |||
15:50 60mKeynote | Compiler-assisted Translation Validation SOAP Qirun Zhang Georgia Institute of Technology | ||
16:50 20mTalk | On the Effectiveness of Modular Testing in EvoSuite SOAP Elizabeth Dinella Bryn Mawr College | ||
17:10 20mTalk | LLM-Integrated Declarative Program Analysis SOAP Sara Baradaran University of Southern California, Amirmohammad Nazari University of Southern California, Mukund Raghothaman University of Southern California DOI | ||
17:30 20mTalk | Detecting Data Leaks in Multi-User LLM Apps via Automated User-Scoped Taint Analysis SOAP Sanjib Kumar Sen Texas A&M University - Corpus Christi, Bozhen Liu Texas A&M University - Corpus Christi | ||
17:50 10mDay closing | Closing Remarks SOAP | ||