LLM-Based Static Verification of Code Against Natural-Language Requirements: An Industrial Experience Report
Zhi Quan Zhou, Dave Towey, Tsong Yueh Chen

TL;DR
This paper introduces a two-stage LLM-based static verification workflow that extracts verifiable rules from natural-language requirements and checks code implementation against these rules, enhancing early-stage software validation.
Contribution
It presents a novel structured intermediate representation for LLM-based static analysis, addressing hallucination and explainability issues in verifying code against natural-language requirements.
Findings
Effective extraction of verifiable rules from natural language requirements.
Successful static verification of code without execution or runtime environments.
Addresses the test oracle problem with a semantics-aware approach.
Abstract
Large language models (LLMs) are increasingly used to generate requirements specifications, design documents, code, and test cases. In contrast, much less attention has been given to a more difficult assurance problem: statically verifying whether implemented code satisfies requirements written in natural language. Conventional static analysis tools are effective at detecting coding defects and known vulnerability patterns, but they cannot determine whether program behavior matches intended business logic. Detecting such defects requires reasoning over the specification rather than the code alone. Software testing can expose some of these mismatches, but its effectiveness depends heavily on test design, executable artifacts, and runtime environments. This article presents a two-stage LLM-based workflow for addressing this challenge in an intelligent-vehicle cybersecurity case study. In…
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.
