Experience Report : Rapid Reengineering of Legacy Software using Java Reflection

semanticscholar(2017)

引用 0|浏览0
暂无评分
摘要
The objective of this paper is to describe our experience in rapidly reengineering legacy software through the application of Java reflection in a research compiler. This process would be of value to language evolution and development e↵orts, in general, and reengineering e↵orts, in particular. It was performed in the course of a software project that has slowly evolved from a simple language translator to a sophisticated verifying compiler with multiple back-ends over a 20-year period, even as the language itself has continued to change with research progress. To minimize the temporal costs of refactoring legacy code in the face of continuous evolution of the language and the need for new additional components (e.g., translators for multiple languages) for various uses in our project, we used a reflection-based, generic walker based on a proper implementation of the visitor pattern. This paper describes the dynamic walker and our experience in employing the walker for code generation.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要