A. Moran, J. Teisher, A. Gill, E. Pasalic, and J. Veneruso, “Automated translation of legacy code for ATE,” in Proceedings of the IEEE International Test Conference, pp. 148–156, IEEE Computer Society, 2001.

Links

Abstract

When an Automated Testing Equipment (ATE) company designs a new system, the issue of backward compatibility is always a major concern, both for the company and its customers. If backward compatibility is maintained, the ATE application engineers face the difficult task of trying to support new features on an aging system. The alternative is to face the problem of converting old test programs to the new environment. Translation of legacy code involves an automatic translation tool, and some application effort applied to those problems the translator couldn’t resolve. To minimize the amount of work required from the application engineers, the tool needs to be semantically aware; that is, the tool must contain domain specific knowledge and use that knowledge when translating. The more knowledge a tool has at its disposal, the less code an application engineer is forced to translate by hand.

Until recently, it has been difficult to perform automatic translation satisfactorily because it was not cost effective to write a translator that possessed such semantic understanding of the test programs. By making good use of Functional Programming techniques and tools, we were able to construct a cost effective, semantically aware translation tool in a fraction of the time needed by traditional methods. Based upon its performance during testing, we believe the tool to correctly translate the majority of test programs, thereby greatly easing the applications engineers’ burden.

BibTeX

@inproceedings{Moran:01:Legacy,
  author = {Andrew Moran and Jim Teisher and Andrew Gill and Emir Pasalic and John Veneruso},
  title = {Automated translation of legacy code for {ATE}},
  booktitle = {Proceedings of the IEEE International Test Conference},
  year = {2001},
  isbn = {0-7803-7169-0},
  pages = {148--156},
  publisher = {IEEE Computer Society},
}