This project is developing and evaluating new techniques for tool-assisted restructuring of large systems. The excessive cost of software evolution is due in large part to inappropriate structure of a system, relative to the changes taking place. Tool-assisted program restructuring is studied for changing a system's structure at lower cost and risk than making changes by hand. In this approach, a tool user selects transformations to apply to chosen program components. The tool checks to make sure that each transformation will preserve the functional behavior of the program. If so, it performs the transformation to the chosen component and updates any related components to preserve consistency. Tool-assisted restructuring has not been demonstrated to be practical in industrial-scale applications. For example, exhaustive interprocedural data flow analysis is required by some tools, but is costly to perform on large programs. Previous restructuring research has not addressed common complicating constructs such as pointer arithmetic, function pointers, comments, textual macros, and conditional compilation. To make the restructuring of large programs practical, this project is developing and adapting techniques to address these problems. Demand-driven data flow is being investigated to overcome many performance problems of exhaustive data flow analysis. Query prioritization and caching of replies are studied to minimize burdensome and potentially incorrect user queries. Testing and semantic differencing may also provide checks of correctness after restructuring. A case study is intended to evaluate the techniques developed and the benefits of large-scale restructuring.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9508745
Program Officer
Frank D. Anger
Project Start
Project End
Budget Start
1995-07-01
Budget End
1999-06-30
Support Year
Fiscal Year
1995
Total Cost
$218,365
Indirect Cost
Name
University of California San Diego
Department
Type
DUNS #
City
La Jolla
State
CA
Country
United States
Zip Code
92093