English
Related papers

Related papers: Verifying and Synthesizing Constant-Resource Imple…

200 papers

AI agents that interact with the real world through tool calls pose fundamental safety challenges: agents might leak private information, cause unintended side effects, or be manipulated through prompt injection. To address these…

Artificial Intelligence · Computer Science 2026-05-29 Martin Odersky , Yaoyu Zhao , Yichen Xu , Oliver Bračevac , Cao Nguyen Pham

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

In shared-memory concurrent programming, shared resources can be protected using synchronization mechanisms such as monitors or channels. The connection between these mechanisms and the resources they protect is, however, only given…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-07 Mischael Schill , Sebastian Nanz , Bertrand Meyer

Language models have shown remarkable proficiency in code generation; nevertheless, ensuring type correctness remains a challenge. Although traditional methods, such as constrained decoding, alleviate this problem by externally rejecting…

Programming Languages · Computer Science 2026-02-09 Zhechong Huang , Zhao Zhang , Ruyi Ji , Tingxuan Xia , Qihao Zhu , Qinxiang Cao , Zeyu Sun , Wiggin Zhou , Yingfei Xiong

Type soundness is an important property of modern programming languages. In this paper we explore the idea that "well-typed languages are sound": the idea that the appropriate typing discipline over language specifications guarantees that…

Programming Languages · Computer Science 2016-11-17 Matteo Cimini , Dale Miller , Jeremy G. Siek

In large scale systems such as the Internet, replicating data is an essential feature in order to provide availability and fault-tolerance. Attiya and Welch proved that using strong consistency criteria such as atomicity is costly as each…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-01-12 Matthieu Perrin , Achour Mostefaoui , Claude Jard

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

We present a type-theoretic framework for reasoning about incorrectness in functional programs that interact with effectful, opaque library APIs. Our approach centers on traces -- temporally-ordered sequences of library API invocations --…

Programming Languages · Computer Science 2025-09-03 Yongwei Yuan , Zhe Zhou , Julia Belyakova , Benjamin Delaware , Suresh Jagannathan

In order to automatically infer the resource consumption of programs, analyzers track how data sizes change along program's execution. Typically, analyzers measure the sizes of data by applying norms which are mappings from data to natural…

Programming Languages · Computer Science 2019-08-07 Elvira Albert , Samir Genaim , Raúl Gutiérrez , Enrique Martin-Martin

Protecting confidential data from leaking is a critical challenge in computer systems, particularly given the growing number of observers on the internet. Therefore, limiting information flow using robust security policies becomes…

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

This paper presents a new static analysis for deriving upper bounds on the expected resource consumption of probabilistic programs. The analysis is fully automatic and derives symbolic bounds that are multivariate polynomials of the inputs.…

Programming Languages · Computer Science 2017-11-27 Van Chan Ngo , Quentin Carbonneaux , Jan Hoffmann

Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as…

Programming Languages · Computer Science 2018-04-09 Maximiliano Klemen , Nataliia Stulova , Pedro Lopez-Garcia , José F. Morales , Manuel V. Hermenegildo

Stream-based monitoring is a real-time safety assurance mechanism for complex cyber-physical systems such as unmanned aerial vehicles. The monitor aggregates streams of input data from sensors and other sources to give real-time statistics…

Software Engineering · Computer Science 2026-03-13 Jan Baumeister , Bernd Finkbeiner , Florian Kohn

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

Data replication is essential to ensure reliability, availability and fault-tolerance of massive distributed applications over large scale systems such as the Internet. However, these systems are prone to partitioning, which by Brewer's CAP…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-01-12 Matthieu Perrin , Achour Mostéfaoui , Claude Jard

We consider the verification of lock-free data structures that manually manage their memory with the help of a safe memory reclamation (SMR) algorithm. Our first contribution is a type system that checks whether a program properly manages…

Programming Languages · Computer Science 2019-11-27 Roland Meyer , Sebastian Wolff

We extend the semantics and type system of a lambda calculus equipped with common constructs to be "resource-aware". That is, the semantics keeps track of the usage of resources, and is stuck, besides in case of type errors, if either a…

Programming Languages · Computer Science 2026-03-24 Riccardo Bianchini , Francesco Dagnino , Paola Giannini , Elena Zucca

We propose a verified approach to the formal verification of timed properties using model-checking techniques. We focus on properties expressed using real-time specification patterns, which can be viewed as a subset of timed temporal logics…

Logic in Computer Science · Computer Science 2013-02-01 Nouha Abid , Silvano Dal Zilio , Didier Le Botlan