ASTParser и зависимость между методами - PullRequest
0 голосов
/ 02 марта 2011

Я использую ASTParser для анализа исходного кода Java в проекте. Мне удалось получить имя и тип возвращаемого значения всех методов в разных классах моего Java-проекта. Теперь мне интересно, возможно ли иметь зависимости между методами в main. На самом деле я не прочитал всю документацию для этого класса, которая немного сложна. Вы знаете, возможно ли иметь представление о взаимосвязанности методов в основной программе? Если это невозможно, есть ли другой API, который я могу использовать?

Спасибо.

1 Ответ

1 голос
/ 02 марта 2011

Известно, что эта проблема очень сложна из-за сложности определения, какие конкретные методы будут вызываться, поскольку Java допускает переопределение большинства методов.В худшем случае это неразрешимо, и поэтому лучшее, что вы сможете получить - это консервативное приближение.Соответственно, нет единого хорошего алгоритма для решения этой проблемы, хотя многие исследовательские работы пытались ответить на этот вопрос в некоторой степени.

* * * * * * * * * * * * * * *анализа, и смогли получить очень точный график вызовов для программы.Однако для этого потребуется научиться использовать новый фреймворк вместо ASTParser, который вы используете сейчас.

В этой статье также утверждается, что был разработан хороший анализ типов для Javaэто позволяет для статического разрешения метода.Он работает путем компиляции кода Java на свой собственный промежуточный язык, и, вероятно, не будет работать с ASTParser.

...