Проєктування бібліотеки для спрощення умов верифікації програм

dc.contributor.authorКостирко Василь Ступанович
dc.contributor.authorАніловська Ганна Ярославівна
dc.contributor.authorПлеша Василь Іванович
dc.date.accessioned2026-02-28T16:51:41Z
dc.date.issued2023-06-29
dc.descriptionВісник Хмельницького національного університету. Серія: Технічні науки. Том 321 № 3 (2023)
dc.description.abstractАнотація програми інваріантами, заданими в певних точках програми, зводить проблему її верифікації до перевірки істинності ряду логічних виразів. Однак, проблема виводимості є алгоритмічно нерозв’язною навіть для достатньо простих предметних областей, таких як елементарна арифметика. Тому важлива розробка комп’ютерних засобів, які можуть спростити задачу верифікації програм. Особливо важлива наявність таких систем для навчання програмуванню. До них відносяться технологія символьного виконання програм та інструменти для еквівалентних перетворень та спрощення символьних виразів. Залишаються актуальними дослідження формальних методів верифікації програм. У статті описана побудована на базі бібліотеки ExprLib технологія автоматичного еквівалентного перетворення арифметичних та логічних виразів до найпростішого стандартизованого вигляду. Досліджено побудовані перетворення. Встановлено, що вони мають властивість ідемпотентності, а еквівалентні вирази мають єдине нормалізоване представлення. Бібліотека написана алгоритмічною мовою Python з використанням рекурсії на структурах даних типу дерево. Бібліотека реалізована класами та функціями мови Python, які представляють деревовидні структури списками, множинами та словниками мови Python. Побудовано класи для представлення дерев, одночленів та поліномів, відношень та їх кон'юнкцій, а також імплікацій. Для спрощення імплікацій застосовується правило редукції кон`юнкцій. Бібліотека застосовується в системі VerPro символьного виконання та верифікації програм на мові Python. Для перевірки тотожної істинності імплікацій, які представляють умови верифікації, використовуються солвери системи доведення теорем Z3. Система VerPro є експериментальною і зараз обмежується програмами цілочисельної арифметики. Наявність власної бібліотеки дозволяє розширювати область застосування системи, яка розвивається в напрямку генерації інваріантів та розширення областей охоплених нею програм.
dc.identifier.citationКостирко В.С., Аніловська Г.Я., Плеша В.І. (2023) Проєктування бібліотеки для спрощення умов верифікації програм. Хмельницький: Вісник Хмельницького національного університету. Серія: Технічні науки. Том 321 № 3 (2023). C: 273-279.
dc.identifier.issn2307-5732
dc.identifier.otherУДК 519.681.2
dc.identifier.otherDOI 10.31891/2307-5732-2023-321-3-273-279
dc.identifier.urihttps://heraldts.khmnu.edu.ua/index.php/heraldts/issue/view/12
dc.identifier.urihttps://dspace.lute.lviv.ua/handle/123456789/1982
dc.language.isoother
dc.subjectбібліотека функцій і класів
dc.subjectмова Python
dc.subjectеквівалентні перетворення виразів
dc.subjectумова коректності
dc.subjectдерево виразу
dc.subjectверифікація програм
dc.titleПроєктування бібліотеки для спрощення умов верифікації програм
dc.title.alternativeDesigning a library to simplify program verification conditions
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Kostyrko, Proiektuvannia_Bibilioteky_Dlia_Sproshchennia_Umov_Veryfikaciji_Prohram, 2023.pdf
Size:
475.72 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: