English
Related papers

Related papers: Verifying Safety of Functional Programs with Roset…

200 papers

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

Performative prediction is a framework accounting for the shift in the data distribution induced by the prediction of a model deployed in the real world. Ensuring rapid convergence to a stable solution where the data distribution remains…

Machine Learning · Computer Science 2026-01-30 Pedram Khorsandi , Rushil Gupta , Mehrnaz Mofakhami , Simon Lacoste-Julien , Gauthier Gidel

We present Hindley-Milner-Cousots (HMC), an algorithm that allows any interprocedural analysis for first-order imperative programs to be used to verify safety properties of typed higher-order functional programs. HMC works as follows.…

Programming Languages · Computer Science 2011-01-04 Ranjit Jhala , Rupak Majumdar , Andrey Rybalchenko

Chatbot service providers (e.g., OpenAI) rely on tiered subscription plans to generate revenue, offering black-box access to basic models for free users and advanced models to paying subscribers. However, this approach is unprofitable and…

Cryptography and Security · Computer Science 2026-04-14 Lipeng He , Vasisht Duddu , N. Asokan

Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by…

Logic in Computer Science · Computer Science 2010-12-23 Nils Anders Danielsson

The Rust programming language is famous for its strong ownership regime: at each point, each value is either exclusively owned, exclusively borrowed through a mutable reference, or borrowed as read-only through one or more shared…

Programming Languages · Computer Science 2026-03-31 Wannes Tas , Bart Jacobs

Cogent is a restricted functional language designed to reduce the cost of developing verified systems code. Because of its sometimes-onerous restrictions, such as the lack of support for recursion and its strict uniqueness type system,…

Programming Languages · Computer Science 2021-12-22 Louis Cheung , Liam O'Connor , Christine Rizkallah

Cogent is a restricted functional language designed to reduce the cost of developing verified systems code. Because of its sometimes-onerous restrictions, such as the lack of support for recursion and its strict uniqueness type system,…

Programming Languages · Computer Science 2021-12-24 Louis Cheung , Liam O'Connor , Christine Rizkallah

Discrete-time robust optimal control problems generally take a min-max structure over continuous variable spaces, which can be difficult to solve in practice. In this paper, we extend the class of such problems that can be solved through a…

Optimization and Control · Mathematics 2024-04-30 Jad Wehbeh , Eric C. Kerrigan

Sometimes debates on programming languages are more religious than scientific. Questions about which language is more succinct or efficient, or makes developers more productive are discussed with fervor, and their answers are too often…

Software Engineering · Computer Science 2015-06-04 Sebastian Nanz , Carlo A. Furia

Our contribution in this paper is two folded. We consider first the case of linear programming with real coefficients and give a method which allows the computation of a new upper bound on the distance from the origin to a feasible point.…

Optimization and Control · Mathematics 2020-10-30 Beniamin Costandin , Marius Costandin , Petru Dobra

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called…

Programming Languages · Computer Science 2018-04-20 Ahmed Bouajjani , Constantin Enea , Kailiang Ji , Shaz Qadeer

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…

Programs with floating-point computations are often derived from mathematical models or designed with the semantics of the real numbers in mind. However, for a given input, the computed path with floating-point numbers may differ from the…

Programming Languages · Computer Science 2016-08-08 Hélène Collavizza , Claude Michel , Michel Rueher

The integration of Formal Verification tools with Large Language Models (LLMs) offers a path to scale software verification beyond manual workflows. However, current methods remain unreliable: without a solid theoretical footing, the…

Artificial Intelligence · Computer Science 2025-12-18 PIerre Dantas , Lucas Cordeiro , Youcheng Sun , Waldir Junior

Certifying the safety or robustness of neural networks against input uncertainties and adversarial attacks is an emerging challenge in the area of safe machine learning and control. To provide such a guarantee, one must be able to bound the…

Optimization and Control · Mathematics 2021-09-16 Mahyar Fazlyab , Manfred Morari , George J. Pappas

Automated software verification of concurrent programs is challenging because of exponentially large state spaces with respect to the number of threads and number of events per thread. Verification techniques such as model checking need to…

Programming Languages · Computer Science 2020-04-15 Patrick Metzler , Habib Saissi , Péter Bokor , Neeraj Suri

Reactive programs are ubiquitous in modern applications, and so verification is highly desirable. We present a verification strategy for reactive programs with a large or infinite state space utilising algebraic laws for reactive relations.…

Logic in Computer Science · Computer Science 2018-08-08 Simon Foster , Kangfeng Ye , Ana Cavalcanti , Jim Woodcock

We present the new version of the Loop Acceleration Tool (LoAT), a powerful tool for proving non-termination and worst-case lower bounds for programs operating on integers. It is based on a novel calculus for loop acceleration, i.e.,…

Logic in Computer Science · Computer Science 2022-05-17 Florian Frohn , Jürgen Giesl

Answer set programming (ASP) is a logic programming formalism used in various areas of artificial intelligence like combinatorial problem solving and knowledge representation and reasoning. It is known that enhancing ASP with function…

Artificial Intelligence · Computer Science 2025-09-24 Lukas Gerlach , David Carral , Markus Hecher