ivdon3@bk.ru
В статье проводится классификация методов верификации программного обеспечения (ПО), которые разнообразны по своему назначению, по способам достижения результата, по способу проверки и подтверждения у ПО предопределенных свойств.
В целом производится деление на структурные и функциональные, и имеющие в своей основе формальные математические модели. Методы первой группы представляют собой тестирование и экспертный анализ свойств ПО, второй – работают с моделями и абстрактными представлениями проверяемого ПО. Отличительной особенностью экспертизы является ориентированность на экспертные оценки, поэтому их нельзя отнести к универсальным и строго формализованным. Различные виды экспертиз применяются к различным свойствам ПО на различных этапах проектирования, что позволяет своевременно определять и устранять неполадки и дефекты в работе ПО.
Отличительная особенность формальных методов – удобство и экономичность, так как они проводятся без обращения к физической реализации. Для работы с формальными методами применяются специфические техники, такие как дедуктивный анализ (theorem proving), проверка моделей (model checking), абстрактная интерпретация (abstract interpretation).
Так же в статье перечисляются логические и алгебраические исчисления применимые для работы с формальными моделями.
Представленная в статье классификация частично формализованных и формальных методов верификации отражает современное состояние исследований в данной области.
Ключевые слова:верификация, частично формализованные методы верификации ПО, формальные модели верификации ПО, экспертиза, статический анализ, динамические методы, формальные методы, синтетические методы.
05.13.18 - Математическое моделирование, численные методы и комплексы программ