~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D5781844D0A50E17DDF3CA8373475EF5__1689434940 ✰
Заголовок документа оригинал.:
✰ Correctness (computer science) - Wikipedia ✰
Заголовок документа перевод.:
✰ Корректность (информатика) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Correctness_(computer_science) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d5/f5/d5781844d0a50e17ddf3ca8373475ef5.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d5/f5/d5781844d0a50e17ddf3ca8373475ef5__translat.html ✰
Дата и время сохранения документа:
✰ 11.06.2024 11:21:42 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 15 July 2023, at 18:29 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Корректность (информатика) — Википедия Jump to content

Корректность (информатика)

Из Википедии, бесплатной энциклопедии

В теоретической информатике алгоритм , является правильным по отношению к спецификации если он ведет себя так, как указано. Лучше всего исследовать функциональную корректность, которая относится к поведению алгоритма ввода-вывода (т. е. для каждого ввода он выдает результат, удовлетворяющий спецификации). [1]

В рамках последнего понятия частичная правильность , требующая, чтобы ответ был правильным, отличается от полной правильности , которая дополнительно требует, чтобы ответ в конечном итоге был возвращен, т. е. алгоритм завершается. Соответственно, чтобы доказать полную корректность программы, достаточно доказать ее частичную корректность и ее завершение. [2] Последний вид доказательства ( доказательство завершения может быть полностью автоматизирован, поскольку проблема остановки неразрешима ) никогда не .

Частично правильная программа на C , чтобы найти
наименьшее нечетное совершенное число,
его полная правильность неизвестна по состоянию на 2023 год.
// возвращаем сумму правильных делителей n 
 static   int   divisorSum  (  int   n  )   { 
    int   i  ,   sum   =   0  ; 
     for   (  я  знак равно  1  ;   я  <  n  ;   ++  я  ) 
       если   (  n   %   я   ==   0  ) 
          сумма   +=   я  ; 
    возврата    сумма  ; 
  } 
 // возвращаем наименьшее нечетное совершенное число 
 int   lessPerfectNumber  (  void  )   { 
    int   n  ; 
     for   (  n  =  1  ;   ;   n  +=  2  ) 
       if   (  n   ==   divisorSum  (  n  )) 
          return   n  ; 
  } 

Например, последовательно перебирая целые числа 1, 2, 3, …, чтобы увидеть, сможем ли мы найти пример какого-то явления — скажем, нечетного совершенного числа — довольно легко написать частично правильную программу (см. Вставку). Но сказать, что эта программа полностью правильна, значит утверждать нечто, чего в настоящее время не известно в теории чисел .

Доказательство должно быть математическим, при условии, что и алгоритм, и спецификация заданы формально. В частности, не ожидается, что это будет утверждением корректности данной программы, реализующей алгоритм на данной машине. Это потребует таких соображений, как ограничения на компьютерную память .

Глубокий результат в теории доказательств , соответствие Карри-Ховарда , утверждает, что доказательство функциональной корректности в конструктивной логике соответствует определенной программе в лямбда-исчислении . Преобразование доказательства таким способом называется извлечением программы .

Логика Хоара — это особая формальная система строгого рассуждения о правильности компьютерных программ. [3] Он использует аксиоматические методы для определения семантики языка программирования и доказательства правильности программ с помощью утверждений, известных как тройки Хоара.

Тестирование программного обеспечения — это любая деятельность, направленная на оценку атрибута или возможности программы или системы и определение того, соответствует ли она требуемым результатам. Хотя тестирование программного обеспечения имеет решающее значение для качества программного обеспечения и широко применяется программистами и тестировщиками, оно по-прежнему остается искусством из-за ограниченного понимания принципов программного обеспечения. Сложность тестирования программного обеспечения связана со сложностью программного обеспечения: мы не можем полностью протестировать программу средней сложности. Тестирование — это больше, чем просто отладка. Целью тестирования может быть обеспечение качества, проверка и валидация или оценка надежности. Тестирование также можно использовать в качестве общей метрики. Тестирование правильности и тестирование надежности — две основные области тестирования. Тестирование программного обеспечения — это компромисс между бюджетом, временем и качеством. [4]

См. также [ править ]

Примечания [ править ]

  1. ^ Данлоп, Дуглас Д.; Базили, Виктор Р. (июнь 1982 г.). «Сравнительный анализ функциональной корректности» . Коммуникации АКМ . 14 (2): 229–244. дои : 10.1145/356876.356881 . S2CID   18627112 .
  2. ^ Манна, Зоар; Пнуэли, Амир (сентябрь 1974 г.). «Аксиоматический подход к тотальной корректности программ». Акта Информатика . 3 (3): 243–263. дои : 10.1007/BF00288637 . S2CID   2988073 .
  3. ^ Хоар, ЦАР (октябрь 1969 г.). «Аксиоматическая основа компьютерного программирования» (PDF) . Коммуникации АКМ . 12 (10): 576–580. CiteSeerX   10.1.1.116.2392 . дои : 10.1145/363235.363259 . S2CID   207726175 . Архивировано из оригинала (PDF) 4 марта 2016 года.
  4. ^ Пан, Цзяньтао (весна 1999 г.). «Тестирование программного обеспечения» (курсовая работа). Университет Карнеги Меллон . Проверено 21 ноября 2017 г.

Ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D5781844D0A50E17DDF3CA8373475EF5__1689434940
URL1:https://en.wikipedia.org/wiki/Correctness_(computer_science)
Заголовок, (Title) документа по адресу, URL1:
Correctness (computer science) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)