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
Aggregate structure identification and its application to program analysis
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
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)
ICSE '76 Proceedings of the 2nd international conference on Software engineering
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)
Assembly to High-Level Language Translation
ICSM '98 Proceedings of the International Conference on Software Maintenance
Automated Software Engineering
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)
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 systems are often written in programming languages that support arbitrary variable overlays. When migrating to modern languages, the data model must adhere to strict structuring rules, such as those associated with an object oriented data model, supporting classes, class attributes and inter-class relationships. In this paper, we deal with the problem of automatically transforming a data model which lacks structure and relies on the explicit layout of variables in memory as defined by programmers. We introduce an abstract syntax and a set of abstract rewrite rules to describe the proposed approach in a language neutral formalism. Then, we instantiate the approach for the proprietary programming language that was used to develop a large legacy system we are migrating to Java.