AbsInt-AI: Language Models for Abstract Interpretation
Name
wang-mi27950-sm-eecs-2025-thesis.pdf
Description
Thesis PDF
Size
1.03 MB
Format
Adobe PDF
Checksum (MD5)
70c367690f280a4d6dc155deae6317f2
Author(s)
Wang, Michael
Advisor(s)
Solar-Lezama, Armando
Date Issued
May 2025
Publisher
Massachusetts Institute of Technology
Abstract
Static program analysis is a foundational technique in software engineering for reasoning about program behavior. Traditional static analysis algorithms model programs as logical systems with well-defined semantics, enabling strong guarantees such as never missing a bug. However, traditional analyses almost always rely on uniform, hard-coded heap abstractions. While more adaptive abstractions are possible in theory, they are rarely implemented in practice due to their complexity and fragility. This limits their precision and flexibility, especially in dynamic languages like JavaScript, where heap structures are heterogeneous and difficult to analyze statically. In this work, we introduce AbsInt-AI, a language-model-guided static analysis framework based on abstract interpretation with adaptive, per-object heap abstractions for JavaScript. This enables the analysis to leverage high-level cues, such as naming conventions and access patterns, without requiring brittle, hand-engineered heuristics. Importantly, the LM agent operates within a bounded interface and never directly manipulates program state, preserving the soundness guarantees of abstract interpretation. ABSINT-AI reduces false positives by up to 34% for bug detection compared to traditional static analysis while maintaining soundness. Our ablations show that the LM’s interactions with the analysis environment are crucial, outperforming non-agentic direct LM predictions by 25%.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright retained by author(s)
Persistent DSpace Link