Equivalence Checking of Non-deterministic Operations
This material is based in part upon work supported by the National Science Foundation under Grant No. 1317249.
Functional and Logic Programming. FLOPS 2018. Lecture Notes in Computer Science
Checking the semantic equivalence of operations is an important task in software development. For instance, regression testing is a routine task 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 version. In order to support a good automation of this process, a solid foundation is required. 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 can be integrated in a property-based testing tool which is used in a software package manager to check the semantic versioning of software packages.
Locate the Document
Antoy S., Hanus M. (2018) Equivalence Checking of Non-deterministic Operations. In: Gallagher J., Sulzmann M. (eds) Functional and Logic Programming. FLOPS 2018. Lecture Notes in Computer Science, vol 10818. Springer, Cham