Описание тега 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