Can ChatGPT support software verification?
Not on the map. Why?
Abstract (arXiv)
Large language models have become increasingly effective in software engineering tasks such as code generation, debugging and repair. Language models like ChatGPT can not only generate code, but also explain its inner workings and in particular its correctness. This raises the question whether we can utilize ChatGPT to support formal software verification. In this paper, we take some first steps towards answering this question. More specifically, we investigate whether ChatGPT can generate loop invariants. Loop invariant generation is a core task in software verification, and the generation of valid and useful invariants would likely help formal verifiers. To provide some first evidence on this hypothesis, we ask ChatGPT to annotate 106 C programs with loop invariants. We check validity and usefulness of the generated invariants by passing them to two verifiers, Frama-C and CPAchecker. Our evaluation shows that ChatGPT is able to produce valid and useful invariants allowing Frama-C to verify tasks that it could not solve before. Based on our initial insights, we propose ways of combining ChatGPT (or large language models in general) and software verifiers, and discuss current limitations and open issues.
Key facts. Cited by 14 papers in the map (data through 7 Oct 2026). Builds on 10 of its 31 references that are in the map. First posted on arXiv 4 Nov 2023.
Builds on
10 of 31 references.
References · 10
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2022Training language models to follow instructions with human feedbackcited by 15,712
- 2022Survey of Hallucination in Natural Language Generationcited by 2,056
- 2023Teaching Large Language Models to Self-Debugcited by 963
- 2023Extending Context Window of Large Language Models via Positional Interpolationcited by 721
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2022CodeT: Code Generation with Generated Testscited by 369
- 2023Check Your Facts and Try Again: Improving Large Language Models with External Knowledge and Automated Feedbackcited by 351
- 2023Impact of Code Language Models on Automated Program Repaircited by 85
- 2021Neural Termination Analysiscited by 16
Built on by
Citing papers per year: 2024: 4; 2025: 5; 2026: 5.
14 papers.
Sort:
By area:
- 2024LLMDFA: Analyzing Dataflow in Code with Large Language Modelscited by 22
- 2025A Contemporary Survey of Large Language Model Assisted Program Analysiscited by 10
- 2024Specify What? Enhancing Neural Specification Synthesis by Symbolic Methodscited by 6
- 2024Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysiscited by 6
- 2025Next Steps in LLM-Supported Java Verificationcited by 3
- 2024Generative transformations and patterns in LLM-native approaches for software verification and falsificationcited by 2
- 2025Do AI assistants help students write formal specifications? A study with ChatGPT and the B-Methodcited by 2
- 2025One For All: LLM-based Heterogeneous Mission Planning in Precision Agriculturecited by 2
- 2026Spec-Harness: Measuring and Improving Behavioral Adequacy of LLM-Synthesized Formal Specificationscited by 2
- 2025A Neurosymbolic Approach to Loop Invariant Generation via Weakest Precondition Reasoningcited by 0
- 2026IC3-Evolve: Proof-/Witness-Gated Offline LLM-Driven Heuristic Evolution for IC3 Hardware Model Checkingcited by 0
- 2026As You Wish: Mission Planning with Formal Verification using LLMs in Precision Agriculturecited by 0
- 2026An Empirical Study of LLM-Generated Specifications for VeriFast25 Jun 2026
- 2026AutoACSL: Synthesizing ACSL Specifications by Integrating LLMs with CPG-Based Static Analysis18 Jun 2026
- 2026As You Wish: Mission Planning with Formal Verification using LLMs in Precision Agriculture16 Jun 2026
- 2026Spec-Harness: Measuring and Improving Behavioral Adequacy of LLM-Synthesized Formal Specifications31 Mar 2026
- 2026IC3-Evolve: Proof-/Witness-Gated Offline LLM-Driven Heuristic Evolution for IC3 Hardware Model Checking18 Jan 2026
- 2025A Neurosymbolic Approach to Loop Invariant Generation via Weakest Precondition Reasoning17 Dec 2025
- 2025One For All: LLM-based Heterogeneous Mission Planning in Precision Agriculture11 Jun 2025
- 2025A Contemporary Survey of Large Language Model Assisted Program Analysis5 Feb 2025
- 2025Next Steps in LLM-Supported Java Verification3 Feb 2025
- 2025Do AI assistants help students write formal specifications? A study with ChatGPT and the B-Method20 Jan 2025
- 2024Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysis19 Dec 2024
- 2024Specify What? Enhancing Neural Specification Synthesis by Symbolic Methods21 Jun 2024
- 2024LLMDFA: Analyzing Dataflow in Code with Large Language Modelscited by 22
- 2025A Contemporary Survey of Large Language Model Assisted Program Analysiscited by 10
- 2024Specify What? Enhancing Neural Specification Synthesis by Symbolic Methodscited by 6
- 2024Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysiscited by 6
- 2025Next Steps in LLM-Supported Java Verificationcited by 3
- 2024Generative transformations and patterns in LLM-native approaches for software verification and falsificationcited by 2
- 2025Do AI assistants help students write formal specifications? A study with ChatGPT and the B-Methodcited by 2
- 2025One For All: LLM-based Heterogeneous Mission Planning in Precision Agriculturecited by 2
- 2026Spec-Harness: Measuring and Improving Behavioral Adequacy of LLM-Synthesized Formal Specificationscited by 2
- 2026IC3-Evolve: Proof-/Witness-Gated Offline LLM-Driven Heuristic Evolution for IC3 Hardware Model Checkingcited by 0
- 2026As You Wish: Mission Planning with Formal Verification using LLMs in Precision Agriculturecited by 0
- 2026AutoACSL: Synthesizing ACSL Specifications by Integrating LLMs with CPG-Based Static Analysiscited by 0
12 most cited of 13 All 13 (JSON)
- 2026An Empirical Study of LLM-Generated Specifications for VeriFast25 Jun 2026
- 2026AutoACSL: Synthesizing ACSL Specifications by Integrating LLMs with CPG-Based Static Analysis18 Jun 2026
- 2026As You Wish: Mission Planning with Formal Verification using LLMs in Precision Agriculture16 Jun 2026
- 2026Spec-Harness: Measuring and Improving Behavioral Adequacy of LLM-Synthesized Formal Specifications31 Mar 2026
- 2026IC3-Evolve: Proof-/Witness-Gated Offline LLM-Driven Heuristic Evolution for IC3 Hardware Model Checking18 Jan 2026
- 2025One For All: LLM-based Heterogeneous Mission Planning in Precision Agriculture11 Jun 2025
- 2025A Contemporary Survey of Large Language Model Assisted Program Analysis5 Feb 2025
- 2025Next Steps in LLM-Supported Java Verification3 Feb 2025
- 2025Do AI assistants help students write formal specifications? A study with ChatGPT and the B-Method20 Jan 2025
- 2024Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysis19 Dec 2024
- 2024Specify What? Enhancing Neural Specification Synthesis by Symbolic Methods21 Jun 2024
- 2024Generative transformations and patterns in LLM-native approaches for software verification and falsification14 Apr 2024
12 newest of 13 All 13 (JSON)