Описание тега opal-framework

OPAL - это открытая расширяемая библиотека для анализа байт-кода Java, написанная на Scala.
1 ответ

Работа с точными / неточными значениями DomainValues ​​в абстрактной интерпретации является OPAL

В моем OPAL-анализе я создаю доменные значения следующим образом: domain.TypedValue(org.opalj.ai.parameterToValueIndex( caller.isStatic, caller.descriptor, index), typeApproximation.upperTypeBound) В моих объектах typeApproximation у меня есть инфор…
24 июн '16 в 09:06
1 ответ

OPAL-Как построить код в Docker на локальной машине (столкнулся с ошибкой компиляции)?

Я обращаюсь к коду в Docker($docker pull mreif/fse2016: оценка), код может быть скомпилирован и запущен без ошибок на удаленном сервере. В то время как я загружаю его на локальную машину, я столкнулся с некоторыми ошибками при компиляции (используя:…
08 дек '16 в 13:37
1 ответ

"findMethods" не возвращает ожидаемых результатов

Я пытаюсь реализовать анализ (расширяет DefaultOneStepAnalysis) для построения графа вызовов в алгоритмах CHA. Есть три части моего кода: 1) method "doAnalyze" to return the "BasicReport" 2) method "analyze" to find call edges for each method in the…
15 фев '17 в 11:12
1 ответ

OPAL-Как настроить свойства проекта

Пока я выполняю анализ (например, CHADemo в исходном коде OPAL), я всегда получаю предупреждение как [warn][OPAL] the property org.opalj.threads.CPUBoundTasks is unspecified В предыдущем вопросе он предложил файл конфигурации в общем проекте в /src/…
14 дек '16 в 16:50
1 ответ

OPAL: Почему SingleOriginReference больше нельзя найти после экстернализации кода в метод?

Я занимаюсь разработкой статического анализа Java Bytecode с использованием инфраструктуры OPAL. В настоящее время мне нужно изменить структуру кода, чтобы добавить некоторые функции. Это возникло в большом методе, из которого я должен вывести детал…
12 июн '16 в 15:43
1 ответ

OPAL-Относительно реализации граф вызовов конструкции в OPAL

В статье [Линия программного продукта для статического анализа (2014)] приведена графическая схема построения вызовов, связанная с иллюстрацией (листинг 7). В этом примере Line14 относится к построению графа вызовов. в то время как я проверяю код sr…
08 дек '16 в 15:59
1 ответ

OPAL-Framework: получить исключение метода

В OPAL-Framework, как я могу получить все сгенерированные исключения из метода или его дескриптора? Я не мог найти какой-либо метод, возвращающий их. Меня интересуют только те исключения, которые перечислены в декларации throws метода.
29 июл '16 в 10:26
1 ответ

OPAL: создание аннотированного метода вручную

Можно ли в рамках OPAL вручную создать аннотированный метод? В настоящее время у меня есть следующий код: Method(0, "signaturePolymorphicMethod", MethodDescriptor(ObjectType("java/lang/Object"), VoidType), Seq()) и я хочу добавить аннотацию @java.la…
10 июл '16 в 09:38
1 ответ

Отключить консольный вывод из проекта OPAL?

Я использую платформу OPAL для реализации статического анализа. Я задавался вопросом, возможно ли подавить вывод консоли структуры, которая напечатана на консоли во время выполнения. Ниже показана часть вывода. ... [info][OPAL] Bytecod Representatio…
27 июн '16 в 14:08
1 ответ

Могу ли я преобразовать FieldValue в DomainValue в OPAL?

Я пишу статический анализ с использованием фреймворка OPAL. Поэтому я вызываю абстрактную интерпретацию метода, где у меня есть верхние границы типа для переданных параметров как FieldTypes. Это выглядит так: BaseAI.perform(classFile, caller, domain…
13 июн '16 в 10:25
1 ответ

OPAL-в отношении поиска вызовов методов, определенных в абстрактном классе с использованием алгоритма CHA

Вот вопрос, связанный с алгоритмом построения графа вызовов для байт-кода Java с использованием CHA. Поскольку нет конкретной реализации метода для методов в абстрактных классах, добавление границы вызова к таким методам может быть немного обманчивы…
22 янв '17 в 14:09
1 ответ

OPAL: нулевое значение в operandsArray

В настоящее время я занимаюсь разработкой статического анализа кода Java с использованием инфраструктуры OPAL. Я хочу проанализировать следующий метод Java: private void indirectCaller2b(double d, Object o1, Object o2) { indirectCaller1(d, o1, o2); …
18 июн '16 в 11:28