Automated Developer Testing: Achievements and Challenges
Speaker: Dr. Tao Xie, North Carolina State University
Date: Friday, October 16, 2009
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. 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. 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 discuss our recent automated testing approaches developed upon the Microsoft Research Pex tool (http://research.microsoft.com/en-us/projects/pex/) in collaboration with Microsoft Research.
Short Bio:
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. 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 an NSF CAREER Award in 2009. He received 2008 and 2009 IBM Faculty Awards 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, including ICSE, ISSTA, ASE, and WWW. URL: http://www.csc.ncsu.edu/faculty/xie/
