Specifying and checking refinement relationships in VDM++

Yojiro Kawamata*, Christian Sommer, Fuyuki Ishikawa, Shinichi Honiden

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Formal methods allow to verify several properties of specifications and implementations. Intra-specification consistency means that a specification does not contradict itself. When specifications evolve over time, one also wants to check interspecification consistencies, which mean that specifications defined earlier in the development cycle also hold at a later point in time. VDM++ is a popular and easy-to-use formal specification language. It uses testing instead of formal proofs to validate the consistency of specifications. The strictness of validations thus depends on the completeness of the corresponding test suites. Unfortunately, VDM++ does not support the verification of inter-specification consistencies. We define VDM-R, an extension of VDM++, which allows to annotate relationships between specifications. We also provide the tool VR2EvtB to translate from VDM-R to Event-B. Using an Event-B verifier, we can then formally validate intra- and inter-specification consistencies in an almost fully-automated process.

Original languageEnglish
Title of host publicationSEFM 2009 - 7th IEEE International Conference on Software Engineering and Formal Methods
Pages220-227
Number of pages8
DOIs
Publication statusPublished - 2009 Dec 1
Externally publishedYes
Event7th IEEE International Conference on Software Engineering and Formal Methods, SEFM 2009 - Hanoi, Viet Nam
Duration: 2009 Nov 232009 Nov 27

Publication series

NameSEFM 2009 - 7th IEEE International Conference on Software Engineering and Formal Methods

Other

Other7th IEEE International Conference on Software Engineering and Formal Methods, SEFM 2009
Country/TerritoryViet Nam
CityHanoi
Period09/11/2309/11/27

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Specifying and checking refinement relationships in VDM++'. Together they form a unique fingerprint.

Cite this