PatchGuru: Patch Oracle Inference from Natural Language Artifacts with Large Language Models
Thanh Le-Cong, Bach Le, Toby Murray, Michael Pradel, Cristian Cadar

TL;DR
PatchGuru leverages large language models to automatically infer executable patch specifications from natural language descriptions in pull requests, enabling validation of patch intent and detection of bugs in software development.
Contribution
It introduces PatchGuru, the first automated method to extract patch specifications from natural language artifacts using LLMs, improving bug detection and validation accuracy.
Findings
PatchGuru reports 39 warnings with 62% precision.
Identified 12 previously unknown bugs, 11 of which were fixed.
Outperforms state-of-the-art Testora in bug detection and precision.
Abstract
As software systems evolve, patches may unintentionally alter program behavior. Validating patches against their intended semantics is difficult due to incomplete regression tests and informal, non-executable natural language (NL) descriptions of patch intent. We present PatchGuru, the first automated technique that infers executable patch specifications from real-world pull requests (PRs). Given a PR, PatchGuru uses large language models (LLMs) to extract developer intent from NL artifacts and synthesizes patch oracles: under-approximate yet practical specifications expressed as runtime assertions in comparison programs that integrate pre- and post-patch versions. Patch oracles focus on patch-relevant behaviors, enable automated validation, and support cross-version properties. PatchGuru iteratively refines inferred oracles by comparing pre- and post-patch behaviors, identifies…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Engineering Techniques and Practices
