[6-26]Automated Developer Testing: Achievements and Challenges
Date:2009-06-23
Title:Automated Developer Testing: Achievements and Challenges
Speaker:Tao Xie(谢涛), North Carolina State University
Time:9:30 am, June 26
Venue:Lecture Room,State Key Lab of Computer Science, Level 3 Building #5
Abstract:
Developer testing, a common step in software development, involves generating sufficient test inputs and checking the behavior of the program under test during the execution of the test inputs. Complicated logics inside a method make generating appropriate arguments difficult. In testing object-oriented programs, generating method sequences to put the receiver object or argument objects into appropriate states further complicates test-input generation. Existing industrial and academic tools incorporate various techniques to address the challenges of generating sufficient test inputs. After the generated test inputs are executed, program crashes or uncaught exceptions can be used to indicate program problems, especially robustness problems. However, some program problems such as producing wrong program outputs do not crash the program. Since manually inspecting the outputs of a large number of generated test inputs is not feasible, existing industrial and academic tools incorporate various techniques to address the challenges of checking the behavior of the program under test during the execution of the test inputs. This talk will present an overview of achievements and challenges in improving automation in developer testing, especially on test-input generation (i.e., generating sufficient test inputs) and test oracles (i.e., checking the behavior of the program under test). This talk will also briefly discuss our recent approaches developed upon the Microsoft Research Pex tool (http://research.microsoft.com/en-us/projects/pex/) and general research methodologies.
Biography:
Tao Xie is an Assistant Professor in the Department of Computer Science at North Carolina State University. He received his Ph.D. in Computer Science from the University of Washington in 2005, advised by David Notkin. Before that, he received an M.S. in Computer Science from Peking University in 2000, advised by Hong Mei, and a B.S. in Computer Science from Fudan University in 1997. His research interests are in software engineering, under two major themes: automated software testing and mining software engineering data. Besides doing research, he has contributed to understanding the software engineering research community. He has served as ACM SIGSOFT history liaison in the SIGSOFT Executive Committee. He received a 2008 IBM Faculty Award and a 2008 IBM Jazz Innovation Award. He is Program Co-Chair of 2009 IEEE International Conference on Software Maintenance (ICSM). He has served on program committees of various conferences and workshops, including ICSE, ASE, ISSTA, and WWW.
URL:http://www.csc.ncsu.edu/faculty/xie/