Correct and efficient antichain algorithms for refinement checking

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

The notion of refinement plays an important role in software engineering. It is the basis of a stepwise development methodology in which the correctness of a system can be established by proving, or computing, that a system refines its specification. Wang et al. describe algorithms based on antichains for efficiently deciding trace refinement, stable failures refinement and failures-divergences refinement. We identify several issues pertaining to the soundness and performance in these algorithms and propose new, correct, antichain-based algorithms. Using a number of experiments we show that our algorithms outperform the original ones in terms of running time and memory usage. Furthermore, we show that additional run time improvements can be obtained by applying divergence-preserving branching bisimulation minimisation.

Original languageEnglish
Article number8
Pages (from-to)8:1-8:40
Number of pages40
JournalLogical Methods in Computer Science
Volume17
Issue number1
DOIs
Publication statusPublished - 2021

Keywords

  • Algorithms
  • Antichains
  • Benchmarks
  • Refinement checking

Fingerprint Dive into the research topics of 'Correct and efficient antichain algorithms for refinement checking'. Together they form a unique fingerprint.

Cite this