English
Related papers

Related papers: Diamonds are not forever: Liveness in reactive pro…

200 papers

We describe a type system with mixed linear and non-linear recursive types called LNL-FPC (the linear/non-linear fixpoint calculus). The type system supports linear typing, which enhances the safety properties of programs, but also supports…

Programming Languages · Computer Science 2023-06-22 Bert Lindenhovius , Michael Mislove , Vladimir Zamdzhiev

Linear Temporal Logic (LTL) is one of the most popular temporal logics, that comes into play in a variety of branches of computer science. Among the various reasons of its widespread use there are its strong foundational properties: LTL is…

Artificial Intelligence · Computer Science 2024-02-14 Alessandro Cimatti , Luca Geatti , Nicola Gigante , Angelo Montanari , Stefano Tonetta

Reachability types are a recent proposal to bring Rust-style reasoning about memory properties to higher-level languages, with a focus on higher-order functions, parametric types, and shared mutable state -- features that are only partially…

Programming Languages · Computer Science 2025-10-10 Yuyan Bao , Songlin Jia , Guannan Wei , Oliver Bračevac , Tiark Rompf

Verification of large and complicated concurrent programs is an important issue in the software world. Stateless model checking is an appropriate method for systematically and automatically testing of large programs, which has proved its…

Programming Languages · Computer Science 2016-03-14 Elaheh Ghassabani , Mohammad Abdollahi Azgomi

Runtime verification encompasses several lightweight techniques for checking whether a system's current execution satisfies a given specification. We focus on runtime verification for Linear Temporal Logic (LTL). Previous work describes…

Logic in Computer Science · Computer Science 2025-08-12 Javier Esparza , Vincent Fischer

In this paper the reversibility of executable Interval Temporal Logic (ITL) specifications is investigated. ITL allows for the reasoning about systems in terms of behaviours which are represented as non-empty sequences of states. It allows…

Formal Languages and Automata Theory · Computer Science 2021-07-12 Antonio Cau , Stefan Kuhn , James Hoey

Formal properties represent a cornerstone of the system-correctness proofs based on formal verification techniques such as model checking. Formalizing requirements into temporal properties may be very complex and error prone, due not only…

Logic in Computer Science · Computer Science 2017-09-08 Stefano Tonetta

Languages with gradual information-flow control combine static and dynamic techniques to prevent security leaks. Gradual languages should satisfy the gradual guarantee: programs that only differ in the precision of their type annotations…

Programming Languages · Computer Science 2024-04-10 Tianyu Chen , Jeremy G. Siek

Gradual typing combines static and dynamic typing in the same language, offering the benefits of both to programmers. Static typing provides error detection and strong guarantees while dynamic typing enables rapid prototyping and flexible…

Programming Languages · Computer Science 2016-10-27 Michael M. Vitousek , Jeremy G. Siek

HyperLTL is an extension of linear-time temporal logic for the specification of hyperproperties, i.e., temporal properties that relate multiple computation traces. HyperLTL can express information flow policies as well as properties like…

Logic in Computer Science · Computer Science 2020-05-18 Norine Coenen , Bernd Finkbeiner , César Sánchez , Leander Tentrup

This paper develops a dynamic semantics for incomplete functional programs, starting from the static semantics developed in recent work on Hazelnut. We model incomplete functional programs as expressions with holes, with empty holes…

Programming Languages · Computer Science 2018-11-22 Cyrus Omar , Ian Voysey , Ravi Chugh , Matthew A. Hammer

Designing correct replicated data types (RDTs) is challenging because replicas evolve independently and must be merged while preserving application intent. A promising approach is correct-by-construction development in a proof-oriented…

Programming Languages · Computer Science 2026-03-31 Pranav Ramesh , Vimala Soundarapandian , KC Sivaramakrishnan

The emergence of Large Language Models (LLMs) with strong reasoning capabilities marks a significant milestone, unlocking new frontiers in complex problem-solving. However, training these reasoning models, typically using Reinforcement…

Machine Learning · Computer Science 2026-03-23 Qinghao Hu , Shang Yang , Junxian Guo , Xiaozhe Yao , Yujun Lin , Yuxian Gu , Han Cai , Chuang Gan , Ana Klimovic , Song Han

Reactive synthesis is an automatic way to translate a human intention expressed in some logic into a system of some kind. This thesis has two parts, devoted to logic and to systems. In Part I, we develop two new approaches to CTL*…

Logic in Computer Science · Computer Science 2018-08-29 Ayrat Khalimov

For over a decade, researchers in formal methods tried to create formalisms that permit natural specification of systems and allow mathematical reasoning about their correctness. The availability of fully-automated reasoning tools enables…

Software Engineering · Computer Science 2016-11-17 D. Paun , M. Chechik

Distributed algorithms have many mission-critical applications ranging from embedded systems and replicated databases to cloud computing. Due to asynchronous communication, process faults, or network failures, these algorithms are difficult…

Logic in Computer Science · Computer Science 2016-11-10 Igor Konnov , Marijana Lazic , Helmut Veith , Josef Widder

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida

Rust represents a major advancement in production programming languages because of its success in bridging the gap between high-level application programming and low-level systems programming. At the heart of its design lies a novel…

Programming Languages · Computer Science 2018-08-20 Aaron Weiss , Daniel Patterson , Amal Ahmed

Many modern solvers and program analyzers rely on non-monotone reasoning (e.g. negation-as-failure, speculative updates, backtracking) for which classical monotone fixed-point methods do not apply. The general problem of finding the fixed…

Programming Languages · Computer Science 2026-05-11 Abdullah H. Rasheed , Vijay K. Garg

When a structured tool agent fails mid-execution, the runtime faces a dilemma: replaying the entire task is safe but wasteful, while restoring from a local checkpoint is efficient but can leave committed downstream work tied to an upstream…

Artificial Intelligence · Computer Science 2026-05-25 Ke Yang , Panpan Li , Zonghan Wu , Kejin Xu , Huaxi Huang , Xiaoshui Huang