Danish(DK)English (United Kingdom)
Automatic and Semi-automatic Migration

Automatic Migration

The old system is transformed by a program to a new form, that can be taken into use immediately.

Typically, it is source code that is transformed, although it can be binary code or binary data - often depending on what is available and what is documented.

Selected References

Semi-automatic Migration

The old system is transformed into a new form by a program. Before or after this transformation some modifications or additions must be made by hand.

This can be necessary, if the old system is not too strictly coded, or if some constructs are so rare that defining transformations for them is counter-productive. The amount of code also plays a role: If you only have four pages of code, perhaps it is better to just do it by hand - even if a JavaCC program is more fun Smile.

Selected References

  • Delphi Pascal project
  • DDH Pascal project


A very important part of a successful migration is testing. Ideally, a full suite of tests already exists, and can simply be executed on the migrated system. But this is rare. Often you must construct a test-suite first, so you can test if the migration is successful. And if nothing exists, this task can be a significant part of the effort to migrate.