Как сгенерировать График зависимости программы (PDG) от Bytecode в Java
Я хочу сгенерировать график зависимости программ (PDG) от Java Bytecode для дальнейшего программного анализа. Так как это старое (бумага - с 1987 года и, по-видимому, хорошо известная технология, я думал, что подходящие инструменты будут легко доступны --- однако я не смог их найти.
Фактически расширенный поиск показал лишь несколько результатов:
- Проект Bandera, который был оставлен в 2006 году.
- Проект Indus, который, кажется, не получал никаких усилий с 2007 года, за исключением того, что он был создан с открытым исходным кодом в 2009 году.
- Проект Moose JEE, который кажется довольно новым, поскольку в принципе нет документации.
- И Soot framework, который предоставляет некоторые классы (см. JavaDoc), но, похоже, не хватает реализации для генерации. Фактически, Саут является основой для Бандеры и Инда.
Итак, мой вопрос заключается в следующем: есть ли живая и поддерживаемая реализация? Есть ли у кого-нибудь опыт в одном из вышеупомянутых проектов? Что бы вы порекомендовали?
Спасибо вам за ваш вклад, мы высоко ценим!
Ответы
Ответ 1
Я предлагаю вам проверить WALA, систему, которая извлекает представления SSA из java файлов байтового кода.
У меня нет опыта с этим, но просмотрели ряд технических документов по разработке программного обеспечения, которые, казалось, были продуманны, и были автоматически использованы WALA в качестве основы для их исследований.