English
Related papers

Related papers: Runtime verification in Erlang by using contracts

200 papers

Formal contracts and assertions are effective methods to enhance software quality by enforcing preconditions, postconditions, and invariants. Previous research has demonstrated the value of contracts in traditional software development…

Software Engineering · Computer Science 2024-01-26 David R. Ferreira , Alexandra Mendes , João F. Ferreira

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

Erlang is a functional programming language with dynamic typing. The language offers great flexibility for destructing values through pattern matching and dynamic type tests. Erlang also comes with a type language supporting parametric…

Programming Languages · Computer Science 2025-08-04 Albert Schimpf , Stefan Wehr , Annette Bieniusa

Smart contracts on a blockchain behave precisely as specified by their code. A vulnerability in this code can lead to unexpected behaviour, which is hard to fix because a blockchain does not allow to change smart contract code after its…

Programming Languages · Computer Science 2019-11-27 Markus Knecht

Smart contracts are Turing-complete programs running on the blockchain. They cannot be modified, even when bugs are detected. The Selfdestruct function is the only way to destroy a contract on the blockchain system and transfer all the…

Software Engineering · Computer Science 2020-10-07 Jiachi Chen

We introduce a new methodology based on refinement for testing the functional correctness of hardware and low-level software. Our methodology overcomes several major drawbacks of the de facto testing methodologies used in industry: (1) it…

Logic in Computer Science · Computer Science 2017-03-17 Mitesh Jain , Panagiotis Manolios

Context: Smart contracts are computerized self-executing contracts that contain clauses, which are enforced once certain conditions are met. Smart contracts are immutable by design and cannot be modified once deployed, which ensures…

Software Engineering · Computer Science 2023-04-14 Ilham Qasse , Mohammad Hamdaqa , Björn Þór Jónsson

Context: Smart contract vulnerabilities pose significant security risks for the Ethereum ecosystem, driving the development of automated tools for detection and mitigation. Smart contracts are written in Solidity, a programming language…

Software Engineering · Computer Science 2025-04-09 Gerardo Iuliano , Davide Corradini , Michele Pasqua , Mariano Ceccato , Dario Di Nucci

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

To govern smart contracts running on Ethereum, multiple Ethereum Request for Comment (ERC) standards have been developed, each containing a set of rules to guide the behaviors of smart contracts. Violating the ERC rules could cause serious…

Cryptography and Security · Computer Science 2024-04-09 Shihao Xia , Shuai Shao , Mengting He , Tingting Yu , Linhai Song , Yiying Zhang

A self-healing software system is an advanced computer program or system designed to detect, diagnose, and automatically recover from faults or errors without human intervention. These systems are typically employed in mission-critical…

Software Engineering · Computer Science 2024-05-06 Zahra Yazdanparast

To realize reliable quantum software, techniques to automatically ensure the quantum software's correctness have recently been investigated. However, they primarily focus on fixed quantum circuits rather than the procedure of building…

Computation and Language · Computer Science 2023-04-03 Masaomi Yamaguchi , Nobukazu Yoshioka

This paper discusses preliminary investigations on the monitorability of contracts for web service descriptions. There are settings where servers do not guarantee statically whether they satisfy some specified contract, which forces the…

Logic in Computer Science · Computer Science 2016-06-03 Annalizz Vella , Adrian Francalanza

To accurately make adaptation decisions, a self-adaptive system needs precise means to analyze itself at runtime. To this end, runtime verification can be used in the feedback loop to check that the managed system satisfies its requirements…

Software Engineering · Computer Science 2023-03-30 Marc Carwehl , Thomas Vogel , Genaína Nunes Rodrigues , Lars Grunske

Blockchain recently became very popular due to its use in cryptocurrencies and potential application in various domains (e.g., retail, healthcare, insurance). The smart contract is a key part of blockchain systems and specifies an agreement…

Cryptography and Security · Computer Science 2023-04-13 Fernando Richter Vidal , Naghmeh Ivaki , Nuno Laranjeiro

Nowadays, smart contracts have become increasingly popular and, as with software development in general, testing is the standard method for verifying their correctness. However, smart contracts require a higher level of certainty regarding…

Software Engineering · Computer Science 2023-07-06 Alexandre Mota , Fei Yang , Cristiano Teixeira

Runtime Verification deals with the question of whether a run of a system adheres to its specification. This paper studies runtime verification in the presence of partial knowledge about the observed run, particularly where input values may…

Logic in Computer Science · Computer Science 2022-07-13 Hannes Kallwies , Martin Leucker , Cesar Sanchez

The emergence of the Industrial Internet results in an increasing number of complicated temporal interdependencies between automation systems and the processes to be controlled. There is a need for verification methods that scale better…

Software Engineering · Computer Science 2017-04-26 Eero Siivola , Seppo Sierla , Hannu Niemistö , Tommi Karhela , Valeriy Vyatkin

Smart contracts are blockchain-based algorithms that execute when specific criteria are satisfied. They are often used to automate the implementation of an agreement so that all parties may be confident of the conclusion right away, without…

Cryptography and Security · Computer Science 2022-12-19 Harry Virani , Manthan Kyada

Smart contracts are a special type of programs running inside a blockchain. Immutable and transparent, they provide means to implement fault-tolerant and censorship-resistant services. Unfortunately, its immutability causes a serious…

Logic in Computer Science · Computer Science 2018-12-04 Evgeniy Shishkin