Affiliation:
1. Tel Aviv University, Tel Aviv, Israel
2. The Interdisciplinary Center, Herzliya, Israel
Abstract
Old-generation database models, such as the indexed-sequential, hierarchical, or network models, provide record-level access to their data, with all application logic residing in the hosting program. In contrast, relational databases can perform complex operations, such as filter, aggregation, and join, on multiple records without an external specification of the record-access logic. Programs written for relational databases attempt to move as much of the application logic as possible into the database, in order to make the most of the optimizations performed internally by the database.This conceptual gap between the programming styles makes automatic high-quality translation of programs written for the older database models to the relational model difficult. It is not enough to convert just the database-access operations, since this would result in unacceptably inefficient programs. It is necessary to convert parts of the application logic from the procedural style of the hosting program (which is almost always Cobol) to the declarative style of SQL.This article describes an automatic system, called MIDAS, that performs high-quality reengineering of legacy database programs in this way. MIDAS is based on the paradigm of translation by abstraction, transformation, and reimplementation. The abstract representation is based on the Plan Calculus, with the addition of Query Graphs, introduced in this article in order to abstract the temporal behavior of database access patterns.The results of MIDAS's translation were found to be superior to those of the naive translation that only converts database-access operations in terms of readability, size of code, speed, and network data traffic. Initial industrial experience with MIDAS also demonstrates the high quality of its translations on large-scale programs.
Publisher
Association for Computing Machinery (ACM)
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Active Learning for Inference and Regeneration of Applications that Access Databases;ACM Transactions on Programming Languages and Systems;2021-02
2. Using active learning to synthesize models of applications that access databases;Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation;2019-06-08
3. Modernizing Secure OLAP Applications with a Model-Driven Approach;The Computer Journal;2014-08-11
4. A Model Driven Approach for Automatically Improving OLAP Legacy Applications with Security;Proceedings of the 10th International Workshop on Security in Information Systems;2013
5. Detecting Refactored Clones;ECOOP 2013 – Object-Oriented Programming;2013