Replies: 6 comments 4 replies
-
На чём тормозится исполнение?Код вызывает
|
Beta Was this translation helpful? Give feedback.
-
Почему в searcher.update может прийти 1 состояние, из которого недостижим таргет?Такое может быть в следующем случае. assume(x == 0) # target is reachable from here via CFG
if x == 0: # here we get only one state from fork, so searcher.update will get just one state
exit(0) # target is unreachable from here, so we drop the state and lose confidence rate
else:
target() |
Beta Was this translation helpful? Give feedback.
-
Почему удалённые состояния, возникшие из internal fork'ов, учитываются в рассчёте confidence rate?Типический пример лога: Состояние 6 учитывается в рассчёте CR, хотя не должно. |
Beta Was this translation helpful? Give feedback.
-
Нужно ли вообще учитывать
|
Beta Was this translation helpful? Give feedback.
-
Можно ли дойти до этой строки?
|
Beta Was this translation helpful? Give feedback.
-
|
Запуск на релизе с TL 240 секунд, в первом столбце миллисекунды, которые заняло исполнение инструкции. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
flite
источник: архив из Yummy Research Team от 12 мая 2023 г.
запуск на коммите KLEE b3edd7e в дебаге
опции запуска:
из файла удаляю всё кроме одной трассы, которую дебажу
1 трасса
Витя утверждает, что TP
В трассе 12 точек (5 unimportant), мы не достигаем даже первую
Запуск трассы полностью
Запуск начинается с этой функции:
Первая точка в трассе - вызов
cg_make_params(utt);(стр. 168), до него не можем дойти за 120 секунд, максимально доходим до вызоваval_cg_db.В конце возвращаем:
98.44% NullPointerException False Positive at trace 1.Гипотеза: первый ивент не значим для трассы, можно его убрать.
Запуск трассы без первого ивента
Запуск начинается теперь с функции
cg_make_params.Опять доходим только до вызова
val_cg_dbна строчкеcg_db = val_cg_db(utt_feat_val(utt,"cg_db"));В конце возвращаем:
98.05% NullPointerException False Positive at trace 1.Гипотеза: сможем пройти дальше, если запустить в релизе
Запуск трассы без первого ивента в релизе
KLEE просто упал:
2 трасса
Витя утверждает, что TP
В трассе 7 точек (3 unimportant), мы не достигаем даже первую
Запуск трассы без первого ивента
Запуск начинается теперь с функции
cg_make_hmmstates.Всё то же, что в 1 трассе
KLEE: WARNING: 98.05% NullPointerException False Positive at trace 1После исполнения осталось 15 состояний со следующими парами "скорость, confidence":
[[-1.0, 6.25], [-1.0, 1.5625], [-1.0, 0.78125], [-1.0, 0.390625], [-1.0, 6.25], [8.0, 0.1953125], [-1.0, 1.5625], [-8.0, 0.390625], [5.0, 0.78125], [-1.0, 0.78125], [7.0, 0.1953125], [3.0, 0.390625], [1.0, 0.1953125], [1.0, 0.1953125], [-1.0, 0.390625]]Т.е. только 6 состояний с неотрицательной скоростью.
Сумма всех CR всех оставшихся состояний
= 20.3125%Сумма CR состояний с неотрицательной скоростью
= 1.953125%Собственно, KLEE репортит
98.05% = 100% - 1.953125%Выводы
Анализ состояний 2 трассы
[(6, 29), (8, 29), (9, 29), (10, 16), (11, 29), (14, 16), (15, 29), (16, 29), (17, 16)]Beta Was this translation helpful? Give feedback.
All reactions