Eclipse 插件或开源工具,用于对序列图的 java 代码进行逆向工程

发布于 2024-09-04 14:36:45 字数 128 浏览 8 评论 0原文

我正在寻找 Eclipse 插件或开源工具来对序列图进行逆向工程。我尝试使用 Alto UML,但它只给出了所选类的序列图。我想要一个包含方法、输入参数和输出参数的整个调用堆栈的序列图。

您能给我一些关于这方面的指示吗?谢谢!

I am looking out for a eclipse plugin or an open source tool to reverse engineer the sequence diagrams. I tried using Alto UML, but it just gives out sequence diagram of the class chose. I would like to have a sequence diagram of the whole call stack with methods, input arguments and output arugments as well.

Could you please let me know some pointers on this? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

三生一梦 2024-09-11 14:36:45

Architexa 确实有包含方法的整个调用堆栈的序列图。您会发现,与典型的 UML 工具不同,Architexa 更加以代码为中心,因此更适合逆向工程。

-Vineet(Architexa 创始人)

Architexa does have sequence diagrams for the whole call stack with methods. What you will find is that unlike typical UML tools Architexa is much more code-centric and therefore would work much better for reverse engineering.

-Vineet (Architexa founder)

始终不够 2024-09-11 14:36:45

请参阅这篇维基百科文章,比较逆向工程工具。

Look at this Wikipedia article comparing reverse engineering tools.

梦屿孤独相伴 2024-09-11 14:36:45

(重复如何从 java 源代码创建流程图Eclipse 的完整性):

我找到了这个 Eclipse 插件 Flowchart4j V 2.0.0 et

http://www.codeswat.com/

您可以将其用于流程图序列图并将其导出到MS Visio
它只有一个缺点。你必须为此付出代价。

(repeat from How to Create Flowchart from java source code in Eclipse for completeness):

I found this Eclipse plugin Flowchart4j V 2.0.0 et

http://www.codeswat.com/

You can use it for flowchart or sequence diagram and export it to MS Visio.
It has only one disadvantage. You have to pay for it.

寄人书 2024-09-11 14:36:45

Diver:逆向工程的动态交互视图可以解决您的部分问题。它为 Java 应用程序提供静态和动态序列图。但它不存储输入和输出。

它是 Eclipse 的一个插件,可让您:

  • 轻松跟踪 Java 程序
  • 可视化程序的运行时功能
  • 过滤跟踪以使它们更加紧凑
  • 根据运行时发生的情况过滤 IDE
  • 查看源代码编辑器中运行的代码

它位于 Github 还有一个 项目网站

全面披露:我是 Diver 的当前项目负责人

Diver: Dynamic Interactive Views For Reverse Engineering can solve part of your problem. It provides both static and dynamic sequence diagrams for Java applications. It does not store the inputs and outputs though.

It is a plugin for Eclipse and lets you:

  • Easily trace your Java programs
  • Visualize your program’s runtime functionality
  • Filter your traces to make them more compact
  • Filter your IDE based on what occurs at runtime
  • See what code ran in your source code editors

It's on Github and there is also a project web site

Full Disclosure: I am the current project lead for Diver

拍不死你 2024-09-11 14:36:45

看看 MoDisco 开源 eclipse 项目 MoDisco

Take a look at the MoDisco open source eclipse project MoDisco

橘虞初梦 2024-09-11 14:36:45

(重复如何从 java 源代码创建流程图Eclipse 为了完整性):

我不确定是否有一个插件可以做到这一点,但肯定有一些技术可以做到这一点。如果没有可用的插件,理论上可以遵循此类技术的方法来构建一个。我想到的一种这样的技术包含在论文逆向工程序列的对象命名分析中图表由 Atanas Rountev 和 Beth Harkness Connell 绘制。

摘要如下:

UML 序列图通常用于表示软件系统中的对象交互。这项工作考虑从现有代码中提取 UML 序列图以用于软件理解和测试的问题。这种逆向工程的静态分析需要将交互对象从代码映射到序列图对象。我们提出了一种过程间数据流分析算法,该算法可以精确确定哪些对象是某些消息的接收者,并分配适当的图表对象来表示它们。我们的实验表明,大多数消息接收者可以被准确地确定,从而为逆向工程序列图提供高度精确的对象命名。

(repeat from How to Create Flowchart from java source code in Eclipse for completeness):

I am not sure if there is a plugin for this but there are certainly techniques for doing this. If there is no plugin available, theoretically, one could follow the approach of such techniques to build one. One such technique that comes to mind is contained in the paper Object naming analysis for reverse-engineered sequence diagrams by Atanas Rountev and Beth Harkness Connell.

Here's the abstract:

UML sequence diagrams are commonly used to represent object interactions in software systems. This work considers the problem of extracting UML sequence diagrams from existing code for the purposes of software understanding and testing. A static analysis for such reverse engineering needs to map the interacting objects from the code to sequence diagram objects. We propose an interprocedural dataflow analysis algorithm that determines precisely which objects are the receivers of certain messages, and assigns the appropriate diagram objects to represent them. Our experiments indicate that the majority of message receivers can be determined exactly, resulting in highly-precise object naming for reverse-engineered sequence diagrams.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文