English
Related papers

Related papers: Translating Event-B machines to Eiffel programs

200 papers

The goal of this paper is to help mainstream programmers routinely use formal verification on their smart contracts by 1) proposing a new YAML-format for writing general-purpose formal specifications, 2) demonstrating how a formal…

Programming Languages · Computer Science 2019-12-09 Suhabe Bugrara

The development and application of formal methods is a long standing research topic within the field of computer science. One particular challenge that remains is the uptake of formal methods into industrial practices. This paper introduces…

Software Engineering · Computer Science 2014-03-25 Phillip James , Markus Roggenbach

Software correctness is ensured mathematically through formal verification, which involves the resources of generating formal requirement specifications and having an implementation that must be verified. Tools such as model-checkers and…

Software Engineering · Computer Science 2025-08-29 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Smart contracts are the artifact of the blockchain that provide immutable and verifiable specifications of physical transactions. Solidity is a domain-specific programming language with the purpose of defining smart contracts. It aims at…

Software Engineering · Computer Science 2020-05-14 Jian Zhu , Kai Hu , Mamoun Filali , Jean-Paul Bodeveix , Jean-Pierre Talpin

We present a semi-automated framework to construct and reason about programs in a deeply-embedded while-language. The while-language we consider is a simple computation model that can simulate (and be simulated by) Turing Machines with a…

Logic in Computer Science · Computer Science 2025-04-22 Kevin Kappelmann , Fabian Huch , Lukas Stevens , Mohammad Abdulaziz

This paper describes a formal semantics for the Event-B specification language using the theory of institutions. We define an institution for Event-B, EVT, and prove that it meets the validity requirements for satisfaction preservation and…

Logic in Computer Science · Computer Science 2023-06-22 Marie Farrell , Rosemary Monahan , James F. Power

In requirements specification, software engineers create a textual description of the envisioned system as well as develop conceptual models using such tools as Universal Modeling Language (UML) and System Modeling Language (SysML). One…

Software Engineering · Computer Science 2017-10-30 Sabah Al-Fedaghi

Experience with lightweight formal methods suggests that programmers are willing to write specification if it brings tangible benefits to their usual development activities. This paper considers stronger specifications and studies whether…

Software Engineering · Computer Science 2013-08-14 Nadia Polikarpova , Carlo A. Furia , Yu Pei , Yi Wei , Bertrand Meyer

A major determinant of the quality of software systems is the quality of their requirements, which should be both understandable and precise. Most requirements are written in natural language, good for understandability but lacking in…

Software Engineering · Computer Science 2020-04-17 Jean-Michel Bruel , Sophie Ebersold , Florian Galinier , Alexandr Naumchev , Manuel Mazzara , Bertrand Meyer

By adequate employing of complex event processing (CEP), valuable information can be extracted from the underlying complex system and used in controlling and decision situations. An example application area is management of IT systems for…

Software Engineering · Computer Science 2012-08-02 Istvan David

We propose active object languages as a development tool for formal system models of distributed systems. Additionally to a formalization based on a term rewriting system, we use established Software Engineering concepts, including software…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-08 Eduard Kamburjan , Reiner Hähnle

Formal verification techniques are widely used for detecting design flaws in software systems. Formal verification can be done by transforming an already implemented source code to a formal model and attempting to prove certain properties…

Software Engineering · Computer Science 2017-08-28 Gyula Sallai , Ákos Hajdu , Tamás Tóth , Zoltán Micskei

Formal languages let us define the textual representation of data with precision. Formal grammars, typically in the form of BNF-like productions, describe the language syntax, which is then annotated for syntax-directed translation and…

Software Engineering · Computer Science 2015-03-19 Luis Quesada , Fernando Berzal , Juan-Carlos Cubero

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

Autoformalization is the process of automatically translating from natural language mathematics to formal specifications and proofs. A successful autoformalization system could advance the fields of formal verification, program synthesis,…

Machine Learning · Computer Science 2022-05-26 Yuhuai Wu , Albert Q. Jiang , Wenda Li , Markus N. Rabe , Charles Staats , Mateja Jamnik , Christian Szegedy

This paper presents a framework to apply property-based testing (PBT) on top of temporal formal models. The aim of this work is to help software engineers to understand temporal models that are presented formally and to make use of the…

Software Engineering · Computer Science 2017-05-30 Nasser Alzahrani , Maria Spichkova , Jan Olaf Blech

Formal software verification uses mathematical techniques to establish that software has certain properties. For example, that the behaviour of a software system satisfies certain logically-specified properties. Formal methods have a long…

Software Engineering · Computer Science 2019-03-12 Michael Winikoff

The paper presents the essential features of a new member of the UML language family that supports working with object-oriented frameworks. This UML extension, called UML-F, allows the explicit representation of framework variation points.…

Software Engineering · Computer Science 2014-09-25 Marcus Fontoura , Wolfgang Pree , Bernhard Rumpe

We propose an Event-B framework for modeling the underlying theoretical foundations of Event-B. The aim of this framework is to reuse, for Event-B itself, the refinement development process. This framework introduces first, a functional…

Software Engineering · Computer Science 2017-01-05 Jean-Paul Bodeveix , Mamoun Filali , Mohamed Tahar Bhiri , Badr Siala

Interactive proofs are often considered as costs of formal modelling activity. In an incremental development environment such as the Rodin platform for Event-B, information from proof attempts is important input for adapting the model. This…

Software Engineering · Computer Science 2012-11-07 Thai Son Hoang