Лекция 10 марта

Состоялась вводная лекция, посвящённая инструментарию frama-c→jessie2→why3 и языку спецификации ACSL. Были рассмотрены:

  • идея автоматизации применения методов Флойда для функции на языке Си (в
    качестве модели программы) и контракта ACSL (в качестве модели требований);
  • примеры применения связки инструментов для доказательства полной коррекности;
  • аннотирование спецификационными комментариями ACSL;
  • базовые элементы контрактов ACSL:
    • способ выражения пред- и постусловий (конструкции requires и ensures);
    • обращение к входным переменным (по имени) и результату (выражение \result);
    • идея о недоступности изменённых входных переменных-параметров функции из постусловия, т.е. что в постусловии используются значения, переданные при вызове;
    • использование кванторов в предикатах (выражения \forall, \exists);
  • разница между математическим целым (integer) и машинным целым (int) в ACSL.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *