Способ верификации программного обеспечения распределительных вычислительных комплексов и система для его реализации

Изобретение относится к средствам автоматизации обучения и научных исследований и может быть использовано в интерактивных системах автоматизации научно-исследовательских работ в процессе верификации программного обеспечения (ПО) распределенных вычислительных комплексов (РВК). Технический результат заключается в расширении функциональных возможностей процессов верификации ПО РВК. Предлагаемый способ и система для его реализации обеспечивают полную управляемость и наблюдаемость основных процессов проверки исходного кода ПО. При этом на каждом уровне РВК обеспечено совмещение процессов ввода и обработки исходного кода ПО по зависимым или независимым интерфейсным каналам, на основе использования сенсорных или механических манипуляторов рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети. Участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных и баз знаний, а точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения соответствующих систем уравнений. 2 н. и 7 з.п. ф-лы, 40 ил., 26 табл.

 

Текст описания приведен в факсимильном виде.

1. Способ верификации программного обеспечения (ПО) распределенных вычислительных комплексов (РВК) включает на каждом i-м уровне верификации ПО (i=0, 1,…, I, I - число уровней верификации ПО РВК) совмещение процессов ввода и обработки исходного кода программного обеспечения по зависимым или независимым каналам, на основе использования сенсорных или механических манипуляторов (клавиатуры, мыши, джойстика и т.п.) рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети, при этом участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных и баз знаний, а точки или участки уязвимости исходного кода ПО на каждом i-м уровне верификации ПО РВК определяют на основе автоматического составления и решения соответствующих систем уравнений, при этом на каждом i-м уровней верификации ПО РВК осуществляют генерацию баз данных на основе использования отчетов об обнаруженных уязвимостях исходного кода программного обеспечения, а генерацию баз знаний осуществляют на основе использования аннотаций внешних функций исходного кода (ИК) ПО РВК, при этом база знаний представляет набор правил или моделей протоколов верификации ИК ПО, обеспечивающих поддержку интерактивных процессов поиска уязвимости ПО.

2. Способ по п.1, отличающийся тем, что внутреннее представление исходного кода ПО на языке программирования Си на каждом i-м уровне верификации ПО РВК представляется в виде динамических массивов и соответствующих баз данных и баз знаний, которые используются в реальном масштабе времени для верификации ПО распределенных вычислительных комплексов.

3. Способ по п.1, отличающийся тем, что в качестве зависимых каналов на каждом i-м уровне верификации ПО РВК используют интерфейсы жестких, гибких или оптических дисков.

4. Способ по п.1, отличающийся тем, что в качестве независимых каналов на каждом i-м уровне верификации ПО РВК используют интерфейс последовательного порта или сетевой интерфейс.

5. Способ по п.1, отличающийся тем, что на каждом i-м уровне верификации ПО РВК в качестве независимых каналов используют интерфейс последовательного порта или сетевой интерфейс, а в качестве зависимых каналов используют интерфейсы жестких, гибких или оптических дисков.

6. Способ по любому из пп.1-5, отличающийся тем, что отчеты об обнаруженных уязвимостях исходного кода программного обеспечения содержат:
поле указаний на местоположение возможной уязвимости в исходном коде программы, включающее имя файла листинга программы, номер строки и номер позиции в строке программы, в котором возможно переполнение буфера запоминающего устройства ЭВМ, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства ЭВМ;
поле указания на причины переполнения буфера запоминающего устройства ЭВМ - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель критичности уязвимости исходного кода программного обеспечения;
поле указания на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения.

7. Способ по любому из пп.1-5, отличающийся тем, что на каждом i-м уровне верификации ПО РВК осуществляют диагностику процесса верификации ИК ПО на основе измерения длительности выполнения основных этапов поиска уязвимости и сопоставления полученных значений с ранее предписанными или предсказанными оценками показателя (степени, энтропии и т.п.) критичности уязвимости ПК ПО.

