English
Related papers

Related papers: An Abstract Contract Theory for Programs with Proc…

200 papers

A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is…

Programming Languages · Computer Science 2011-09-14 Damien Cassou , Emilie Balland , Charles Consel , Julia Lawall

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a…

Software Engineering · Computer Science 2022-09-15 Egon Boerger

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

Contracts are an essential and fundamental component of commerce and society, serving to clarify agreement between multiple parties. While digital technologies have helped to automate many activities associated with contracting, the…

Computers and Society · Computer Science 2020-06-01 John Cummins , Christopher Clack

Logical frameworks based on intuitionistic or linear logics with higher-type quantification have been successfully used to give high-level, modular, and formal specifications of many important judgments in the area of programming languages…

Logic in Computer Science · Computer Science 2007-05-23 Raymond C. McDowell , Dale A. Miller

Consensus is an often occurring problem in concurrent and distributed programming. We present a programming language with simple semantics and build-in support for consensus in the form of communicating transactions. We motivate the need…

Programming Languages · Computer Science 2013-05-08 Carlo Spaccasassi , Vasileios Koutavas

We present assume-guarantee contracts for continuous-time linear dynamical systems with inputs and outputs. These contracts are used to express specifications on the dynamic behaviour of a system. Contrary to existing approaches, we use…

Dynamical Systems · Mathematics 2022-09-07 B. M. Shali , H. M. Heidema , A. J. van der Schaft , B. Besselink

Contract automata allow to formally define the behaviour of service contracts in terms of service offers and requests, some of which are moreover optional and some of which are necessary. A composition of contracts is said to be in…

Formal Languages and Automata Theory · Computer Science 2023-08-24 Davide Basile , Maurice H. ter Beek

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

The ability to negotiate contracts for a wide range of aspects and to provide services conforming to them is a most pressing need in service-oriented architectures. High-level models of contracts are making their way into the area, but…

Software Engineering · Computer Science 2012-09-11 Gordon J. Pace , Anders P. Ravn

This paper concerns the development of metatheory for extensible languages. It uses as its starting point a view that programming languages tailored to specific application domains are to be constructed by composing components from an open…

Programming Languages · Computer Science 2023-12-25 Dawn Michaelson , Gopalan Nadathur , Eric Van Wyk

Computer systems are so complex, so they are usually designed and analyzed in terms of layers of abstraction. Complexity is still a challenge facing logical reasoning tools that are used to find software design flaws and implementation…

Software Engineering · Computer Science 2021-06-18 Ramy Shahin

Contracts specifying a procedure's behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This…

Software Engineering · Computer Science 2022-11-22 Richard Bubel , Dilian Gurov , Reiner Hähnle , Marco Scaletta

In this paper, we present a probabilistic adaptation of an Assume/Guarantee contract formalism. For the sake of generality, we assume that the extended state machines used in the contracts and implementations define sets of runs on a given…

Performance · Computer Science 2009-04-20 Benoît Delahaye , Benoît Caillaud

Hardware-software contracts are abstract specifications of a CPU's leakage behavior. They enable verifying the security of high-level programs against side-channel attacks without having to explicitly reason about the microarchitectural…

Programming Languages · Computer Science 2026-04-13 Arthur Correnson , Haoyi Zeng , Jana Hofmann

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

Cooperation among constraint solvers is difficult because different solving paradigms have different theoretical foundations. Recent works have shown that abstract interpretation can provide a unifying theory for various constraint solvers.…

Artificial Intelligence · Computer Science 2020-09-23 Pierre Talbot , Éric Monfroy , Charlotte Truchet

For engineering software with formal correctness proofs it is crucial that proofs can be efficiently reused in case the software or its specification is changed. Unfortunately, in reality even slight changes in the code or its specification…

Software Engineering · Computer Science 2015-01-20 Maria Pelevina

Computational psychology has the aim to explain human cognition by computational models of cognitive processes. The cognitive architecture ACT-R is popular to develop such models. Although ACT-R has a well-defined psychological theory and…

Logic in Computer Science · Computer Science 2017-02-07 Daniel Gall , Thom Frühwirth

We propose an automated technique for inferring software contracts from programs that are written in a non-trivial fragment of C, called KernelC, that supports pointer-based structures and heap manipulation. Starting from the semantic…

Programming Languages · Computer Science 2016-08-22 María Alpuente , Daniel Pardo , Alicia Villanueva