CAREER: Underapproximate Refinement Types for Program Exploration and Understanding

NSF Award Search · 01002627DB NSF RESEARCH & RELATED ACTIVIT · $673,078 · view on nsf.gov ↗

Abstract

Software development is rapidly changing, with developers increasingly delegating programming tasks to code generation tools powered by Large Language Models (LLMs). These systems often produce code that appears correct, but that actually contains subtle defects and inconsistencies with the developer’s intent, compromising the reliability and security of the generated program. As the role of software engineers moves away from writing code directly to inspecting generated programs, it is vital that they have trustworthy tools that help them rigorously examine and understand program behavior. Recent advances in formal methods have demonstrated that it is now possible to verify that complex real-world programs like compilers and operating systems behave exactly as intended. However, these tools are designed to confirm that a well-understood and correct program always does the right thing and are ill-suited to helping a developer explore and reason about a partially understood program that may contain flaws. The project’s novelties are the development of new, principled techniques for rigorously reasoning about the behaviors of potentially incorrect programs, and the creation of a trustworthy, general-purpose framework that helps developers effectively explore and understand such programs. The project’s impacts are increased trustworthiness and accountability in AI-assisted software development, supporting the responsible integration of AI code generation tools into larger software toolchains, and helping developers confidently deploy AI-generated software in safety- and security-critical domains. The major technical innovation of this work is a novel kind of type refinement that soundly captures the existence of certain paths that lead to errors, while soundly pruning those that are irrelevant to the property of interest. This type abstraction is capable of reasoning about the existence of “buggy” or undesirable executions and can soundly establish that a program is

Key facts

NSF award ID
2542188
Awardee
Purdue University (IN)
SAM.gov UEI
YRXVL4JYCEF5
PI
Benjamin J Delaware
Primary program
01002627DB NSF RESEARCH & RELATED ACTIVIT
All programs
Artificial Intelligence (AI), CAREER-Faculty Erly Career Dev, PROGRAMMING LANGUAGES
Estimated total
$673,078
Funds obligated
$391,123
Transaction type
Continuing Grant
Period
09/01/2026 → 08/31/2031