Correct and Efficient Antichain Algorithms for Refinement Checking

Research output: Contribution to journalArticleAcademicpeer-review

1 Citation (Scopus)
12 Downloads (Pure)


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
Number of pages40
JournalLogical Methods in Computer Science
Issue number1
Publication statusPublished - 2021


  • Algorithms
  • Antichains
  • Benchmarks
  • Refinement checking


Dive into the research topics of 'Correct and Efficient Antichain Algorithms for Refinement Checking'. Together they form a unique fingerprint.

Cite this