9803665 The main objective of this research is to improve and invent techniques for automatic regression testing. Regression testing, which is an expensive but necessary part of software maintenance, is used to provide confidence that a modification to a program is correct. One negative consequence of the expense of regression testing is that maintainers sometimes do not perform the tests, with disastrous results, because they "know" that a change is correct. The initial focus of this research is a series of experiments with a new technique for reducing the cost (and thereby increasing the use) of regression testing. The technique, which uses a combination of program slices to extract semantically meaningful parts of a program, produces a program called "differences" that captures the semantic change between a previously tested program and a changed version of this program; it should be more efficient to test "differences", because it omits unchanged computations. One goal of this research, which will use C programs, is to assist in the technology transfer of a technique with a rather theoretical basis to industry. In addition, the experiments should suggest improvements and alternatives for reducing the cost of regression testing.***