News & Events

Atif Memon awarded ASE Most Influential Paper for 2017

November 01, 2017

On November 1st, 2017 Professor Atif Memon was awarded the 32nd IEEE/ACM International Conference on Automated Software Engineering 2017 Most Influental Paper (MIP) Award. He has received many accolades for this paper published by ASE in 2003 entitled "What Test Orcacle Should I Use for Effect GUI Testing?" The MIP commitee stated that "The paper won from an exceptionally strong field of papers published 15+-1 years ago at ASE2001, ASE2002, and ASE2003." One of the most prestigious conferences in the field of Software Engineering, ASE is currently being held at the University of Illinois at Urbana-Champaign, Illinois, USA from October 30 to November 3, 2017.

Memon's paper was written with alumni Ishan Banerjee and Adithya Nagarajan. The abstract is as follows:

Test designers widely believe that the overall effectiveness and cost of software testing depends largely on the type and number of test cases executed on the software. In this paper we show that the test oracle used during testing also contributes significantly to test effectiveness and cost. A test oracle is a mechanism that determines whether a software executed correctly for a test case. We define a test oracle to contain two essential parts: oracle information that represents expected output, and an oracle procedure that compares the oracle information with the actual output. By varying the level of detail of oracle information and changing the oracle procedure, a test designer can create different types of test oracles. We design 11 types of test oracles and empirically compare them on four software systems.

We seed faults in each software to create 100 faulty versions, execute 600 test cases on each version, for all 11 types of oracles. In all, we report results of 660,000 test runs on each software. We show (1) the time and space requirements of the oracles, (2) that faults are detected early in the testing process when using detailed oracle information and complex oracle procedures, although at a higher cost per test case, and (3) that employing expensive oracles results in detecting a large number of faults using relatively smaller number of test cases.