Swarthmore College Department of Computer Science

Talk by Chris Murphy, University of Pennsylvania

How to test software that can't be tested
Mon, March 19, 2012
SCI 240, 4:20 pm (cookies at 4:00)

Abstract

Software testing is important. But it is challenging, too, particularly for software for which it is difficult or impossible to know in advance what the correct output should be. Applications in domains such as machine learning, simulation, optimization, and scientific computing were once considered "non-testable" because there is no "test oracle" to indicate correctness; after all, if we knew what the right output should be, there would be no need to write the software in the first place. How, then, can we test software that can't be tested?

This talk will describe my research into this problem, and introduce an approach called "metamorphic testing", which has been shown to be effective at finding bugs in such "non-testable" programs. In describing my work, I will also talk about software testing as a general area of research, and discuss practices and methodologies that students can use to conduct quality research in this important and complex field.