COMPARISON - APPROACHES TO MIGRATION
Traditional approaches are based on converting the code manually or building a translator (a compiler-like program) that will translate the code automatically to its modern version.
Drawbacks in Manual Approach
The approach based on manual conversion is costly and error prone. An army of programmers has to be employed. Programmers have to look at each line of code, understand it, and then rewrite it in the modern language or for the modern environment. Because of human involvement during conversion, the process is prone to errors: subtle mistakes are inadvertently introduced into the code that may be hard to discover.
Mistakes and bugs introduced during conversion will continue to be discovered after field deployment. What is worse is that many times the compounding effect of these programmer-induced mistakes is so much that the translation project is abandoned. The manual-migration landscape is littered with such abandoned projects. The costs can especially be enormous: assuming an optimistic estimate of 20,000 lines of conversion per programmer per year, one million lines of code will take 50 man years to convert. Thus, the manual conversion approach is costly, unreliable, and prone to failure.
Drawbacks in Developing a Cross Compiler
The development of Cross Compiler is aided by parser-generator tools such as Lex, Yacc, Bison, Antlr, etc. However, developing these translators is a complex undertaking. Despite the availability of parser-generators, the backend of the translator coded in Java or C/C++, swells up to tens of thousands of lines of code.
Coupled with the fact that the translation process involves a complex source language and a complex target language, very soon the translator code becomes unwieldy. As this code becomes unwieldy, bug-fixing in the translator takes longer and longer. In most instances the complexity becomes so high that the project is abandoned. In any case the cost of developing a translator can be high: about 2 to 3 man years.
Benefits of Interoperate's Migration Technology
Interoperate's methodology views the translation problem as the problem of relating the semantics of the source language to that of the target language. The translator is a program that transforms the syntax of the source language to that of the target language while preserving the semantics. The front- as well as the back-end of the translator is written using a high-level, rule-based approach. As a result, Interoperate's translators are only a few thousands lines long. Thus, they are easy and quick to develop; bugs can also be fixed with the same ease and quickness. Using its semantics-based approach, Interoperate can develop a translation in 4 to 6 man months.