Yi Li bio photo

Yi Li

Associate Professor

College of Computing and Data Science (CCDS)
Nanyang Technological University (NTU)

Address: Block N4-02b-63
50 Nanyang Avenue, Singapore 639798
Phone: +65 6790 4287

Email Twitter LinkedIn GitHub Bitbucket Google Scholar ORCID

A paper [1] in collaboration with Sahar Badihi (UBC) and Julia Rubin (UBC) was accepted by the Data Showcase track at MSR 2021. This paper presents a newly created dataset for program equivalence checking techniques. Our dataset unifies and extends benchmarks used in ealier works, contributing 135 equivalent and 113 non-equivalent cases, in both C and Java, to facilitate applicability for different equivalence checking techniques. A quick summary of the paper is given below.

Equivalence checking techniques help establish whether two versions of a program exhibit the same behavior. The majority of popular techniques for formally proving/refuting equivalence are evaluated on small and simplistic benchmarks, omitting “difficult” programming constructs, such as non-lineararithmetic, loops, floating-point arithmetic, and string and array manipulation. This hinders efficient evaluation of these techniques and the ability to establish their practical applicability in real scenarios. This paper addresses this gap by contributing EQBENCH – the largest and most comprehensive benchmark for equivalence checking analysis, which contains 135 equivalent and 113 non-equivalent cases, in both C and Java languages. We envision that EQBENCH can facilitate a more realistic evaluation of equivalence checking techniques, assessing their individual strength and weaknesses. Moreover, this benchmark can be used to facilitate the evaluation of other software-maintenance-related techniques, such as clone and refactoring detection, change impact analysis, and automated test generation.

References

  1. Badihi, S., Li, Y., & Rubin, J. (2021). EQBENCH: A Dataset of Equivalent and Non-equivalent Program Pairs. Proceedings of the 18th Mining Software Repositories Conference (MSR), 610–614.