Запитання з тегом «software-verification»

Запитання про методи та прийоми для підтвердження правильності програм.

6
Офіційна перевірка програми на практиці
Як інженер програмного забезпечення, я пишу багато коду для промислової продукції. Відносно складні речі з класами, нитками, деякими зусиллями в галузі дизайну, а також деякими компромісами для продуктивності. Я дуже багато тестую, і мені набридло тестування, тому я зацікавився інструментами формального доказування, такими як Coq, Isabelle ... Чи можу я …

6
Алгоритм вирішення "проблеми зупинки" Тьюрінга
Це питання було перенесено з Теоретичної біржі стека комп'ютерних наук, оскільки на нього можна відповісти на інформаційній стеці. Мігрували 7 років тому . "Алан Тьюрінг довів у 1936 році, що загальний алгоритм вирішення проблеми зупинки для всіх можливих пар програм-введення не може існувати" Чи можу я знайти загальний алгоритм для …

4
Як перевірити, чи два алгоритми повертають однаковий результат для будь-якого введення?
Як ви перевіряєте, чи два алгоритми (скажімо, сортування злиття та сортування Naive) повертають однаковий результат для будь-якого вводу, коли безліч безлічі входів? Оновлення: Дякую Бену за опис того, як це неможливо зробити алгоритмічно в загальному випадку. Відповідь Дейва - це великий підсумок як алгоритмічних, так і ручних (з урахуванням людської …

2
Правильність програми, специфікація
З Вікіпедії: У теоретичній інформатиці правильність алгоритму стверджується, коли кажуть, що алгоритм правильний щодо специфікації. Але проблема полягає в тому, що отримати "відповідну" специфікацію не є тривіальним завданням, і немає 100% правильного методу (наскільки я знаю), щоб отримати правильний, це просто оцінка, тому якщо ми збираємось приймати присудок як специфікацію …

1
Чому ми не досліджуємо більше, щоб скласти гарантії часу?
Я люблю все, що складає час компіляції, і мені подобається, що після того, як ви складете програму, робиться багато гарантій щодо її виконання. Взагалі система статичного типу (Haskell, C ++, ...), схоже, дає більш сильні гарантії часу компіляції, ніж будь-яка система динамічного типу. З того, що я розумію, Ада іде …

2
Як поводитися з масивами під час доказів правильності стилю Хоара
У дискусії навколо цього питання Жилл правильно зазначає, що будь-яке підтвердження коректності алгоритму, який використовує масиви, повинен довести, що немає доступу до масиву поза межами; Залежно від моделі часу виконання, це призведе до помилки виконання або доступу до елементів, що не мають масиву. Однією поширеною методикою виконання таких доказів коректності …

4
Які загальні формальні прийоми доведення функціонального коду правильним?
Я хочу надати докази частин програми Haskell, про яку я пишу, як частину своєї дипломної роботи. Поки що, мені не вдалося знайти хорошої довідкової роботи. Вступна книга Грем Хаттон « Програмування в Хаскеллі» ( Google Books ), яку я читав під час навчання Haskell - торкається кількох прийомів міркування про …

6
Чи можуть методи перевірки програм запобігти появі помилок жанру Heartbleed?
З приводу помилки із сердечкою, Брюс Шнайер написав у своїй крипто-грамі від 15 квітня: "Катастрофічний" - це правильне слово. За шкалою від 1 до 10 це 11. ' Я прочитав кілька років тому, що ядро ​​певної операційної системи було суворо перевірено сучасною системою перевірки програм. Чи можуть, таким чином, запобігти …

2
Введення в логічну перевірку першого порядку
Я намагаюся навчити себе різним підходам до перевірки програмного забезпечення. Я прочитав деякі статті. Наскільки я дізнався, пропозиційна логіка з тимчасовою загалом використовує перевірку моделі за допомогою розв'язувачів SAT (у постійних - реактивних системах), а як щодо логіки першого порядку з тимчасовою? Він використовує докази теореми? Або він також може …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.