English
Related papers

Related papers: Simplifying Contract-Violating Traces

200 papers

Runtime verification consists in observing and collecting the execution traces of a system and checking them against a specification, with the objective of raising an error when a trace does not satisfy the specification. We consider…

Logic in Computer Science · Computer Science 2025-11-04 Chana Weil-Kennedy , Darine Rammal , Christophe Gaston , Arnault Lapitre

To avoid costly security patching after software deployment, security-by-design techniques (e.g., STRIDE threat analysis) are adopted in organizations to root out security issues before the system is ever implemented. Despite the global gap…

Cryptography and Security · Computer Science 2022-08-03 Winnie Mbaka , Katja Tuma

Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is…

Software Engineering · Computer Science 2007-05-23 Ludovic Langevine , Mireille Ducasse

Conformance checking deals with collating modeled process behavior with observed process behavior recorded in event data. Alignments are a state-of-the-art technique to detect, localize, and quantify deviations in process executions, i.e.,…

Software Engineering · Computer Science 2022-11-23 Daniel Schuster , Niklas Föcking , Sebastiaan J. van Zelst , Wil M. P. van der Aalst

Due to the inherent immutability of blockchain technology, smart contract updates require their deployment at new addresses rather than modifying existing ones, thus fragmenting version histories and creating critical blind spots for…

Software Engineering · Computer Science 2025-07-09 Fatou Ndiaye Mbodji , Vinny Adjibi , Moustapha Awwalou Diouf , Gervais Mendy , Kui Liu , Jacques Klein , Tegawende Bissyande

Industrial cyber-infrastructure is normally a multilayered architecture. The purpose of the layered architecture is to hide complexity and allow independent evolution of the layers. In this paper, we argue that this traditional strict…

Software Engineering · Computer Science 2020-04-14 Sidharta Andalam , Daniel Jun Xian Ng , Arvind Easwaran , Karthik Thangamariappan

TLA+ is a formal language for specifying systems, including distributed algorithms, that is supported by powerful verification tools. In this work we present a framework for relating traces of distributed programs to high-level…

Programming Languages · Computer Science 2024-09-18 Horatiu Cirstea , Markus A. Kuppe , Benjamin Loillier , Stephan Merz

As the industrial cyber-infrastructure become increasingly important to realise the objectives of Industry~4.0, the consequence of disruption due to internal or external faults become increasingly severe. Thus there is a need for a…

Software Engineering · Computer Science 2020-04-14 Sidharta Andalam , Daniel Jun Xian Ng , Arvind Easwaran , Karthik Thangamariappan

In this paper we discuss how conventional business contracts can be converted into smart contracts---their electronic equivalents that can be used to systematically monitor and enforce contractual rights, obligations and prohibitions at run…

Computers and Society · Computer Science 2018-05-03 Carlos Molina-Jimenez , Ellis Solaiman , Ioannis Sfyrakis , Irene Ng , Jon Crowcroft

Timing side-channel attacks exploit variations in program execution time to recover sensitive information. Cryptographic implementations are especially vulnerable to these attacks, since even small timing differences in operations such as…

Cryptography and Security · Computer Science 2026-04-21 Nges Brian Njungle , Edwin P. Kayang , Mishel J. Paul , Michel A. Kinsy

The behavior of concurrent, asynchronous procedures depends in general on the call context, because of the global protocol that governs scheduling. This context cannot be specified with the state-based Hoare-style contracts common in…

Logic in Computer Science · Computer Science 2023-10-09 Reiner Hähnle , Eduard Kamburjan , Marco Scaletta

Offline runtime verification involves the static analysis of executions of a system against a specification. For distributed systems, it is generally not possible to characterize executions in the form of global traces, given the absence of…

Software Engineering · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Arnault Lapitre , Pascale Le Gall

This paper introduces a new technique for dynamic verification of component-based real-time systems based on statistical inference. Verifying such systems requires checking two types of properties: functional and real-time. For functional…

Software Engineering · Computer Science 2015-01-13 Chandrakana Nandi , Aurelien Monot , Manuel Oriol

The execution of decentralized applications on blockchains is limited today by technical and organizational barriers, including scalability and the high complexity to specify execution correctly for developers as well as for domain experts…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-14 Felix Härer

Business contracts, particularly sale and purchase agreements, often contain a large number of clauses and are correspondingly long and complex. In practice, it is therefore a great challenge to keep track of their legal context and to…

Logic in Computer Science · Computer Science 2025-04-28 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

Most existing pre-trained language models for source code focus on learning the static code text, typically augmented with static code structures (abstract syntax tree, dependency graphs, etc.). However, program semantics will not be fully…

Software Engineering · Computer Science 2023-06-14 Yangruibo Ding , Ben Steenhoek , Kexin Pei , Gail Kaiser , Wei Le , Baishakhi Ray

Static source code analysis is a powerful tool for finding and fixing bugs when deployed properly; it is, however, all too easy to deploy it in a way that looks good superficially, but which misses important defects, shows many false…

Software Engineering · Computer Science 2022-02-25 Flash Sheridan

As modern software systems grow in complexity and operate in dynamic environments, the need for runtime analysis techniques becomes a more critical part of the verification and validation process. Runtime verification monitors the runtime…

Software Engineering · Computer Science 2025-09-23 Cristina Stratan , Claudio Mandrioli , Domenico Bianculli

Smart contracts are programs that execute transactions involving independent parties and cryptocurrencies. As programs, smart contracts are susceptible to a wide range of errors and vulnerabilities. Such vulnerabilities can result in…

Cryptography and Security · Computer Science 2023-07-03 Sundas Munir , Walid Taha

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen