51 citations · 80 across the 12 of their papers we have counts for
9 papers · 1 filter
When is LLM-Based Program Reasoning Correct? A Completion Semantics for LLM-Based Code Inference
Zhiyuan Liu, Yihe Li, Trevor E. Carlson +3
Due to token and cognitive limits, Large Language Models (LLMs) typically perform program reasoning over incomplete code fragments/prompts rather than complete programs. Such reaso…
Persistent Iterators with Value Semantics
Yihe Li, Gregory J. Duck
Iterators are a fundamental programming abstraction for traversing and modifying elements in containers in mainstream imperative languages such as C++. Iterators provide a uniform…
Large Language Model Powered Symbolic Execution
Yihe Li, Ruijie Meng, Gregory J. Duck
Large Language Models (LLMs) have emerged as a promising alternative to traditional static program analysis methods, such as symbolic execution, offering the ability to reason over…
Shape Neutral Analysis of Graph-based Data-structures
Gregory J. Duck, Joxan Jaffar, Roland H. C. Yap
Malformed data-structures can lead to runtime errors such as arbitrary memory access or corruption. Despite this, reasoning over data-structure properties for low-level heap manipu…
An Extended Low Fat Allocator API and Applications
Gregory J. Duck, Roland H. C. Yap
The primary function of memory allocators is to allocate and deallocate chunks of memory primarily through the malloc API. Many memory allocators also implement other API extension…
EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
Gregory J. Duck, Roland H. C. Yap
Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-)object bounds…