Towards LLM-support for Deductive Verification of Java Programs

7. Apr 2025·
Samuel Teuber
Samuel Teuber
· 1 min read

Along with the success of Large Language Models (LLMs) in other domains, a quickly developing body of research is investigating the usage of Large Language Models to process program code. While much of this research focuses on the usage of LLMs for code generation, our work explores the usage of LLMs for generating (auxiliary) specifications. In contrast to pure code generation, where LLMs could produce buggy code, specification generation allows us to rigorously check consistency between pre-existing source code and generated annotations through the usage of theorem provers. To this end, we present our efforts to couple the deductive verification tool KeY with GPT to automate the process of annotating Java code with JML specifications.

Samuel Teuber
Authors
PhD Student
Interested in formal methods for software and machine learning verification with a focus on cyber-physical systems and algorithmic fairness.