См. Мою компанию (Semantic Designs) Java Front End . Он будет вычислять управляющие графы для методов из исходного кода.
Интерфейс Java построен на основе DMS Software Reengineering Toolkit , который предоставляет общий механизм для манипулирования (синтаксического анализа, анализа [например, извлечения управляющих потоковых графиков]), преобразования и генерации) кода.
Если у вас есть определенный граф управления потоками, DMS предоставляет механизм, позволяющий вам строить обходчик графов, и на этом основании вы можете разумно создавать AST Java, которые затем можно будет использовать для создания исходного кода Java. Очевидно, что ваш граф потока управления должен будет использовать словарь, который легко переводит в концепции Java (например, никакие прологи «не объединяют эти» операторы), иначе вам будет гораздо сложнее создать соответствующий код Java. Если бы вы сгенерировали график из кода Java, это было бы очевидно.