Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Granberry, George, Ahrendt, Wolfgang, Johansson, Moa
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:https://arxiv.org/abs/2406.15540
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910609001414656
author Granberry, George
Ahrendt, Wolfgang
Johansson, Moa
author_facet Granberry, George
Ahrendt, Wolfgang
Johansson, Moa
contents We investigate how combinations of Large Language Models (LLMs) and symbolic analyses can be used to synthesise specifications of C programs. The LLM prompts are augmented with outputs from two formal methods tools in the Frama-C ecosystem, Pathcrawler and EVA, to produce C program annotations in the specification language ACSL. We demonstrate how the addition of symbolic analysis to the workflow impacts the quality of annotations: information about input/output examples from Pathcrawler produce more context-aware annotations, while the inclusion of EVA reports yields annotations more attuned to runtime errors. In addition, we show that the method infers rather the programs intent than its behaviour, by generating specifications for buggy programs and observing robustness of the result against bugs.
format Preprint
id arxiv_https___arxiv_org_abs_2406_15540
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Specify What? Enhancing Neural Specification Synthesis by Symbolic Methods
Granberry, George
Ahrendt, Wolfgang
Johansson, Moa
Software Engineering
Formal Languages and Automata Theory
Machine Learning
We investigate how combinations of Large Language Models (LLMs) and symbolic analyses can be used to synthesise specifications of C programs. The LLM prompts are augmented with outputs from two formal methods tools in the Frama-C ecosystem, Pathcrawler and EVA, to produce C program annotations in the specification language ACSL. We demonstrate how the addition of symbolic analysis to the workflow impacts the quality of annotations: information about input/output examples from Pathcrawler produce more context-aware annotations, while the inclusion of EVA reports yields annotations more attuned to runtime errors. In addition, we show that the method infers rather the programs intent than its behaviour, by generating specifications for buggy programs and observing robustness of the result against bugs.
title Specify What? Enhancing Neural Specification Synthesis by Symbolic Methods
topic Software Engineering
Formal Languages and Automata Theory
Machine Learning
url https://arxiv.org/abs/2406.15540