English
Related papers

Related papers: Runtime verification in Erlang by using contracts

200 papers

Model checking temporal properties of software is algorithmically hard. To be practically feasible, it usually requires the creation of simpler, abstract models of the software, over which the properties are checked. However, creating…

Formal Languages and Automata Theory · Computer Science 2025-03-17 Jesper Amilon , Dilian Gurov

System relevant embedded software needs to be reliable and, therefore, well tested, especially for aerospace systems. A common technique to verify programs is the analysis of their abstract syntax tree (AST). Tree structures can be…

Software Engineering · Computer Science 2017-01-09 Frank Flederer , Ludwig Ostermayer , Dietmar Seipel , Sergio Montenegro

Large language models (LLMs) have enabled natural-language-driven automation of electronic design automation (EDA) workflows, but reliable execution of generated scripts remains a fundamental challenge. In LLM-based EDA tasks, failures…

Software Engineering · Computer Science 2026-04-22 Dinithi Jayasuriya , Aravind Saravanan , Nilesh Ahuja , Amanda Rios , Amit Trivedi

Smart contracts are programs that are executed on a blockhain. They have been used for applications in voting, decentralized finance, and supply chain management. However, vulnerabilities in smart contracts have been abused by hackers,…

Programming Languages · Computer Science 2021-10-19 Timothy Mou , Michael Coblenz , Jonathan Aldrich

We present a new feature of the open-source model checker Kind 2 which checks whether a component contract is realizable; i.e., it is possible to construct a component such that for any input allowed by the contract assumptions, there is…

Logic in Computer Science · Computer Science 2022-05-19 Daniel Larraz , Cesare Tinelli

Finite-state models are ubiquitous in the study of concurrent systems, especially controllers and servers that operate in a repetitive cycle. In this paper, we show how to extract finite state models from a run of a multi-threaded Java…

Software Engineering · Computer Science 2024-07-26 KP Jevitha , Bharat Jayaraman , M Sethumadhavan

Programs executed on a blockchain - smart contracts - have high financial stakes; their correctness is crucial. We argue, that this correctness needs to be foundational: correctness needs to be based on the operational semantics of their…

In order to reason about the behaviour of programs described in a programming language, a mathematically rigorous definition of that language is needed. In this paper, we present a machine-checked formalisation of concurrent Core Erlang (a…

Programming Languages · Computer Science 2023-11-20 Péter Bereczky , Dániel Horpácsi , Simon Thompson

The ubiquity of computing devices has led to an increased need to ensure not only that the applications deployed on them are correct with respect to their specifications, but also that the devices are used in an appropriate manner,…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-30 Luke Chircop , Christian Colombo , Gordon J. Pace

In this paper we present an algorithm for performing runtime verification of a bounded temporal logic over timed runs. The algorithm consists of three elements. First, the bounded temporal formula to be verified is translated into a monadic…

Logic in Computer Science · Computer Science 2007-06-01 Henrik Reif Andersen , Kaare J. Kristoffersen

Runtime monitoring is generally considered a light-weight alternative to formal verification. In safety-critical systems, however, the monitor itself is a critical component. For example, if the monitor is responsible for initiating…

Logic in Computer Science · Computer Science 2021-10-25 Dauer J. C. , Finkbeiner B. , Schirmer S

Reliability of complex Cyber-Physical Systems is necessary to guarantee availability and/or safety of the provided services. Diverse and complex fault tolerance policies are adopted to enhance reliability, that include a varied mix of…

Software Engineering · Computer Science 2022-08-26 Alessandro Fantechi , Gloria Gori , Marco Papini

We aim to reason about the correctness of behaviour-preserving transformations of Erlang programs. Behaviour preservation is characterised by semantic equivalence. Based upon our existing formal semantics for Core Erlang, we investigate…

Programming Languages · Computer Science 2022-08-31 Dániel Horpácsi , Péter Bereczky , Simon Thompson

This paper studies obfuscation techniques for Erlang programs at the source, abstract syntax tree, BEAM assembly, and BEAM bytecode levels. We focus on transformations that complicate reverse engineering, decompilation, and recompilation…

Programming Languages · Computer Science 2026-04-16 Gregory Morse , Tamás Kozsik

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

Recently, the coexistence of ultra-reliable and low-latency communication (URLLC) and enhanced mobile broadband (eMBB) services on the same licensed spectrum has gained a lot of attention from both academia and industry. However, the…

Networking and Internet Architecture · Computer Science 2020-04-02 Aunas Manzoor , S. M. Ahsan Kazmi , Shashi Raj Pandey , Choong Seon Hong

Smart contracts are blockchain programs that often handle valuable assets. Writing secure smart contracts is far from trivial, and any vulnerability may lead to significant financial losses. To support developers in identifying and…

Cryptography and Security · Computer Science 2023-06-09 Monika di Angelo , Thomas Durieux , João F. Ferreira , Gernot Salzer

Blockchain systems and smart contracts provide ways to securely implement multi-party transactions without the use of trusted intermediaries, which currently underpin many commercial transactions. However, they do so by transferring trust…

Logic in Computer Science · Computer Science 2018-11-16 Ron van der Meyden

Blockchains are decentralized systems that provide trustable execution guarantees. Smart contracts are programs written in specialized programming languages running on blockchains that govern how tokens and cryptocurrency are sent and…

Logic in Computer Science · Computer Science 2024-01-23 Margarita Capretto , Martin Ceresa , Cesar Sanchez

Rule-based policy and contract systems have rarely been studied in terms of their software engineering properties. This is a serious omission, because in rule-based policy or contract representation languages rules are being used as a…

Artificial Intelligence · Computer Science 2007-05-23 Adrian Paschke