English
Related papers

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

200 papers

This paper describes a code generator that translates ACL2 constructs to corresponding Java constructs, according to a shallow embedding of ACL2 in Java. Starting from purely functional ACL2 code, the generated Java code exhibits imperative…

Logic in Computer Science · Computer Science 2022-05-25 Alessandro Coglio

Python is a high-level interpreted language that has become an industry standard in a wide variety of applications. In this paper, we take a first step towards using ACL2s to reason about Python code by developing an embedding of a subset…

Programming Languages · Computer Science 2025-07-28 Samuel Xifaras , Panagiotis Manolios , Andrew T. Walter , William Robertson

ACL2 provides a systems programming capability that allows one to write code that uses and extends ACL2 inside of ACL2. However, for soundness reasons, ACL2 bars the unrestricted use of certain kinds of programming constructs, like…

Logic in Computer Science · Computer Science 2022-05-25 Andrew T. Walter , Panagiotis Manolios

AIJ (ACL2 In Java) is a deep embedding in Java of an executable, side-effect-free, non-stobj-accessing subset of the ACL2 language without guards. ATJ (ACL2 To Java) is a simple Java code generator that turns ACL2 functions into AIJ…

Programming Languages · Computer Science 2018-10-11 Alessandro Coglio

Proving the correctness of programs written for multiple processors is a challenging problem, due in no small part to the weaker memory guarantees afforded by most modern architectures. In particular, the existence of store buffers means…

Logic in Computer Science · Computer Science 2014-06-09 Benjamin Selfridge

This paper describes an `obfuscating' C compiler for encrypted computing. The context consists of (i) a processor that `works encrypted', taking in encrypted inputs and producing encrypted outputs while the data remains in encrypted form…

Cryptography and Security · Computer Science 2021-12-30 Peter Breuer

ACL2(ml) is an extension for the Emacs interface of ACL2. This tool uses machine-learning to help the ACL2 user during the proof-development. Namely, ACL2(ml) gives hints to the user in the form of families of similar theorems, and…

Logic in Computer Science · Computer Science 2014-06-09 Jónathan Heras , Ekaterina Komendantskaya

ACL2 was used to prove properties of two simplification procedures. The procedures differ in complexity but solve the same programming problem that arises in the context of a resolution/paramodulation theorem proving system. Term rewriting…

Logic in Computer Science · Computer Science 2007-05-23 Olga Shumsky Matlin , William McCune

Source code representations are key in applying machine learning techniques for processing and analyzing programs. A popular approach in representing source code is neural source code embeddings that represents programs with…

Machine Learning · Computer Science 2022-06-17 Md Rafiqul Islam Rabin , Arjun Mukherjee , Omprakash Gnawali , Mohammad Amin Alipour

This paper reports on initial experiments using J Moore's Codewalker to reason about programs compiled to the Low-Level Virtual Machine (LLVM) intermediate form. Previously, we reported on a translator from LLVM to the applicative subset of…

Logic in Computer Science · Computer Science 2015-09-22 David S. Hardin

With the involvement of multiple programming languages in modern software development, cross-lingual code clone detection has gained traction within the software engineering community. Numerous studies have explored this topic, proposing…

Software Engineering · Computer Science 2025-05-07 Micheline Bénédicte Moumoula , Abdoul Kader Kabore , Jacques Klein , Tegawendé Bissyande

Large Language Models (LLMs) typically excel at coding tasks involving high-level programming languages, as opposed to lower-level programming languages, such as assembly. We propose a synthetic data generation method named C-ing Clearly,…

Computation and Language · Computer Science 2025-12-17 Teodor Poncu , Ioana Pintilie , Marius Dragoi , Dragos Tantaru , Florin Brad

Iterative algorithms are traditionally expressed in ACL2 using recursion. On the other hand, Common Lisp provides a construct, loop, which -- like most programming languages -- provides direct support for iteration. We describe an ACL2…

Logic in Computer Science · Computer Science 2020-09-30 Matt Kaufmann , J Strother Moore

We describe the formal language MASC, based on a subset of SystemC and intended for modeling algorithms to be implemented in hardware. By means of a special-purpose parser, an algorithm coded in SystemC is converted to a MASC model for the…

Hardware Architecture · Computer Science 2014-06-09 John W. O'Leary , David M. Russinoff

Automatic and efficient verification of multiplier designs, especially through a provably correct method, is a difficult problem. We show how to utilize a theorem prover, ACL2, to implement an efficient rewriting algorithm for multiplier…

Logic in Computer Science · Computer Science 2022-05-25 Mertcan Temel

GL is a verified tool for proving ACL2 theorems using Boolean methods such as BDD reasoning and satisfiability checking. In its typical operation, GL recursively traverses a term, computing a symbolic object representing the value of each…

Logic in Computer Science · Computer Science 2017-05-04 Sol Swords

LLM-powered code generation has the potential to revolutionize creative coding endeavors, such as live-coding, by enabling users to focus on structural motifs over syntactic details. In such domains, when prompting an LLM, users may benefit…

Multimedia · Computer Science 2025-09-25 Sam Kouteili , Hiren Madhu , George Typaldos , Mark Santolucito

Verification of algorithms and data structures utilized in modern autonomous and semi-autonomous vehicles for land, sea, air, and space presents a significant challenge. Autonomy algorithms, e.g., route planning, pattern matching, and…

Logic in Computer Science · Computer Science 2018-10-11 David Hardin , Konrad Slind

We present our extension of ACL2 with Satisfiability Modulo Theories (SMT) solvers using ACL2's trusted clause processor mechanism. We are particularly interested in the verification of physical systems including Analog and Mixed-Signal…

Logic in Computer Science · Computer Science 2015-09-22 Yan Peng , Mark Greenstreet

Despite the effectiveness of large language models (LLMs) for code generation, they often output incorrect code. One reason is that model output probabilities are often not well-correlated with correctness, and reflect only the final output…

Software Engineering · Computer Science 2026-01-22 Francisco Ribeiro , Claudio Spiess , Prem Devanbu , Sarah Nadi
‹ Prev 1 2 3 10 Next ›