Передумова (формальні методи)

Передумо́ва — в програмуванні та формальних методах, передумовою виконання функції є правило, яке визначає, за яких умов функція матиме визначену поведінку. Передумова є частиною формальної специфікації і використовується для верифікації програм: в разі виконання передумов, мусять, відповідно, виконуватись і всі післяумови, в іншому випадку, функція не коректна.

Концепція перед- та після умов використовується в формальній семантиці для створення основ для аксиоматичної семантики. Кінцевою метою є доведення правильності програми, виходячи із доведення правильності кожної окремої функції відповідно до її перед- та після- умов.

Інструментальна підтримка

Часто, передумови просто описуються в коментарях до задіяної частини коду. Іноді, передумови перевіряються в тексті програми із допомогою тверджень. Деякі із мов програмування підтримують можливість визначення передумов безпосередньо у вихідному тексті програм. Наприклад, функція обчислення факторіалу на мові програмування Eiffel матиме такий вигляд:

 factorial(n: INTEGER): INTEGER
       -- Обчислення факторіалу цілого числа. Число має бути додатнім.
   require
       not_negative: n >= 0
   do
       if n = 0 then
           Result := 1
       else
           Result := n * factorial(n - 1)
       end
   end

Джерела інформації

  • Vorbedingung (Informatik) — стаття в німецькомовній вікіпедії.
  • Precondition — стаття в англомовній вікіпедії.
  • Precondición (текст прикладу) — стаття в іспаномовній вікіпедії.

Див. також