Can ChatGPT Support CPAchecker with Useful Loop Invariants?
Generative language models have made tremendous progress in software engineering tasks such as code generation, code refinement and debugging. Many of these tasks require strong reasoning skills over code and code executions. This raises the question whether we can utilize the reasoning skills of ChatGPT in the formal setting of software verification and complement existing automatic verifiers such as CPAchecker. To answer this question, we study the abilities of ChatGPT in the context of automatic software verification. More specifically, we focus on the task of loop invariant generation. Loop invariant generation requires reasoning over the code semantics to infer invariants that hold for all loop executions and good loop invariants can significantly simplify the verification process. Our initial investigation on the SV-COMP Loops category shows that ChatGPT can effectively annotate C programs with valid loop invariants, many of which can be useful for automatic software verification. Interestingly, we find that many generated loop invariants are far from trivial and have a similar quality as invariants produced by a human annotator.
Mon 11 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:00 | |||
10:30 20mTalk | Can ChatGPT Support CPAchecker with Useful Loop Invariants? [Workshop] CPAchecker Cedric Richter Carl von Ossietzky Universität Oldenburg / University of Oldenburg | ||
10:50 20mTalk | CPA-DF: A Tool for Configurable Interval Analysis to Boost Program Verification [Workshop] CPAchecker Po-Chun Chien LMU Munich Pre-print Media Attached File Attached | ||
11:10 20mTalk | A Unifying Approach for Control-Flow-Based Loop Abstraction [Workshop] CPAchecker Marian Lingsch-Rosenfeld LMU Munich Link to publication File Attached | ||
11:30 20mTalk | Backward Bounded Model Checking in CPAchecker [Workshop] CPAchecker Bas Laarakker University of Amsterdam |