SMV - первый верификатор, в котором был реализован алгоритм символьной верификации на основе бинарных решающих диаграмм. Проект не радует своим дружелюбием, так как готовые сборки для linux не запускаются, из исходников проект собирается, но для этого пришлось поразбираться с исходными кодами. Чтобы сэкономить время другим желающим заняться верификацией, ниже описаны шаги по сборке SMV.
Шаг первый: скачиваем и распаковываемНеобходимо скачать исходные коды smv по ссылке
smv.r2.5.4.3.tar.gz и распаковать:
tar -xzf smv.r2.5.4.3.tar.gz
Шаг второй: изменяем makefileК строке в файле makefile
DFLAGS = -DBETTERHASH -DSMV_SIGNALS -DOTHER_SIMP необходимо добавить
-DYYMALLOC=mallocШаг третий: собираем проектЗапустить сборку
makeДалее можно запустить один из примеров:
./smv examples/counter.smvНа экран должно быть выведено сообщение вида
-- specification AG AF bit2.carry_out is true-- specification AG (!bit2.carry_out) is false-- as demonstrated by the following execution sequencestate 1.1:bit0.carry_out = 0bit0.value = 0bit1.carry_out = 0bit1.value = 0bit2.carry_out = 0bit2.value = 0...