Program Translation Via Abstraction and Reimplementation
IEEE Transactions on Software Engineering
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reengineering of old systems to an object-oriented architecture
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
An improved algorithm for identifying objects in code
Software—Practice & Experience
Lackwit: a program understanding tool based on type inference
ICSE '97 Proceedings of the 19th international conference on Software engineering
Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
Identifying objects in legacy systems using design metrics
Journal of Systems and Software
Legacy Information Systems: Issues and Directions
IEEE Software
The Realities of Language Conversions
IEEE Software
Migrating Legacy Systems towards Object-Oriented Platforms
ICSM '97 Proceedings of the International Conference on Software Maintenance
Case Study in Migration to Object-Oriented System Structure Using Design Transformation Methods
CSMR '97 Proceedings of the 1st Euromicro Working Conference on Software Maintenance and Reengineering (CSMR '97)
Strategies for Migration from C to Java
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Extracting object-oriented specification from procedurally oriented programs
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Exploring Legacy Systems Using Types
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Understanding COBOL Systems using Inferred Types
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Strategies for Data Reengineering
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Automated Software Engineering
Automating Program Conversion in Database Reengineering A Wrapper-based Approach
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Semantics-based reverse engineering of object-oriented data models
Proceedings of the 28th international conference on Software engineering
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Database application evolution: a transformational approach
Data & Knowledge Engineering - Special issue: ER 2003
Recovering Data Models via Guarded Dependences
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Data Model Reverse Engineering in Migrating a Legacy System to Java
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
State of the union: type inference via Craig interpolation
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Dependent types for program understanding
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
Legacy information systems, such as banking systems, are usually organized around their data model. Hence, when these systems are migrated to modern environments, translation of the data model involves the most critical decisions, having strong implications on the rest of the translation. In this paper, we report our experience and describe the approaches adopted in migrating a large banking system (ten million lines of code) to Java, starting from a proprietary data model which gives programmers explicit control of the variable overlay in memory. After presenting the basic translation scheme, we discuss the exceptions that may occur in practice. Then, we consider two heuristic approaches useful to reduce the number of cases where a behavior equivalent to that of unions must be reproduced in Java. Finally, we comment on the experimental results obtained so far. Copyright © 2009 John Wiley & Sons, Ltd. In this paper, we report our experience and describe the approaches adopted in migrating a large banking system to Java, starting from a proprietary data model, which gives programmers explicit control of the variable overlay in memory. We consider two heuristics useful to reduce the number of cases where a behavior equivalent to that of unions must be reproduced in Java. We discuss the experimental results obtained so far. Copyright © 2009 John Wiley & Sons, Ltd.