OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Creating object-oriented designs from legacy FORTRAN code
Journal of Systems and Software
Deriving an Object Model from Legacy Fortran Code
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Migrating Legacy Systems towards Object-Oriented Platforms
ICSM '97 Proceedings of the International Conference on Software Maintenance
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
Reengineering legacy systems for distributed environments
Journal of Systems and Software
Evidence Driven Object Identification in Procedural Code
STEP '99 Proceedings of the Software Technology and Engineering Practice
Reengineering procedural into object-oriented systems
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Recovering abstract data types and object instances from a conventional procedural language
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Finding objects in procedural programs: an alternative approach
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Scenarios for the Identification of Objects in Legacy Systems
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
A Case Study of Applying an Eclectic Approach to Identify Objects in Code
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
A Framework for Migrating Procedural Code to Object-Oriented Platforms
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
Source transformation, analysis and generation in TXL
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proof-transforming compilation of programs with abrupt termination
Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
Reusability is an important software engineering concept actively advocated for the last forty years. While reusability has been addressed for systems implemented using the same programming language, it does not usually handle interoperability with different programming languages. This paper presents a solution for the reuse of Java code within Eiffel programs based on a source-to-source translation from Java to Eiffel. The paper focuses on the critical aspects of the translation and illustrates them by formal means. The translation is implemented in the freely available tool J2Eif; it provides Eiffel replacements for the components of the Java runtime environment, including Java Native Interface services and reflection mechanisms. Our experiments demonstrate the practical usability of the translation scheme and its implementation, and record the performance slow-down compared to custom-made Eiffel applications: automatic translations of java.util data structures, java.io services, and SWT applications can be re-used as Eiffel programs, with the same functionalities as their original Java implementations.