Regression Testing and Test Selection Tao Xie Abstract A test case consists of two parts: a test input to exercise the program under test and a test oracle to check the correctness of the test execution. A test oracle is often in the form of executable assertions such as in the JUnit testing framework. Manually generated test cases are valuable in exposing program faults in the current program version or regression faults in future program versions. However, manually generated test cases are often insufficient for assuring high software quality.We can then use an existing test-generation tool to generate new test inputs to augment the existing test suite. However, without specifications these automatically generated test inputs often do not have test oracles for exposing faults. We have developed an automatic approach for augmenting an automatically generated unit-test suite with regression oracle checking. The augmented test suite has an improved capability of guarding against regression faults. We have also developed several test selection approaches for selecting the most valuable subset of generated test inputs for inspection and equip them with test oracles. The selected tests have a high probability of exposing faults or failures, or exposing special behavior of the program under test. 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, advised by David Notkin, 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, with an emphasis on automated software testing and verification, mining software engineering data, software security testing and analysis, testing and analysis of aspect-oriented programs, testing and analysis of web services and applications, software evolution, and program comprehension. He has served on program committees of ASE 2006/2007, ISSRE 2006, and AOSD 2007 as well as a number of international conferences and workshops. Besides doing research, he has contributed to understanding the software engineering research community. Home page: http://www.csc.ncsu.edu/faculty/xie/