Вопросы по теме 'frama-c'

Опция Frama-C -no-simplify-cfg не работает
Я использую Frama-C для вычисления фрагмента программы C. Я хочу, чтобы нарезанная программа выглядела как оригинал без преобразования кода. Однако в результирующем фрагменте у меня всегда есть операторы goto и метки. Я использую команду:...
183 просмотров
schedule 05.05.2023

Аннотации ACSL к макросам C
Можно ли аннотировать макросы C с помощью ACSL? eg: /*@ assigns \nothing; behavior xmin: assumes x < y; ensures \result == x; behavior ymin: assumes y <= x; ensures \result == y; disjoint...
406 просмотров

Проблема проверки с использованием плагина Jessie и Frama-C
Я новичок в Frama-C и хочу правильно изучить синтаксис ACSL. У меня есть этот фиктивный пример, и подключаемый модуль Jessie не может проверить строки № 9 и 12. Я что-то упустил? Проверяемая функция (равно) проверит, имеют ли два массива (a и b)...
296 просмотров
schedule 10.04.2023

Невозможно доказать оговорку о назначении - Frama-C
Я новичок в Frama-c и хотел бы понять, в чем проблема с этим простым примером: /*@ requires \valid(array+(0..length-1)) @ ensures \forall integer k; 0 <= k < length ==> array[k] == 0; @ assigns array[0..length-1]; */ void fill(int...
922 просмотров
schedule 23.07.2023

Как контролировать размер основных арифметических типов во Frama-C?
Во Frama-C можно ли свободно указывать размеры основных типов? Моя цель, TMS320F2808 DSP, имеет 16-битные байты. Типы char, short и int имеют один байт, а тип long — два. Пока я не вижу, как, если это возможно, я могу указать Frama-C эти размеры.
338 просмотров
schedule 03.06.2023

Объявление типа с использованием вещественных чисел в ACSL/Frama-C
У меня есть некоторые проблемы со спецификацией ACSL для последней версии Frama-C. Я много раз пытался объявить пару вещественных чисел, но ни один из них не работал. Вот крошечный пример, иллюстрирующий проблему: /*@ type real_pair = (real,...
108 просмотров
schedule 18.10.2022

frama-c [ядро] ошибка пользователя: пропуск файла selection.c, в котором есть ошибки
Я новый пользователь Frama-c. Я только что установил Neon-20140301 и почему 2.34 в моей системе Fedora 14 с компилятором Ocaml 4.01.0. В режиме без графического интерфейса установка прошла успешно. Однако, когда я попытался запустить некоторые...
195 просмотров
schedule 28.03.2023

Можно ли получить обратный динамический срез во Frama-C?
Я получаю обратный срез от Frama-c, но похоже, что это статический, а не динамический срез. Есть ли в frama-c конкретная опция для получения динамического обратного среза?
258 просмотров
schedule 05.05.2022

Установка Frama-c Sodium/Fluorine в Ubuntu 14.04 из исходников
Я пытаюсь установить frama-c из исходного кода в Ubuntu 14.04, но это невозможно. Фтор делает ошибку: allberson@allberson-Aspire-E1-531:~/Área de Trabalho/frama-c-Fluorine-20130601$ make Generating src/lib/dynlink_common_interface.ml...
288 просмотров
schedule 06.07.2023

Frama-c не может проанализировать приведенный вручную пример ACSL list_length, включающий конструкцию сопоставления с образцом
В следующем определении функции (list.c): //@ type list<A> = Nil | Cons(A,list<A>); /*@ logic integer list_length<A>(list<A> l) = @ \match l { @ case Nil : 0 @ case Cons(h,t) : 1 + list_length(tail) @ }; */...
107 просмотров
schedule 07.07.2022

Как использовать функции в модулях Value.Eval_expr, Value.Eval_op и т. д. плагина Frama-c Value
Я пытаюсь создать плагин frama-c. Этот плагин зависит от плагина Frama-c Value. Я хочу получить и распечатать набор значений всех значений lvalue в исходном коде C. Для этого я хочу использовать функции, доступные в Value.Eval_exprs, Value.Eval_op...
243 просмотров
schedule 20.05.2022

Расчет достижимости функции с помощью анализа значений frama-c
Вот мой пример: int in; int sum(int n){ int log_input = n; int log_global = in; return 0; } int main(){ int n = Frama_C_interval(-10, 10); in = n; if (n > 0){ sum(n + 4); } return 0; } Что я хотел...
143 просмотров
schedule 03.11.2022

Frama-C делает ошибку
Моя настройка среды — Ubuntu 14.04 LTS x86_64: После того, как я "./configure" и затем "make", появляются следующие ошибки: Ocamlc src/plugins/value/gui_eval.cmi Ocamlc src/plugins/value/gui_eval.cmo Ocamlc...
152 просмотров
schedule 06.02.2024

Frama-C: нет разделения оператора if
У меня возникла следующая проблема при анализе if-условий с помощью моего плагина. Когда я анализирую код, например if ((a && b) || c) Frama-C создает такой код: if (a) { if (b){ goto _LOR; } else{...
152 просмотров
schedule 08.06.2023

Недопустимое утверждение для проверки переполнения Frama-C
При проверке переполнения для типов данных short и char для операции добавления утверждения, вставленные Frama-C, кажутся неверными: Для char и коротких данных максимальные положительные и отрицательные значения имеют целочисленный тип...
151 просмотров
schedule 27.09.2022

Frama-C генерирует запутанные утверждения о сравнении указателей
Я получаю утверждения, которые не имеют смысла для меня. Код: struct s { int pred; }; /*@ assigns \result \from \nothing; ensures \valid(\result); */ struct s *get(void); int main(void) { return !get()->pred; } Выход...
146 просмотров
schedule 27.11.2022

Установка Frama-c - настроить: ошибка: не удается найти ocamlfind
xhy0908deMacBook-Pro:frama-c-Phosphorus-20170501 xhy0908$ ./configure configure: ****************** configure: * CONFIGURE MAKE * configure: ****************** checking for make... make checking version of make... 3.81 configure:...
361 просмотров
schedule 17.05.2024

Как использовать подключаемый модуль Frama-C WP для расчета самых слабых формул предварительных условий?
Я реализую статический анализ в качестве плагина для Frama-C, и в рамках этого анализа мне нужно сгенерировать самые слабые формулы предварительных условий. Я нашел этот связанный вопрос: Как использовать ли результаты WP в другом плагине? ,...
173 просмотров
schedule 30.07.2022

Ошибка компиляции E-ACSL FRAMA-C
Я новичок в фреймворке Frama-C и пытаюсь провести контрактное тестирование с программами на C. Я намерен использовать для этого подключаемый модуль E-ACSL, и я пробовал тестовую программу, чтобы увидеть, как она работает, но получаю некоторые ошибки...
103 просмотров
schedule 14.05.2022

Я не могу открыть какие-либо файлы .C с помощью Frama-c и получаю только сообщения о недопустимых ошибках пользовательского ввода.
Я новичок в Frama-c и совсем новичок в программировании в целом. Я установил Frama-C на свой Mac. Я использую ОСХ. Из командной строки я ввожу Frama-C-Gui, который открывается нормально, и в это время я выбираю «Новый проект» Графический интерфейс...
196 просмотров
schedule 30.07.2022