English

Equivalence Checking of Non-deterministic Operations

Programming Languages 2019-09-23 v1

Abstract

Checking the semantic equivalence of operations is an important task in software development. For instance, regression testing is a routine task performed when software systems are developed and improved, and software package managers require the equivalence of operations in different versions of a package within the same major number version. A solid foundation is required to support a good automation of this process. It has been shown that the notion of equivalence is not obvious when non-deterministic features are present. In this paper, we discuss a general notion of equivalence in functional logic programs and develop a practical method to check it. Our method is integrated in a property-based testing tool which is used in a software package manager to check the semantic versioning of software packages.

Keywords

Cite

@article{arxiv.1909.09562,
  title  = {Equivalence Checking of Non-deterministic Operations},
  author = {Sergio Antoy and Michael Hanus},
  journal= {arXiv preprint arXiv:1909.09562},
  year   = {2019}
}
R2 v1 2026-06-23T11:21:35.352Z