Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Підходи і методи доказу програм

 

Сучасні напрямки в області перевірки правильності програм – це формальні специфікації, методи доказу, верифікація і тестування. Дамо їм зміст.

1. Формальні специфікаціїз'явилися у програмуванні в 70-х роках минулого сторіччя. Вони близькі МП і надають засоби, що полегшують опис міркування про властивості і особливості програм у математичній нотації. Під специфікацією розуміється формальний опис функцій і даних програм, з якими ці функції оперують. На формальних специфікаціях базуються методи доказу програм, на появу яких вплинули роботи з теорії алгоритмів А.А. Маркова [1], А.А. Ляпунова [2], схеми Ю.І.Янова [3] та формальні нотації мови опису взаємодіючих процесів К.А. Хоара [4] і ін. Для перевірки формальної специфікації програми залучається математичний апарат для опису правильного рішення деякої задачі, для якої вона розроблена. Поряд зі специфікацією розробляються додаткові аксіоми [5–10], твердження про описані оператори і умови, так звані попередні умови або передумови, і пост-умови, що визначають заключні правили одержання правильного результату.

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

3. Верифікація і валідація –це методи забезпечення перевірки й аналізу правильності виконання заданих функцій програми у відповідності з заданими вимогами замовника до них і системи у цілому.

4.Тестування– це метод виявлення помилок у ПЗ шляхом виконання вихідного коду на тестових даних, збору робочих характеристик у динаміці виконання в конкретному операційному середовищі, виявлення різних помилок, дефектів, відмовлень і збоїв, викликаних нерегулярними, аномальними ситуаціями або аварійним припиненням роботи системи.

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

Наведені методи доказу, верифікації і тестування при перевірці правильності програм кваліфікуються такими загальними поняттями і діями.

Доказ та верифікація коректності (правильності) виконується за формальною специфікацією програми та за допомогою тверджень, передумов (обмежень вхідних параметрів програми) і пост-умов (обмежень вихідних параметрів програми), які створюють незалежну від програми частину механізму її доказу. Ця частина специфікується, як правило, на тій же мові, що і програма. В ній застосовуються математичні операції (диз’юнкції, кон’юнкції, імплікації тощо), квантори існування і загальності та інші.

Передумова – це обмеження на сукупність вхідних параметрів і пост-умови, як обмеження на вихідні параметри. Передумова і пост-умова задаються предикатами, тобто функціями, результатом яких буде булева величина (true/false). Передумова істинна тоді, коли вхідні параметри входять в область припустимих значень даної функції. Пост-умова істинна тоді, коли сукупність значень задовольняє вимогам, що задають формальне визначення критерію правильності одержання результату.

Твердження та умови формулюються на формальній математичній мові у вигляді додаткової доказової частини і слугують перевірці правильності програми в заданих її точках (початковій, проміжній, кінцевій). Набір тверджень включає умови і послідовність операцій перевірки виконання щодо результату в деякій точці програми, для якої сформульовано твердження. Якщо твердження відповідає кінцевому оператору програми, то за допомогою завершальної пост-умови робиться висновок про часткову або повну правильність роботи програми.

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

Перевірка правильності методом тестування базується на функціональних тестах або наборах тестів, які створюються шляхом опису функцій і проектної інформації на процесах ЖЦ з урахуванням вимог, сформульованих на етапі аналізу предметної області.

Далі розглядаються відмічені напрямки досягнення правильності програм більш детально.


Читайте також:

  1. Cisco Packet Tracer - Знайомство з програмою. Інтерфейс
  2. I. Введення в розробку програмного забезпечення
  3. I. ЗАГАЛЬНІ МЕТОДИЧНІ ВКАЗІВКИ
  4. II. Вимоги до складання паспорта бюджетної програми
  5. II. Із програм для 11 класу
  6. II. ПРОГРАМА КУРСУ
  7. II.1 Програмне забезпечення
  8. III. Етапи розробки програмного забезпечення
  9. III. Навчально-програмний етап.
  10. III. Програма
  11. III. Програма
  12. WEB ПРОГРАММИРОВАНИЕ




Переглядів: 623

<== попередня сторінка | наступна сторінка ==>
Перебудова загальних типів даних до фундаментальних для МП | Мови специфікації програм –VDM, RAISE, Concept

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.