She developed ProDAG, a program dependence analysis toolset that provides automated support for software understanding, debugging, test adequacy criteria, and maintenance, and TAOS, a testing environment that supports management of test assets, monitored test execution, automatic test result checking, and test coverage measurement. The Perpetual Testing project is developing technologies to support seamless, perpetual analysis and testing of software through deployment and evolution. Whereas the current dominant paradigm treats testing as a phase that succeeds development and precedes delivery, we are building the foundation for treating analysis and testing as on-going activities to improve quality assurance without pause through several generations of product, in the development environment as well as the deployed environment. Software in the deployed environment is monitored not only to check conformance to required properties but also to validate and refine the models and assumptions on which quality assurance activities in the development environment depend. The degree of monitoring and transmission of information to the development environment differs depending on performance and security requirements of the end-user and is always be under user control.
Perpetual testing is necessarily incremental.
Analysis and testing processes are carried out in response to changes in software artifacts or associated information or in anticipation of change. Improvements to existing technologies focus largely on scalability and incrementality for large evolving systems. Analysis and testing is aimed at attaining and maintaining adequate adherence of all software artifacts to relations captured by a rich web of hypercode links, including dependence relations among software components and among properties and analysis techniques. For more information, go to the Perpetual Testing project page. A formal software architecture specification makes the analysis, design, and construction of a complex system intellectually tractable by characterizing the system at a high level of abstraction.