Контекстно-зависимый граф вызовов для Java-байт-кода и межпроцедурной структуры анализа потока данных?
В моем проекте мне нужно решить две проблемы.
1: мне нужен контекстно-зависимый граф вызовов для Java (байт-код). Здесь контекст - это стек вызовов метода, т. Е. Для разных точек вызова одного и того же метода граф вызовов включает в себя две копии метода, различая разные точки вызова. Я знаю, что Paddle и Soot могут это сделать, но библиотеки, используемые Paddle, доступны только на win32, и я использую Win64 для больших объемов памяти (необходимо в моем проекте). Может ли Wala генерировать такой контекстно-зависимый граф вызовов? Какие инструменты я должен использовать?
2: я хочу использовать межпроцедурную структуру анализа потока данных в моем проекте. Поскольку я не фокусируюсь на этой теме, я не знаю, какой из них является наиболее подходящим. Я знаю, что Саута внедрила инфраструктуру IFDS/IDE (алгоритм RHS popl 1995), но она не зависит от контекста. WALA также реализует это, и я расследую это. Я хочу знать, существуют ли другие реализации межпроцедурной структуры анализа потока данных для Java. Может быть, jChord также работает для меня.
Кто-нибудь может дать мне какое-нибудь предложение? Спасибо. Студент поппер