Европейские ученые избавят ПО от ошибок
Программирование считается инженерной дисциплиной, но уровень надежности конечного продукта очень отличается от результатов работы архитектора или других инженеров. Группа европейских ученых начала работу над математическим аппаратом, который позволит навсегда избавить программы от ошибок. Новая создание на основе так называемой «теории типов», специальной области теоретической математики, должна произвести настоящую революцию в индустрии программирования.
Работа по совершенствованию программирования, как инженерной дисциплины, ведется в рамках проекта TYPES («типы»), одним из координаторов которого является профессор Бенгт Нордстрем (Bengt Nordstrцm) из университета Чалмерса (Chalmers University) в Гетеборге, Швеция. В противовес традиционному подходу, когда качество программы проверяется в ходе длительных всесторонних тестов, ученые из проекта TYPES выстраивают такую методику разработки, которая с самого начала гарантирует, что будущая программа будет делать то, что должна.
Новая методика описывает задачу, которую должна выполнять программа, в виде математической теоремы. В рамках проекта TYPES также создаются открытые программные продукты, которые способны выполнять роль «проверяющих редакторов» (proof editors). Согласно теории типов, эти «проверяющие редакторы» являются гарантией правильности алгоритмов.
Может ли абстрактная математическая дисциплина обеспечить высокое качество программ на практике? Европейская математическая школа является одной из сильнейших в мире, поэтому сотрудничество теоретиков и практиков, как убеждены участники проекта TYPES, должно вывести программирование на новый уровень.
Надо заметить, все мы уже привыкли к тому, что загруженная программа не всегда делает то, что заявлено в ее описании. Если бракованную бытовую технику или автомобили со скрытыми дефектами покупатель привычно возвращает продавцу, то программные продукты окружены огромным числом «отказов от ответственности» и оговорок в лицензионных соглашениях. Новая работа европейских ученых в области теории типов и ее приложений, возможно, выведет программирование на аналогичный высокий уровень, который уже достигнут в других инженерных дисциплинах – в проектировании мостов и зданий, в технологиях производства различных товаров и.т.д.
www.securitylab.ru