Integrating Symbolic Execution with LLMs for Automated Generation of Program Specifications

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Yang, Fanpeng, Ma, Xu, Wang, Shuling, Xu, Xiong, Cao, Qinxiang, Zhan, Naijun, Li, Xiaofeng, Gu, Bin
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866912832463831040
author Yang, Fanpeng
Ma, Xu
Wang, Shuling
Xu, Xiong
Cao, Qinxiang
Zhan, Naijun
Li, Xiaofeng
Gu, Bin
author_facet Yang, Fanpeng
Ma, Xu
Wang, Shuling
Xu, Xiong
Cao, Qinxiang
Zhan, Naijun
Li, Xiaofeng
Gu, Bin
contents Automatically generating formal specifications including loop invariants, preconditions, and postconditions for legacy code is critical for program understanding, reuse and verification. However, the inherent complexity of control and data structures in programs makes this task particularly challenging. This paper presents a novel framework that integrates symbolic execution with large language models (LLMs) to automatically synthesize formally verified program specifications. Our method first employs symbolic execution to derive precise strongest postconditions for loop-free code segments. These symbolic execution results, along with automatically generated invariant templates, then guide the LLM to propose and iteratively refine loop invariants until a correct specification is obtained. The template-guided generation process robustly combines symbolic inference with LLM reasoning, significantly reducing hallucinations and syntactic errors by structurally constraining the LLM's output space. Furthermore, our approach can produce strong specifications without relying on externally provided verification goals, enabled by the rich semantic context supplied by symbolic execution, overcoming a key limitation of prior goal-dependent tools. Extensive evaluation shows that our tool SESpec outperforms the existing state-of-the-art tools across numerical and data-structure benchmarks, demonstrating both high precision and broad applicability.
format Preprint
id arxiv_https___arxiv_org_abs_2506_09550
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Integrating Symbolic Execution with LLMs for Automated Generation of Program Specifications
Yang, Fanpeng
Ma, Xu
Wang, Shuling
Xu, Xiong
Cao, Qinxiang
Zhan, Naijun
Li, Xiaofeng
Gu, Bin
Software Engineering
Automatically generating formal specifications including loop invariants, preconditions, and postconditions for legacy code is critical for program understanding, reuse and verification. However, the inherent complexity of control and data structures in programs makes this task particularly challenging. This paper presents a novel framework that integrates symbolic execution with large language models (LLMs) to automatically synthesize formally verified program specifications. Our method first employs symbolic execution to derive precise strongest postconditions for loop-free code segments. These symbolic execution results, along with automatically generated invariant templates, then guide the LLM to propose and iteratively refine loop invariants until a correct specification is obtained. The template-guided generation process robustly combines symbolic inference with LLM reasoning, significantly reducing hallucinations and syntactic errors by structurally constraining the LLM's output space. Furthermore, our approach can produce strong specifications without relying on externally provided verification goals, enabled by the rich semantic context supplied by symbolic execution, overcoming a key limitation of prior goal-dependent tools. Extensive evaluation shows that our tool SESpec outperforms the existing state-of-the-art tools across numerical and data-structure benchmarks, demonstrating both high precision and broad applicability.
title Integrating Symbolic Execution with LLMs for Automated Generation of Program Specifications
topic Software Engineering
url https://arxiv.org/abs/2506.09550