• Home
  • Search
  • Fast and Effective Well-Definedness Checking
  • Cite Icon8
  • https://doi.org/10.1007/978-3-030-63461-2_4Copy DOI Icon

Fast and Effective Well-Definedness Checking

  • Jan 1, 2020
  • Michael Leuschel
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Well-Definedness is important for many formal methods. In B and Event-B it ensures that certain kinds of errors (e.g., division by 0) cannot appear and that proof rules based on two-valued logic are sound. For validation tools such as ProB, well-definedness is important for constraint solving. B and Event-B establish well-definedness by generating dedicated proof obligations (POs). Unfortunately, the standard provers are not always very good at discharging them. In this paper, we present a new integrated technique to simultaneously generate and discharge well-definedness POs. The implementation contains a dedicated rule-based prover written in Prolog supporting B, Event-B and extensions thereof for data validation. We show that the generation and discharging is significantly faster than existing implementations in rodin and Atelier-B and that a large number of POs are automatically discharged. The POs are fine-grained enough to provide precise source code feedback, and allow inspection of problematic POs within various editors.

Similar Papers
  • Book Chapter
  • Citations35

On the Purpose of Event-B Proof Obligations

  • Sep 16, 2008
  • Stefan Hallerstede
  • Book Chapter
  • Citations21

From Failure to Proof: The ProB Disprover for B and Event-B

  • Jan 01, 2015
  • Sebastian Krings +2
  • Research Article
  • Citations1

Combining decision procedures by (model-)equality propagation

  • Apr 27, 2010
  • Science of Computer Programming
  • Diego Caminha B De Oliveira +2
  • Conference Article
  • Citations9

The CARE toolset for developing verified programs from formal specifications

  • May 22, 1996
  • D Hemer +1
  • Book Chapter
  • Citations10

The B method and the B toolkit

  • Jan 01, 1997
  • Ken Robinson
  • Conference Article
  • Citations2

Scalable Translation Validation of Unverified Legacy OS Code

  • Oct 01, 2019
  • Amer Tahat +3
  • Research Article
  • Citations20

Using induction and rewriting to verify and complete parameterized specifications

  • Dec 01, 1996
  • Theoretical Computer Science
  • Adel Bouhoula
  • Research Article
  • Citations3

Distributing the Workload in a Lazy Theorem-Prover

  • Jun 29, 2007
  • Electronic Notes in Theoretical Computer Science
  • David Deharbe +2
  • Book Chapter
  • Citations22

Using the B formal approach for incremental specification design of interactive systems

  • Jan 01, 1999
  • Yamine Aït-Ameur +2
  • Research Article
  • Citations14

A verification and deployment approach for elastic component-based applications

  • Mar 14, 2017
  • Formal Aspects of Computing
  • Mohamed Graiet +3
  • Research Article
  • Citations13

Improving object-oriented methods by using fuzzy logic

  • Dec 01, 2000
  • ACM SIGAPP Applied Computing Review
  • Francesco Marcelloni +1
  • Single Report

MPROLOG (Multi Value Prolog) Manual and Source Code.

  • Feb 01, 1988
  • Martin Flatebo
  • Research Article
  • Citations4

Bringing CP, SAT and SMT together: Next Challenges in Constraint Solving (Dagstuhl Seminar 19062)

  • Jan 01, 2019
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Sébastien Bardin +2
  • Research Article
  • Citations36

Written Numeral Transcoding in Patients with Alzheimer's Disease

  • Dec 01, 1996
  • Cortex
  • J Kessler +1
  • Book Chapter
  • Citations1

Refinable Record Structures in Formal Methods

  • Jan 01, 2021
  • Asieh Salehi Fathabadi +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.