English
Related papers

Related papers: A Proof-Generating C Code Generator for ACL2 Based…

200 papers

We present a new unit test generator for C code, CTGEN. It generates test data for C1 structural coverage and functional coverage based on pre-/post-condition specifications or internal assertions. The generator supports automated stub…

Software Engineering · Computer Science 2012-11-28 Tatiana Mangels , Jan Peleska

In this work, we present an approach towards constructing executable specifications of existing filesystems and verifying their functional properties in a theorem proving environment. We detail an application of this approach to the FAT32…

Logic in Computer Science · Computer Science 2018-10-11 Mihir Parang Mehta

The C Bounded Model Checker (CBMC) demonstrates the violation of assertions in C programs, or proves safety of the assertions under a given bound. CBMC implements a bit-precise translation of an input C program, annotated with assertions…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Peter Schrammel , Michael Tautschnig

In an era of widespread influence of Natural Language Processing (NLP), there have been multiple research efforts to supplant traditional manual coding techniques with automated systems capable of generating solutions autonomously. With…

Computation and Language · Computer Science 2024-12-10 Namrata Das , Rakshya Panta , Neelam Karki , Ruchi Manandhar , Dinesh Baniya Kshatri

We present a methodology for formal verification of arithmetic RTL designs that combines sequential logic equivalence checking with interactive theorem proving. An intermediate model of a Verilog module is hand-coded in Restricted…

Logic in Computer Science · Computer Science 2020-09-30 David M. Russinoff

Inference of Convolutional Neural Networks in time critical applications usually requires a GPU. In robotics or embedded devices these are often not available due to energy, space and cost constraints. Furthermore, installation of a deep…

Machine Learning · Computer Science 2020-01-17 Oliver Urbann , Simon Camphausen , Arne Moos , Ingmar Schwarz , Sören Kerner , Maximilian Otten

We present a neural model for representing snippets of code as continuous distributed vectors ("code embeddings"). The main idea is to represent a code snippet as a single fixed-length $\textit{code vector}$, which can be used to predict…

Machine Learning · Computer Science 2018-10-31 Uri Alon , Meital Zilberstein , Omer Levy , Eran Yahav

The paper studies how code generation by LLMs can be combined with formal verification to produce critical embedded software. The first contribution is a general framework, spec2code, in which LLMs are combined with different types of…

Software Engineering · Computer Science 2024-11-21 Minal Suresh Patil , Gustav Ung , Mattias Nyberg

As the industry's interest in machine learning has grown in recent years, some solutions have emerged to safely embed them in safety-critical systems, such as the C code generator ACETONE. However, this framework is limited to generating…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-11 Yanis Aït-Aïssa , Thomas Carle , Sergei Chichin , Benjamin Lesage , Claire Pagetti

Code generation maps a program description to executable source code in a programming language. Existing approaches mainly rely on a recurrent neural network (RNN) as the decoder. However, we find that a program contains significantly more…

Machine Learning · Computer Science 2018-11-19 Zeyu Sun , Qihao Zhu , Lili Mou , Yingfei Xiong , Ge Li , Lu Zhang

Recently, code language models have achieved notable advancements in addressing a diverse array of essential code comprehension and generation tasks. Yet, the field lacks a comprehensive deep dive and understanding of the code embeddings of…

Computation and Language · Computer Science 2023-10-26 Saiteja Utpala , Alex Gu , Pin Yu Chen

In our current work a library of formally verified software components is to be created, and assembled, using the Low-Level Virtual Machine (LLVM) intermediate form, into subsystems whose top-level assurance relies on the assurance of the…

Programming Languages · Computer Science 2014-06-09 David S. Hardin , Jennifer A. Davis , David A. Greve , Jedidiah R. McClurg

With the recent success of embeddings in natural language processing, research has been conducted into applying similar methods to code analysis. Most works attempt to process the code directly or use a syntactic tree representation,…

Machine Learning · Computer Science 2018-11-30 Tal Ben-Nun , Alice Shoshana Jakobovits , Torsten Hoefler

Using an interactive theorem prover to reason about programs involves a sequence of interactions where the user challenges the theorem prover with conjectures. Invariably, many of the conjectures posed are in fact false, and users often…

Software Engineering · Computer Science 2011-10-24 Harsh Raju Chamarthi , Peter C. Dillinger , Matt Kaufmann , Panagiotis Manolios

This paper presents an evaluation of the code representation model Code2vec when trained on the task of detecting security vulnerabilities in C source code. We leverage the open-source library astminer to extract path-contexts from the…

Cryptography and Security · Computer Science 2021-06-04 David Coimbra , Sofia Reis , Rui Abreu , Corina Păsăreanu , Hakan Erdogmus

Deep Learning (DL) techniques for Natural Language Processing have been evolving remarkably fast. Recently, the DL advances in language modeling, machine translation and paragraph understanding are so prominent that the potential of DL in…

Software Engineering · Computer Science 2020-06-16 Triet H. M. Le , Hao Chen , M. Ali Babar

A large body of the literature of automated program repair develops approaches where patches are generated to be validated against an oracle (e.g., a test suite). Because such an oracle can be imperfect, the generated patches, although…

Software Engineering · Computer Science 2020-08-10 Haoye Tian , Kui Liu , Abdoul Kader Kaboreé , Anil Koyuncu , Li Li , Jacques Klein , Tegawendé F. Bissyandé

We report on our experience using ACL2 in the classroom to teach students about software testing. The course COSC2300 at the University of Wyoming is a mostly traditional Discrete Mathematics course, but with a clear focus on computer…

Logic in Computer Science · Computer Science 2022-05-25 Ruben Gamboa , Alicia Thoney

LLM-based code generation tools are essential to help developers in the software development process. Existing tools often disconnect with the working context, i.e., the code repository, causing the generated code to be not similar to human…

Software Engineering · Computer Science 2024-10-29 Dianshu Liao , Shidong Pan , Xiaoyu Sun , Xiaoxue Ren , Qing Huang , Zhenchang Xing , Huan Jin , Qinying Li

This paper reports on our experiences with verifying automotive C code by state-of-the-art open source software model checkers. The embedded C code is automatically generated from Simulink open-loop controller models. Its diverse features…

Logic in Computer Science · Computer Science 2020-03-27 Lukas Westhofen , Philipp Berger , Joost-Pieter Katoen