English
Related papers

Related papers: Proving Skipping Refinement with ACL2s

200 papers

We introduce skipping refinement, a new notion of correctness for reasoning about optimized reactive systems. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete,…

Logic in Computer Science · Computer Science 2015-02-11 Mitesh Jain , Panagiotis Manolios

This paper discusses highly general mechanisms for specifying the refinement of a real-time system as a collection of lower level parallel components that preserve the timing and functional requirements of the upper level specification.…

Logic in Computer Science · Computer Science 2010-02-10 Paul Z. Kolano , Carlo A. Furia , Richard A. Kemmerer , Dino Mandrioli

Refinement calculus is a powerful and expressive tool for reasoning about sequential programs in a compositional manner. In this paper we present an extension of refinement calculus for reactive systems. Refinement calculus is based on…

Software Engineering · Computer Science 2014-06-24 Viorel Preoteasa , Stavros Tripakis

Reactive synthesis is concerned with finding a correct-by-construction controller from formal specifications, typically expressed in Linear Temporal Logic (LTL). The specifications describe assumptions about an environment and guarantees to…

Logic in Computer Science · Computer Science 2019-10-15 Davide G. Cavezza , Dalal Alrajeh , Andras Gyorgy

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

We describe an ACL2 package for defining partial recursive functions that also supports efficient execution. While packages for defining partial recursive functions already exist for other theorem provers, they often require inductive…

Logic in Computer Science · Computer Science 2013-05-01 David Greve , Konrad Slind

Simulink/Stateflow charts are widely used in industry for the specification of control systems, which are often safety-critical. This suggests a need for a formal treatment of such models. In previous work, we have proposed a technique for…

Logic in Computer Science · Computer Science 2011-06-22 Alvaro Miyazawa , Ana Cavalcanti

Formal verification via theorem proving enables the expressive specification and rigorous proof of software correctness, but it is difficult to scale due to the significant manual effort and expertise required. While Large Language Models…

Software Engineering · Computer Science 2025-10-30 Minghai Lu , Zhe Zhou , Danning Xie , Songlin Jia , Benjamin Delaware , Tianyi Zhang

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

We introduce a new methodology based on refinement for testing the functional correctness of hardware and low-level software. Our methodology overcomes several major drawbacks of the de facto testing methodologies used in industry: (1) it…

Logic in Computer Science · Computer Science 2017-03-17 Mitesh Jain , Panagiotis Manolios

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

Programming Languages · Computer Science 2015-07-01 William Lovas , Frank Pfenning

Behavioral synthesis involves compiling an Electronic System-Level (ESL) design into its Register-Transfer Level (RTL) implementation. Loop pipelining is one of the most critical and complex transformations employed in behavioral synthesis.…

Logic in Computer Science · Computer Science 2014-06-09 Disha Puri , Sandip Ray , Kecheng Hao , Fei Xie

The majority of modern systems exhibit sophisticated concurrent behaviour, where several system components modify and observe the system state with fine-grained atomicity. Many systems (e.g., multi-core processors, real-time controllers)…

Logic in Computer Science · Computer Science 2013-05-28 Brijesh Dongol , John Derrick

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

Refinement types are a well-studied manner of performing in-depth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higher order…

Logic in Computer Science · Computer Science 2011-01-25 Cody Roux

Model-based mutation testing uses altered test models to derive test cases that are able to reveal whether a modelled fault has been implemented. This requires conformance checking between the original and the mutated model. This paper…

Software Engineering · Computer Science 2012-02-29 Bernhard K. Aichernig , Elisabeth Jöbstl

The Refinement Calculus of Reactive Systems (RCRS) is a compositional formal framework for modeling and reasoning about reactive systems. RCRS provides a language which allows to describe atomic components as symbolic transition systems or…

Logic in Computer Science · Computer Science 2018-02-09 Viorel Preoteasa , Iulia Dragomir , Stavros Tripakis

Autonomous systems control many tasks in our daily lives. To increase trust in those systems and safety of the interaction between humans and autonomous systems, the system behaviour and reasons for autonomous decision should be explained…

Software Engineering · Computer Science 2022-09-29 Maike Schwammberger , Verena Klös

Refinement types -- types qualified with logical predicates -- have proven effective for lightweight verification in languages like Liquid Haskell, F*, and Dafny. However, in these systems refinements are either written in a separate…

Programming Languages · Computer Science 2026-05-12 Matt Bovel , Viktor Kunčak , Martin Odersky
‹ Prev 1 2 3 10 Next ›