Automatic High-Quality Reengineering of Database Programs by Temporal
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.