8. Система интерактивного управления (СИУ) содержит на каждом уровне верификации ПО РВК Sij интерактивных программируемых устройств (ИПУ) верификации ПО, где Sij, i=0, 1,…, I, j=1, 2,…, Qj, I - число уровней верификации ПО, Qj - число ИПУ верификации ПО на i-м уровне верификации ПО, каждое из Sij ИПУ i-го уровня соединено, по крайней мере, с одним ИПУ (i-1)-го уровня или ИПУ (i+1)-го уровня, при этом каждое Sij ИПУ i-го уровня верификации ПО содержит: аппаратно-программный блок (АПБ) лексического и семантического анализа/разбора, АПБ преобразования кода, АПБ анализа кода, АПБ процессорного управления, видеоадаптер, интерфейсы жестких, гибких и оптических дисков, интерфейс последовательного порта, сетевой интерфейс и системную память, которые объединены системной шиной, при этом системная память содержит постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM/ОЗУ), в ячейках оперативной памяти и жестких дисков размещают/записывают операционные системы, прикладные программы, базы данных и базы знаний, которые содержат листинги исходных программ, грамматику языка программирования (например, грамматику языка программирования Си), правила преобразования дерева разбора листинга программы, дерево разбора листинга программы, таблицу типов языка программирования, аннотации внешних функций, включающие их грамматику и семантику, код программ на языке внутреннего представления, условия корректности языка внутреннего представления исходного кода программы, условия проверки корректности подозрительных точек исходного кода программы, информационную базу, содержащую системы ограничений в виде алгебраических уравнений и неравенств, отчеты об обнаруженных уязвимостях программного кода, включающие:
указание на местоположение возможной уязвимости в исходном коде программы, которое содержит имя файла листинга программы, номер строки и номер позиции в строке программы, в котором возможно переполнение буфера запоминающего устройства, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства;
указание причины переполнения буфера запоминающего устройства - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель или степень критичности обнаруженной уязвимости исходного кода программного обеспечения;
указание на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения;
при этом процесс верификации ИК ПО для распределенных вычислительных комплексов представляет динамическую процедуру приема и обработки ПК программного обеспечения по зависимым и независимым интерфейсным каналам, соответственно первая группа сигналов характеризует независимые по времени интерактивные процессы верификации ИК ПО, например, первая группа сигналов представляет набор наблюдаемых интерактивных процессов обработки ИК ПО, поступающих по независимым интерфейсным каналам,
а вторая группа сигналов поступает по зависимым интерфейсным каналам.

9. Система по п.8, отличающаяся тем, что аппаратно-программный блок процессорного управления, обеспечивающий синхронизацию основных режимов интерактивной верификации программного обеспечения распределенных вычислительных комплексов, содержит последовательно соединенные блок нормирующих преобразователей (БНП), модуль коммутатора, модуль аналого-цифрового преобразователя (АЦП), модуль формирования статических координат графоаналитического растра (МФСКГАР), блок видеоконтроля (БВ), импульсный регулятор (ИР) и модуль формирования динамической развертки графоаналитического растра (МФДРГАР), первый и второй информационные входы/выходы которого соединены соответственно с управляющими входами модуля коммутации и аналого-цифрового преобразователя, а третий, четвертый, пятый, шестой, седьмой и восьмой - с вторым, третьим, четвертым, пятым, шестым и седьмым информационными входами/выходами МФСКГАР, при этом второй вход блока видеоконтроля объединен с седьмым информационным входом/выходом МФСКГАР и восьмым информационным входом/выходом МФДРГАР.



 

Похожие патенты:

Изобретение относится к средствам автоматизации обучения и научных исследований и может быть использовано в интерактивных системах автоматизации научно-исследовательских работ в процессе верификации программного обеспечения (ПО) распределенных вычислительных комплексов (РВК).

Изобретение относится к обработке электронных чернил. .

Изобретение относится к вычислительной технике, в частности к автоматизированной системе распределенной обработки текстовых документов. .

Изобретение относится к системе дистанционного обучения. .

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

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

Изобретение относится к области управления приложениями с помощью речевых команд
Изобретение относится к области сетей передачи данных, а более конкретно - к системе и способу управления документооборотом и процессами печати

Изобретение относится к средствам форматирования по условию отображаемых данных

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

Изобретение относится к системам локализации контента и программного обеспечения

Изобретение относится к способу изучения системы письма китайскими иероглифами и основанной на китайских иероглифах системы письма для других языков

Изобретение относится к способам разрешения кореференции в чувствительной к неоднозначности системе обработки естественного языка, в частности к интеграции функциональных возможностей разрешения кореференции в систему обработки документа

Изобретение относится к обработке электронных чернил
Изобретение относится к способу обнаружения текстовых объектов. Техническим результатом является расширение арсенала технических средств за счет создания сравнительно быстрого способа обнаружения текстовых объектов. Способ обнаружения текстовых объектов заключается в том, что формируют для каждого подлежащего обнаружению текстового объекта список регулярных выражений, каждое из которых описывает данный текстовый объект; создают синтаксический анализатор, предназначенный для осуществления синтаксического анализа регулярных выражений; генерируют на основе синтаксического анализатора индивидуальный конечный автомат для каждого регулярного выражения; объединяют индивидуальные конечные автоматы всех регулярных выражений в по меньшей мере один поисковый автомат, предназначенный для поиска текстовых объектов; запускают поисковые автоматы на тексте подлежащего проверке документа для обнаружения в нем строк, представляющих собой текстовые объекты. 6 з.п. ф-лы.
Наверх