Применение теории схем программ и теории автоматов для решения задач верификации и оптимизации программНИР

Application of the theory of program schemes and the theory of automata for solving problems of verification and optimization of programs

Соисполнители НИР

МГУ имени М.В.Ломоносова Координатор

Источник финансирования НИР

грант РФФИ

Этапы НИР

# Сроки Название
1 1 февраля 2018 г.-31 декабря 2018 г. Применение теории схем программ и теории автоматов для решения задач верификации и оптимизации программ
Результаты этапа: В 2018 году при проведении исследований по проекту были получены следующие основные результаты. 1) Разработаны полиномиальные по времени алгоритмы проверки эквивалентности и минимизации детерминированных автоматов-преобразователей, работающих над полугруппой регулярных префиксных языков. 2) Разработан полиномиальный по времени алгоритм проверки эквивалентности для класса слабо недетерминированных конечных автоматов-преобразователей. 3) Разработан полиномиальный по времени алгоритм трансляции детерминированных конечных двухленточных автоматов в слабо недетерминированные автоматы-преобразователи, работающие над полугруппой регулярных префиксных языков. 4) Для конечных автоматов-преобразователей, работающих в реальном времени установлен критерий строгой детерминированности и показано, что задача проверки строгой детерминированности таких автоматов является co-NP-трудной. 5) Разработан алгоритм проверки выполнимости формул нового расширения темпоральной логики деревьев вычислений CTL на моделях конечных автоматов-преобразователей. 6) Показано, что выразительные возможности параметризованного расширения темпоральной логики линейного времени LTL строго превосходят выразительные способности обычной логики LTL и совпадают с выразительными способностями монадической логики предикатов второго порядка с одной функцией следования S1S. 7) Показано, что задача проверки стойкости процессов базового пи-исчисления относительно пассивного противника является co-NP-полной. 8) Разработан алгоритм трансляции иерархических временных автоматов в сети плоских временных автоматов с меньшим порядком числа состояний по сравнению с сетями, получающимися в результате работы известных аналогичных алгоритмов.
2 1 января 2019 г.-31 декабря 2019 г. Применение теории схем программ и теории автоматов для решения задач верификации и оптимизации программ
Результаты этапа: В 2019 году были получены следующие основные результаты. 1. Выделен новый класс недетерминированных конечных автоматов-преобразователей – префиксных автоматов, - и построен квадратичный по времени алгоритм проверки эквивалентности автоматов-преобразователей из этого класса. 2. Построен кубический по времени алгоритм проверки эквивалентности детерминированных конечных двухленточных автоматов. 3. Показано, что задача минимизации префиксных автоматов-преобразователей не имеет однозначного решения, и предложены методы минимизации префиксных автоматов. 4. Для спецификации поведения вход-выходных автоматов реального времени разработана темпоральная логика LP-RLTL, которая является новым расширением темпоральной логики линейного времени (LTL), и для класса консервативных автоматов-реального времени предложен алгоритм проверки выполнимости формулы LP-RLTL. 5. Для компонентов программно-конфигурируемых сетей (приложения, контроллер, коммутатор) построены формальные математические модели в виде обобщенных конечных автоматов реального времени, предложены LTL-формулы, описывающие требования нечувствительности сети к гонкам, и разработан метод синтеза специальных последовательностей тестовых запросов, провоцирующих гонки в ПКС. 6. Для спецификации поведения моделей реагирующих систем разработано новое расширение Reg-CTL логики деревьев вычислений, предложен алгоритм проверки выполнимости формул Reg-CTL на моделях конечных автоматов-преобразователей и установлена, что задача верификации этих моделей относительно формул темпоральной логики Reg-CTL является PSPACE-полной. 7. Предложена логика реального времени, пригодная для динамической верификации проектов микроэлектронных схем на ранних этапах разработки, на которых описывается только способ реакции значений в одних точках схемы на изменение значений в других точках (то есть на фронты сигналов); для предложенного логического языка сформулирована задача динамической верификации наборов сигналов и разработан алгоритм решения этой задачи с обоснованием корректности и небольшой верхней оценкой сложности. 8. Предложен подход к решению проблемы совместного останова схем программ, обосновывающий разрешимость и полиномиальную разрешимость этой проблемы в обширном семействе моделей, законы преобразования данных имеют полугрупповую природу; на основе этого метода доказана разрешимость и полиномиальная разрешимость проблемы эквивалентности программ с процедурами в обширном семействе перегородчатых моделей полугрупповой природы. 9. Предложена новая модель активного противника, которая может быть описана в виде процессов pi-исчисления с использованием новых примитивов конструирования сообщений и показано, что задача проверки некоторых свойств безопасности вычислений телекоммуникационных протоколов относительно активного противника, является co-NP полной.
3 1 января 2020 г.-31 декабря 2020 г. Применение теории схем программ и теории автоматов для решения задач верификации и оптимизации программ
Результаты этапа: В 2018-20 гг при проведении исследований по проекту были получены следующие основные результаты. 1) Разработан полиномиальный по времени алгоритм проверки эквивалентности и минимизации детерминированных автоматов-преобразователей, работающих над полугруппой регулярных префиксных языков. 2) Разработан алгебраический метод проверки эквивалентности различных видов автоматов, при помощи которого построены полиномиальные по времени алгоритмы проверки эквивалентности префиксных конечных автоматов-преобразователей, детерминированных многоленточных автоматов и конечных биавтоматов. 3) Для спецификации поведения вход-выходных автоматов реального времени разработана темпоральная логика LP-RLTL, которая является новым расширением темпоральной логики линейного времени (LTL), и для класса консервативных автоматов-реального времени предложен алгоритм проверки выполнимости формулы LP-RLTL 4) Для конечных автоматов-преобразователей, работающих в реальном времени, установлен критерий строгой детерминированности и показано, что задача проверки строгой детерминированности таких автоматов является co-NP-трудной. 5) Разработан алгоритм трансляции иерархических временных автоматов в сети плоских временных автоматов с меньшим порядком числа состояний по сравнению с сетями, получающимися в результате работы известных аналогичных алгоритмов. 6). Предложен формальный язык (логика реального времени), пригодный для динамической верификации цифровых микроэлектронных схем на ранних этапах их разработки. Сформулирована и решена соответствующая задача верификации. Обоснованы корректность и невысокая сложность решающего алгоритма. Предложены варианты языка с расширенным и суженным наборами операций, показана одинаковая выразительность этих вариантов. 7) Разработаны алгоритмы проверки выполнимости формул нового расширения темпоральных логик деревьев вычислений Reg-CTL и Reg-CTL* на моделях конечных автоматов-преобразователей и получены оценки сложности этих задач верификации. 8) Показано, что выразительные возможности параметризованного расширения темпоральной логики линейного времени Reg-LTL строго превосходят выразительные способности обычной логики LTL и совпадают с выразительными способностями монадической логики предикатов второго порядка с одной функцией следования S1S. 9) Предложена новая модель активного противника, которая может быть описана в виде процессов pi-исчисления с использованием новых примитивов конструирования сообщений и показано, что задача проверки некоторых свойств безопасности вычислений телекоммуникационных протоколов относительно активного противника, является co-NP полной.

Прикрепленные к НИР результаты

Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".