Title: Equality to Equals and Unequals: A Revisit of the Equivalence and Nonequivalence Criteria in Class-Level Testing of Object-Oriented Software
Speaker: Prof. T.H. Tse (Department of Computer Science, The University of Hong Kong)
Time: 15:00, Thursday, August 16th, 2012
Venue: Lecture Room, 3rd Floor, Building 5#, State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences
Abstract: Despite the popularity of object-oriented programming, the testing of such software is a very difficult task.  Many attempts have been proposed by international researchers to solve the problem using black-box testing with algebraic specifications.  There are seven or eight different definitions of the correctness of a program implementation with respect to a specification. Every researcher team claims that their criterion is more comprehensive than others.

In this talk, we will first present a taxonomy of the program correctness criteria through very interesting examples.  We show that none of these criteria can be applied in their present form to real-life situations.  The usual relationship “expected result = actual outcome” in program testing cannot be verified in practice in a finite number of steps in
object-oriented software, because the checking of the equality of objects, known formally as observational equivalence, involves the checking of an infinite number of potential operations.  In addition to the observational
equivalence of objects, we also need to verify the observational nonequivalence of objects.  This will not only increase our effort, but will also add an additional uncertainty about test case allocation in both subdomains.

In the second part of the talk, we outline our theoretical framework which proves that, given a canonical algebraic specification of a class with proper imports and a complete implementation, every existing correctness criterion can be verified very easily.  We also present a surprising finding that the verification of observational equivalence of objects covers the verification of observational nonequivalence of objects, and vice versa. Thus, the theoretical and practical challenges suddenly go away neatly.

Prof. T.H. Tse is a professor in computer science at The University of Hong Kong.  He received the PhD degree from the London School of Economics and was a visiting fellow at the University of Oxford.  His current research interest is in program testing, debugging, and analysis.  He is the steering committee chair of QSIC and an editorial board member of Software Testing, Verification and Reliability, the Journal of Systems and Software, Software:Practice and Experience, and the Journal of Universal Computer Science.  He is a fellow of the British Computer Society, a fellow of the Institute for the Management of Information Systems, a fellow of the Institute of Mathematics and its Applications, and a fellow of the Hong Kong Institution of Engineers.  He was awarded an MBE by The Queen of the United Kingdom. More recently, he received best paper awards in COMPSAC 2008, COMPSAC 2009, and QSIC 2011, as well as a best teacher award from the Faculty of Engineering of The University of Hong Kong in 2012.