Инструменты для создания графа потока управления из исходного кода - PullRequest
3 голосов
/ 09 октября 2009

Мне нужен инструмент для генерации графа потока управления из исходного кода Java. Есть ли такие инструменты в наличии? Есть ли возможность также генерировать исходный код, если у меня есть график потока управления?

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

См. Мою компанию (Semantic Designs) Java Front End . Он будет вычислять управляющие графы для методов из исходного кода.

Интерфейс Java построен на основе DMS Software Reengineering Toolkit , который предоставляет общий механизм для манипулирования (синтаксического анализа, анализа [например, извлечения управляющих потоковых графиков]), преобразования и генерации) кода.

Если у вас есть определенный граф управления потоками, DMS предоставляет механизм, позволяющий вам строить обходчик графов, и на этом основании вы можете разумно создавать AST Java, которые затем можно будет использовать для создания исходного кода Java. Очевидно, что ваш граф потока управления должен будет использовать словарь, который легко переводит в концепции Java (например, никакие прологи «не объединяют эти» операторы), иначе вам будет гораздо сложнее создать соответствующий код Java. Если бы вы сгенерировали график из кода Java, это было бы очевидно.

1 голос
/ 09 октября 2009

Советник Sparx Systems '* имеет инструмент, который подключается к отладчику и генерирует диаграммы последовательности UML:

Из рекламной статьи Sparx:

Отладчики, встроенные в Enterprise Architect, специально предназначены для того, чтобы дать возможность разработчику или тестировщику собирать информацию трассировки стека, когда они "просматривают" исполняемый код, выполняя проверку времени выполнения приостановленных потоков. Затем они могут использовать окончательную историю трассировки стека для генерации диаграмм последовательности в Enterprise Architect, преобразовывая фактическое выполнение кода и вызовы в визуальные диаграммы.

Я почти уверен, что это одностороннее преобразование - без кругового отключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...