Reengineering of Database Programs


Automatic High-Quality Reengineering of Database Programs by Temporal Abstraction

Yossi Cohen and Yishai A. Feldman
Dept. of Computer Science
Tel Aviv University
69978 Tel Aviv, Israel

Appeared in: Proc. Twelfth Automated Software Engineering Conference, Lake Tahoe, Nov. 1997


The relational database model is currently the target of choice for the conversion of legacy software that uses older models (such as indexed-sequential, hierarchical, or network models). The relational model makes up for its lower efficiency by greater expressive power, and by optimization of queries, using indexes and other means. However, sophisticated analysis is required in order to take advantage of these features, since converting each database access operation separately does not use the greater expressive power of the target database and does not enable it to perform useful optimizations.

By analyzing the behavior of the host program around the database access operations, it is possible to discover patterns such as filtering, joins, and aggregative operations. It is then possible to remove those operations from the host program and re-implement them in the target database query language. This paper describes an automatic system, called MIDAS, that performs high-quality reengineering of legacy database programs in this way. The results of MIDAS were found to be superior to those of the naive one-to-one translation in terms of readability, size, speed, and network data traffic.