9703108 Useful software evolves: It is corrected, enhanced, and adapted to new platforms. The cost of such software is dominated by the costs of testing and maintenance; the long-term quality of such software is dependent on the effectiveness of testing and maintenance. The overall goal of this project is to improve the state of the art and the state of the practice in software testing and maintenance. The research component of this work addresses regression testing: the testing of modified software. This effort has two primary objectives: (1) to develop efficient, effective, and practical techniques for selectively retesting modified software; (2) to analytically and empirically investigate factors in software and test design that affect the regression testability of software, and develop techniques for measuring and improving regression testability. The educational component of this work investigates a maintenance-and-testing- first software engineering curriculum, in which students experience the problems of maintaining and testing an existing software system and specify and design enhancements to the system. The objectives of this effort are: (1) to provide practical experience with testing and maintenance, and (2) to encourage future software engineers to proactively evaluate the impact of their actions on testability and maintainability. ***