English
Related papers

Related papers: Formal Modelling, Testing and Verification of HSA …

200 papers

Distributed algorithms offer challenges in checking that they meet their specifications. Verification techniques can be extended to deal with the verification of safety properties of distributed algorithms. In this paper, we present an…

Programming Languages · Computer Science 2020-08-10 Horatiu Cirstea , Alexis Grall , Dominique Méry

We present Unit-B, a formal method inspired by Event-B and UNITY. Unit-B aims at the stepwise design of software systems satisfying safety and liveness properties. The method features the novel notion of coarse and fine schedules, a…

Software Engineering · Computer Science 2020-04-01 Simon Hudon , Thai Son Hoang , Jonathan S. Ostroff

Stepwise refinement and Design-by-Contract are two formal approaches for modelling systems. These approaches are widely used in the development of systems. Both approaches have (dis-)advantages. This thesis aims to answer, is it possible to…

Software Engineering · Computer Science 2016-02-08 Victor Rivera

This paper provides an overview of the CODA framework for modelling and refinement of component-based embedded systems. CODA is an extension of Event-B and UML-B and is supported by a plug-in for the Rodin toolset. CODA augments Event-B…

Software Engineering · Computer Science 2013-05-28 Michael Butler , John Colley , Andrew Edmunds , Colin Snook , Neil Evans , Neil Grant , Helen Marshall

We describe verification techniques for embedded memory systems using efficient memory modeling (EMM), without explicitly modeling each memory bit. We extend our previously proposed approach of EMM in Bounded Model Checking (BMC) for a…

Logic in Computer Science · Computer Science 2011-11-09 Malay K. Ganai , Aarti Gupta , Pranav Ashar

This paper presents the PyEB tool, a Python implementation of the Event-B refinement calculus. The PyEB tool takes a Python program and generates several proof obligations that are then passed into the Z3 solver for verification purposes.…

Programming Languages · Computer Science 2025-05-21 Néstor Cataño

Many types of formal verification establish properties about abstract high-level program representations, leaving a large gap to programs at runtime. Although gaps can sometimes be narrowed by techniques such as refinement, a verified…

Logic in Computer Science · Computer Science 2025-03-19 Karl Palmskog , Andreas Lindner , Scott Constable , Roberto Guanciale , Hamed Nemati

Virtual memory is an essential mechanism for enforcing security boundaries, but its relaxed-memory concurrency semantics has not previously been investigated in detail. The concurrent systems code managing virtual memory has been left on an…

Hardware Architecture · Computer Science 2022-03-02 Ben Simner , Alasdair Armstrong , Jean Pichon-Pharabod , Christopher Pulte , Richard Grisenthwaite , Peter Sewell

CHERI-C extends the C programming language by adding hardware capabilities, ensuring a certain degree of memory safety while remaining efficient. Capabilities can also be employed for higher-level security measures, such as software…

Logic in Computer Science · Computer Science 2023-04-26 Seung Hoon Park , Rekha Pai , Tom Melham

We review state-of-the-art formal methods applied to the emerging field of the verification of machine learning systems. Formal methods can provide rigorous correctness guarantees on hardware and software systems. Thanks to the availability…

Programming Languages · Computer Science 2021-04-22 Caterina Urban , Antoine Miné

The main issue with most evaluation schemes today is their "static" nature: the same problems are reused repeatedly, allowing for memorization, format exploitation, and eventual saturation. To measure genuine AI progress, we need evaluation…

Artificial Intelligence · Computer Science 2026-02-17 Zerui Cheng , Jiashuo Liu , Chunjie Wu , Jianzhu Yao , Pramod Viswanath , Ge Zhang , Wenhao Huang

Refinement in Event-B supports the development of systems via proof based step-wise refinement of events. This refinement approach ensures safety properties are preserved, but additional reasoning is required in order to establish liveness…

Software Engineering · Computer Science 2014-07-03 Steve Schneider , Helen Treharne , Heike Wehrheim , David Williams

Trust is a crucial component in collaborative multiagent systems (MAS) involving humans and autonomous AI agents. Rather than assuming trust based on past system behaviours, it is important to formally verify trust by modelling the current…

Computer Science and Game Theory · Computer Science 2023-11-17 Asieh Salehi Fathabadi , Vahid Yazdanpanah

Nearly all web-based interfaces are written in JavaScript. Given its prevalence, the support for high performance JavaScript code is crucial. The ECMA Technical Committee 39 (TC39) has recently extended the ECMAScript language (i.e.,…

Logic in Computer Science · Computer Science 2018-04-18 Cristian Mattarei , Clark Barrett , Shu-yu Guo , Bradley Nelson , Ben Smith , JF Bastien

The Invariant Refinement Method for Self Adaptation (IRM-SA) is a design method targeting development of smart Cyber-Physical Systems (sCPS). It allows for a systematic translation of the system requirements into the system architecture…

Software Engineering · Computer Science 2016-03-30 Jiri Vinarek , Petr Hnetynka

This article presents a verification and validation activity performed in an industrial context, to validate configuration data of a metro CBTC system by creating a formal B model of these configuration data and of their properties. A…

Software Engineering · Computer Science 2012-10-29 Frédéric Badeau , Marielle Doche-Petit

Memory consistency models define the order in which accesses to shared memory in a concurrent system may be observed to occur. Such models are a necessity since program order is not a reliable indicator of execution order, due to…

Programming Languages · Computer Science 2026-03-16 Roger C. Su , Robert J. Colvin

The Release-Acquire (RA) semantics and its variants are some of the most fundamental models of concurrent semantics for architectures, programming languages, and distributed systems. Several steps have been taken in the direction of testing…

Programming Languages · Computer Science 2025-06-11 Parosh Abdulla , Elli Anastasiadi , Mohamed Faouzi Atig , Samuel Grahn

Designing fault tolerance mechanisms for multi-agent systems is a notoriously difficult task. In this paper we present an approach to formal development of a fault tolerant multi-agent system by refinement in Event-B. We demonstrate how to…

Software Engineering · Computer Science 2012-10-29 Inna Pereverzeva , Elena Troubitsyna , Linas Laibinis

The substitution of a system with another one may occur in several situations like system adaptation, system failure management, system resilience, system reconfiguration, etc. It consists in replacing a running system by another one when…

Software Engineering · Computer Science 2014-05-09 Guillaume Babin