Abstract:
This paper presents an approach to build a reverse engineering tool, named Halo, for Java projects on the Eclipse platform, a popular integrated development environment; it describes the design ideas and the implementation steps of the Halo tool, which include how to extract model information from program source code using abstract syntax trees, and how to transform, using the adapted Sugiyama layout algorithm, the extracted logical model to the UML class diagrams that are suitable for developers to read. It also discusses some technical difficulties in building the Halo tool and gives the corresponding solutions. Experimental results show that the Halo tool is able to meet the requirements of developers for RE.
Key words:
reverse engineering\ Eclipse platform,
UML class diagram,
automatic layout,
Halo tool
摘要: 在集成开发环境Eclipse平台上为Java项目构建逆向工程工具Halo,描述Halo工具的设计思路和实现步骤,包括利用抽象语法树从程序源代码提取模型信息的方法,通过改进的Sugiyama布局算法将提取出的逻辑模型变换成适合于开发者阅读的UML类图,讨论Halo工具构建过程中的技术难点并给出相应的解决方案。实验结果表明,Halo工具能够满足开发者对逻辑模型可视化的需求。
关键词:
逆向工程,
Eclipse平台,
UML类图,
自动布局,
Halo工具
CLC Number:
WANG Xin, QIU Quan, SUN Hong-Chao. Halo: Reverse Engineering Tool Based on Eclipse[J]. Computer Engineering, 2012, 38(01): 45-47.
王鑫, 裘佺, 孙洪涛. Halo:基于Eclipse的逆向工程工具[J]. 计算机工程, 2012, 38(01): 45-47.