English
Related papers

Related papers: Dafny: Statically Verifying Functional Correctness

200 papers

Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond the reach of type systems that employ either purely syntactic…

Programming Languages · Computer Science 2011-09-16 Ravi Chugh , Patrick M. Rondon , Ranjit Jhala

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

The functional properties of a program are often specified by providing a contract for each of its functions. A contract of a function consists of a pair of formulas, called a precondition and a postcondition, which, respectively, should…

Logic in Computer Science · Computer Science 2022-11-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Language models are increasingly being used in important decision pipelines, so ensuring the correctness of their outputs is crucial. Recent work has proposed evaluating the "factuality" of claims decomposed from a language model generation…

Computation and Language · Computer Science 2025-05-26 Maxon Rubin-Toles , Maya Gambhir , Keshav Ramji , Aaron Roth , Surbhi Goel

Specification languages are essential in deductive program verification, but they are usually based on first-order logic, hence less expressive than the programs they specify. Recently, trace specification logics with fixed points that are…

Logic in Computer Science · Computer Science 2025-11-18 Niklas Heidler , Reiner Hähnle

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied. We present the first…

Programming Languages · Computer Science 2023-04-11 Yulong Huang , Jeremy Yallop

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

Recent work by (Richardson and Kuhn, 2017a,b; Richardson et al., 2018) looks at semantic parser induction and question answering in the domain of source code libraries and APIs. In this brief note, we formalize the representations being…

Computation and Language · Computer Science 2018-04-19 Kyle Richardson

Neural network verification tools currently support only a narrow class of specifications, typically expressed as low-level constraints over raw inputs and outputs. This limitation significantly hinders their adoption and practical…

Machine Learning · Computer Science 2026-03-04 Yizhak Y. Elboher , Reuven Peleg , Zhouxing Shi , Guy Katz , Jan Křetínský

Program verifiers such as Dafny automate proofs by outsourcing them to an SMT solver. This automation is not perfect, however, and the solver often requires hints in the form of assertions, creating a burden for the proof engineer. In this…

Logic in Computer Science · Computer Science 2025-03-05 Eric Mugnier , Emmanuel Anaya Gonzalez , Ranjit Jhala , Nadia Polikarpova , Yuanyuan Zhou

The formal verification of traditional software has been revolutionised by verification-orientated languages such as Dafny and F* which enable developers to write high-level specifications that are automatically compiled down to low-level…

Logic in Computer Science · Computer Science 2026-02-13 Matthew L. Daggitt , Wen Kokke , Robert Atkey

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Static type systems are usually not sufficient to express all requirements on function calls. Hence, contracts with pre- and postconditions can be used to express more complex constraints on operations. Contracts can be checked at run time…

Programming Languages · Computer Science 2017-09-15 Michael Hanus

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-02 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Requirements engineering plays a critical role in developing software systems. One of the most difficult tasks in this process is identifying functional requirements. A critical problem in many projects is missing requirements until late in…

Software Engineering · Computer Science 2020-04-02 Sabah Al-Fedaghi

For performance and verification in machine learning, new methods have recently been proposed that optimise learning systems to satisfy formally expressed logical properties. Among these methods, differentiable logics (DLs) are used to…

Logic in Computer Science · Computer Science 2024-07-08 Reynald Affeldt , Alessandro Bruni , Ekaterina Komendantskaya , Natalia Ślusarz , Kathrin Stark

A long-standing practical challenge in the optimization of higher-order languages is inlining functions with free variables. Inlining code statically at a function call site is safe if the compiler can guarantee that the free variables have…

Programming Languages · Computer Science 2013-06-11 Lars Bergstrom , Matthew Fluet , John Reppy , Nora Sandler

Python is a popular high-level general-purpose programming language also heavily used by the scientific community. It supports a variety of different programming paradigms and is preferred by many for its ease of use. With the vision of…

Programming Languages · Computer Science 2021-09-08 Maximilian A. Köhl

The software patterns provide building blocks to the design and implementation of a software system, and try to make the software engineering to progress from experience to science. The software patterns were made famous because of the…

Logic in Computer Science · Computer Science 2021-10-26 Yong Wang

Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document notations. However, there are no formal foundations that…

Programming Languages · Computer Science 2023-11-15 Will Crichton , Shriram Krishnamurthi
‹ Prev 1 4 5 6 7 8 10 Next ›