KLEE: автоматическое создание высокого покрытия без посторонней помощи - это символическая виртуальная машина, построенная на основе инфраструктуры компилятора LLVM.
1 ответ

Как использовать символьное выполнение для поиска ошибки, например SAGE,KLEE,S2E

Как и в заголовке, кто-нибудь знает разницу в способах использования этих инструментов для поиска ошибок? Возможно, kLEE и SAGE могут найти доступ за пределами границ и переполнение буфера, KLEE может использовать утверждения, но есть ли другие спос…
13 июл '15 в 07:55
1 ответ

Отключить предупреждения в llvm-gcc

Я пытаюсь построить проект с открытым исходным кодом с llvm-gcc 4.2 с -emit-llvm флаг. Однако я получаю много ошибок из-за предупреждающих флагов. Пример этих ошибок: cc1: error: unrecognized command line option "-Warray-bounds" cc1: error: unrecogn…
10 май '14 в 21:16
3 ответа

KLEE для C++ кода, который использует pthreads

Я новичок, пытающийся использовать KLEE. Я использую автономный пакет KLEE для программы на C++, которая использует pthreads. Я сгенерировал.o файл и использовал KLEE со следующей опцией klee --libc=uclibc --posix-runtime test.o Но я вижу, что получ…
07 янв '13 в 16:56
3 ответа

Инструменты для символьного исполнения на двоичных файлах

Есть ли инструменты для символического исполнения на двоичных файлах. я имею в виду использование которого, нам не нужно изменять исходный код - например, klee_make_symbolic, или мы можем сделать такие изменения в IR (llvm ir и т. д.), заранее спаси…
19 апр '16 в 06:01
2 ответа

Ошибка конфигурации KLEE

Я пытаюсь установить KLEE, выполнив шаг по адресу: http://klee.github.io/getting-started/ К сожалению, на шаге 06 "Настройте KLEE: из исходного каталога KLEE запустите:" Я получаю следующую ошибку: xxx@xxx18:~/klee$ ./configure --with-llvm=/home/xxx…
01 сен '15 в 17:43
3 ответа

Пределы кли (инструмент анализа программы LLVM)

http://klee.llvm.org/ - это инструмент анализа программ, который работает с помощью символьного выполнения и решения ограничений, находит возможные входные данные, которые могут вызвать сбой программы, и выводит их в качестве тестовых случаев. Это …
21 апр '11 в 10:11
0 ответов

Использование KLEE для получения графа (-ов) вызовов из тест-кейсов

Каждый сгенерированный тест представляет собой путь, и я заинтересован в получении информации о функциях, вызываемых вдоль каждого пути, и оттуда получаю граф вызовов как объединение путей для всех тестов. Это должно отобразить подмножество полного …
05 дек '18 в 15:49
1 ответ

KLEE не находит ошибку неинициализированной переменной

Сейчас я изучаю KLEE и написал простой код: #include "klee/klee.h" #include <stdio.h> #include <stdlib.h> int test(int *p) { int *q = (int *) malloc(sizeof(int)); if ((*p) == (*q)) { printf("reading uninitialized heap memory"); } return …
17 янв '17 в 12:31
1 ответ

Как заставить gcov извлекать данные, даже если программа прервана

Я использую инструмент генерации тестов под названием KLEE, который создает множество тестов для моего кода C99. После этого я запускаю тесты и проверяю покрытие линии с помощью gcov. Похоже, что Gcov обновляет данные покрытия в конце прогона после …
14 июл '11 в 20:47
1 ответ

Какой тип представления может быть '\r\x00\x00\x00' (если обычно у меня шестнадцатеричный код:'\x0\x00\x00\x03')

Я использую программу (klee), которая дает мне тесты кода c. Мне нужно использовать результаты в моей программе. Это не читаемая информация, но некоторые решения представляют собой шестнадцатеричные данные в следующем формате: "\ x0e \ x00 \ x00 \ x…
09 июл '12 в 16:54
1 ответ

Klee с STP против Klee с другим спутниковым решателем

Klee использует STP в качестве решателя ограничений, но теоретически можно изменить его решатель. STP не разрешает операции с плавающей запятой. Если мы решим заменить STP другим решателем ограничений, скажем, z3, сможет ли Klee генерировать огранич…
11 май '15 в 23:25
1 ответ

Как я могу сказать, является ли переменная, вызванная в инструкции в KLEE, символической или конкретной

Я хочу знать, есть ли способ узнать, является ли переменная символической или нет в KLEE, когда KLEE выполняет инструкцию, включающую переменную.
17 мар '16 в 17:16
2 ответа

Может ли возвращаемое значение вызова функции быть символическим, чтобы обойти выполнение этой функции?

Я хочу избегать межпроцедурного символического исполнения. Возможно, иметь возвращаемое значение, которое не будет иметь каких-либо ограничений и может разрешить любое возможное конкретное значение. Возможно ли что-то подобное? Причина, по которой я…
05 июл '18 в 17:43
1 ответ

KLEE: непредвиденная ошибка при встроенной сборке

Я недавно играл с KLEE. Я проследовал за документом " Сборка KLEE (LLVM 3.4) " и успешно выполнил все примеры из учебника. Однако при запуске моей собственной программы с использованием KLEE: $ klee -load=/usr/lib/x86_64-linux-gnu/libssl.so --libc=u…
14 ноя '15 в 15:42
0 ответов

Как перевести встроенные функции в устаревшую архитектуру?

Я хочу запустить klee на оптимизированном по производительности коде, который использует различные расширения набора команд, такие как sse2, sse4.1. К сожалению, интерпретатор llvm-3.4 не поддерживает их: LLVM ERROR: Code generator does not support …
06 мар '15 в 13:50
0 ответов

Сбой Klee при использовании параметров --posix-runtime или --libc=uclibc

Когда я запускаю Klee с опциями --posix-runtime и / или --libc=uclibc, Klee падает с дампом ядра. Почему это происходит?
20 июн '18 в 15:24
2 ответа

Ошибка примера запуска klee LLVM 3.4

Я новичок в KLEE, и попытался установить и протестировать его. Я работал с пошаговыми инструкциями вручную, и, похоже, ошибок не было, но как возникла эта проблема? вот команда, которую я ввожу: dazenhom@dazenhom-ThinkPad-S3-S440:~/Desktop/stp/klee/…
16 май '16 в 14:34
1 ответ

KLEE WARNING неопределенная функция

Я собрал Wireshark в LLVM Затем я начал ссылаться на некоторые библиотеки, которые я также собрал в LLVM, Библиотеки, которые я связывал, были libwsutil, libz а также libpcap, Однако KLEE все еще дает мне предупреждение для неопределенной функции дл…
11 май '14 в 21:01
1 ответ

Как устранить ошибку установки KLEE? Связанный с "subprocess.py"

Я устанавливаю KLEE со следующими инструкциями от http://klee.github.io/getting-started/ Я пришел к шагу 04: ./configure --make-llvm-lib Однако, когда я запускаю команду, появляется следующая ошибка: INFO:Disabling assertions INFO:Configuring for De…
05 июн '15 в 14:13
1 ответ

Как расширить систему сборки klee (llvm)?

контекст Я работаю над вилкой Klee (http://klee.llvm.org) и хочу очистить наш репозиторий, чтобы отделить наш материал от "канонического" кода KLEE. В любом случае, у меня проблемы с пониманием / расширением системы сборки. проблема Структура катало…
25 авг '11 в 15:28