
SynVer is a novel, general purpose synthesizer for C programs with machine-checked proofs of their correctness using the Verified Software Toolchain framework. To do so, SynVer employs two Large Language Models: the first is used to generate candidate programs from a user-provided specification, and the second helps to automatically generate proofs of correctness in the Rocq proof assistant. SynVer ensures that generated programs adhere to a set of syntactic criteria that make candidate programs amenable to automated verification. To verify programs, SynVer uses a novel proof generation strategy which combines symbolic reasoning and a language model to handle obligations that the symbolic engine cannot handle solely. This artifact is distributed as a zip file which includes source code. To use the Docker image, you will need to install the Docker Engine as described in the official Docker installation instructions. The image was created and this guide was written using Docker 27.3.1, but any contemporary Docker version is expected to work. On *nix systems, running sudo docker run hello-world is a quick way to check that Docker is installed and behaving correctly. Once the artifact is unzipped, you can load the image directly from the included tar file: docker load -i synver.tar.gz and then run: docker run --rm -it --ulimit nofile=262144:262144 --entrypoint bash synver:2.0 You should be in the /synver directory. Run make to compile the Rocq files. To run the benchmarks (listed under the directory specText/), run python3 synthesize.py , where is your personal openAPI key. The public repository is located here, which also contains the DockerFile.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
