English
Related papers

Related papers: Reasoning about Polymorphic Manifest Contracts

200 papers

We present a manifest contract system PCFv$\Delta$H with intersection types. A manifest contract system is a typed functional calculus in which software contracts are integrated into a refinement type system and consistency of contracts is…

Programming Languages · Computer Science 2019-09-06 Yuki Nishida , Atsushi Igarashi

Software contracts allow programmers to state rich program properties using the full expressive power of an object language. However, since they are enforced at runtime, monitoring contracts imposes significant overhead and delays error…

Programming Languages · Computer Science 2017-11-13 Phuc C. Nguyen , Thomas Gilray , Sam Tobin-Hochstadt , David Van Horn

Contracts and contract monitoring are a powerful mechanism for specifying properties and guaranteeing them at run time. However, run time monitoring of contracts imposes a significant overhead. The execution time is impacted by the…

Programming Languages · Computer Science 2017-03-31 Matthias Keil , Peter Thiemann

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

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 standard algorithm for higher-order contract checking can lead to unbounded space consumption and can destroy tail recursion, altering a program's asymptotic space complexity. While space efficiency for gradual types---contracts…

Programming Languages · Computer Science 2017-04-05 Michael Greenberg

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. Our approach is sound and relatively complete with respect to a first-order solver…

Programming Languages · Computer Science 2016-03-22 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes significant overhead and delays discovery of faulty components…

Programming Languages · Computer Science 2014-06-17 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Correctness of program transformations in extended lambda calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach to proving correctness is the…

Programming Languages · Computer Science 2010-12-23 Conrad Rau , Manfred Schmidt-Schauß

The higher-dimensional modal mu-calculus is an extension of the mu-calculus in which formulas are interpreted in tuples of states of a labeled transition system. Every property that can be expressed in this logic can be checked in…

Logic in Computer Science · Computer Science 2012-02-17 Martin Lange , Etienne Lozes

Designing large-scale control systems to satisfy complex specifications is hard in practice, as most formal methods are limited to systems of modest size. Contract theory has been proposed as a modular alternative to formal methods in…

Systems and Control · Electrical Eng. & Systems 2022-11-03 Miel Sharf , Bart Besselink , Karl Henrik Johansson

We present a logic named L_{LF} whose intended use is to formalize properties of specifications developed in the dependently typed lambda calculus LF. The logic is parameterized by the LF signature that constitutes the specification. Atomic…

Logic in Computer Science · Computer Science 2022-04-12 Gopalan Nadathur , Mary Southern

For formulas F of propositional calculus I introduce a "metavariable" MF and show how it can be used to define an algorithm for testing satisfiability. MF is a formula which is true/false under all possible truth assignments iff F is…

Logic · Mathematics 2009-11-10 Bernd R. Schuh

Design-by-contract is an important technique for model-based design in which a composite system is specified by a collection of contracts that specify the behavioural assumptions and guarantees of each component. In this paper, we describe…

Logic in Computer Science · Computer Science 2020-07-30 Simon Foster , Ana Cavalcanti , Samuel Canham , Jim Woodcock , Frank Zeyda

We describe a method and tool called \textit{ContractCheck} that allows for the consistency analysis of legal contracts, in particular Sales Purchase Agreements (SPAs). The analysis relies on an encoding of the premises for the execution of…

Logic in Computer Science · Computer Science 2022-12-08 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. While existing gradual type soundness theorems for these languages aim to show that…

Programming Languages · Computer Science 2018-11-07 Max S. New , Daniel R. Licata , Amal Ahmed

Verifying specifications for large-scale control systems is of utmost importance, but can be hard in practice as most formal verification methods can not handle high-dimensional dynamics. Contract theory has been proposed as a modular…

Systems and Control · Electrical Eng. & Systems 2021-11-03 Miel Sharf , Bart Besselink , Karl Henrik Johansson

We initiate the study of computing (near-)optimal contracts in succinctly representable principal-agent settings. Here optimality means maximizing the principal's expected payoff over all incentive-compatible contracts---known in economics…

Data Structures and Algorithms · Computer Science 2020-02-28 Paul Duetting , Tim Roughgarden , Inbal Talgam-Cohen

An uninterpreted program (UP) is a program whose semantics is defined over the theory of uninterpreted functions. This is a common abstraction used in equivalence checking, compiler optimization, and program verification. While simple, the…

Logic in Computer Science · Computer Science 2021-07-28 Hari Govind V K , Sharon Shoham , Arie Gurfinkel

Rational verification refers to the problem of checking which temporal logic properties hold of a concurrent multiagent system, under the assumption that agents in the system choose strategies that form a game-theoretic equilibrium.…

Logic in Computer Science · Computer Science 2022-07-19 Julian Gutierrez , Muhammad Najib , Giuseppe Perelli , Michael Wooldridge
‹ Prev 1 2 3 10 Next ›