English
Related papers

Related papers: Advances in ACL2 Proof Debugging Tools

200 papers

The last several years have seen major enhancements to ACL2 functionality, largely driven by requests from its user community, including utilities now in common use such as 'make-event', 'mbe', and trust tags. In this paper we provide…

Mathematical Software · Computer Science 2011-10-24 Matt Kaufmann , J Strother Moore

We report on highlights of the ACL2 enhancements introduced in ACL2 releases since the 2011 ACL2 Workshop. Although many enhancements are critical for soundness or robustness, we focus in this paper on those improvements that could benefit…

Mathematical Software · Computer Science 2013-05-01 Matt Kaufmann , J Strother Moore

ACL2 has long supported user-defined simplifiers, so-called metafunctions and clause processors, which are installed when corresponding rules of class :meta or :clause-processor are proved. Historically, such simplifiers could access the…

Logic in Computer Science · Computer Science 2017-05-04 Matt Kaufmann , Sol Swords

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

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

The ACL2 theorem prover is a complex system. Its libraries are vast. Industrial verification efforts may extend this base with hundreds of thousands of lines of additional modeling tools, specifications, and proof scripts. High quality…

Software Engineering · Computer Science 2014-06-10 Jared Davis , Matt Kaufmann

The automation offered by modern program proof tools goes hand in hand with the capability to interact with the tool when the verification fails. The SPARK proof tool tries to help the user by providing the right information, so that the…

Logic in Computer Science · Computer Science 2021-08-09 Yannick Moy

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

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

FGL is a successor to GL, a proof procedure for ACL2 that allows complicated finitary conjectures to be translated into efficient Boolean function representations and proved using SAT solvers. A primary focus of FGL is to allow greater…

Logic in Computer Science · Computer Science 2020-09-30 Sol Swords

The ACL2 Workshop series is the major technical forum for users of the ACL2 theorem proving system to present research related to the ACL2 theorem prover and its applications. ACL2 is an industrial-strength automated reasoning system, the…

Logic in Computer Science · Computer Science 2025-07-25 Ruben Gamboa , Panagiotis Manolios

We present a novel technique for combining statistical machine learning for proof-pattern recognition with symbolic methods for lemma discovery. The resulting tool, ACL2(ml), gathers proof statistics and uses statistical pattern-recognition…

Logic in Computer Science · Computer Science 2013-10-16 Jónathan Heras , Ekaterina Komendantskaya , Moa Johansson , Ewen Maclean

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

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

This paper describes a strategy for providing hints during an ACL2 proof, implemented in a utility called use-termhint. An extra literal is added to the goal clause and simplified along with the rest of the goal until it is stable under…

Logic in Computer Science · Computer Science 2018-10-11 Sol Swords

While significant progress has been made in automating various aspects of software development through coding agents, there is still significant room for improvement in their bug fixing capabilities. Debugging and investigation of runtime…

Software Engineering · Computer Science 2026-04-22 Spandan Garg , Yufan Huang

A successful automated program proof is, in software verification, the ultimate triumph. In practice, however, the road to such success is paved with many failed proof attempts. Unlike a failed test, which provides concrete evidence of an…

Software Engineering · Computer Science 2023-04-25 Li Huang , Bertrand Meyer

Debugging is a crucial skill in programming education and software development, yet it is often overlooked in CS curricula. To address this, we introduce an AI-powered debugging assistant integrated into an IDE. It offers real-time support…

We discuss the workflows supported by the TLA+ Toolbox to write and verify specifications. We focus on features that are useful in industry because its users are primarily engineers. Two features are novel in the scope of formal IDEs:…

Software Engineering · Computer Science 2019-12-24 Markus Alexander Kuppe , Leslie Lamport , Daniel Ricketts

Web-TLR is a Web verification engine that is based on the well-established Rewriting Logic--Maude/LTLR tandem for Web system specification and model-checking. In Web-TLR, Web applications are expressed as rewrite theories that can be…

Logic in Computer Science · Computer Science 2011-08-12 María Alpuente , Demis Ballis , Javier Espert , Francisco Frechina , Daniel Romero
‹ Prev 1 2 3 10 Next ›