Текст описания приведен в факсимильном виде.
Изобретение относится к средствам автоматизации обучения и научных исследований и может быть использовано в интерактивных системах автоматизации научно-исследовательских работ в процессе верификации программного обеспечения (ПО) распределенных вычислительных комплексов (РВК). Технический результат заключается в расширении функциональных возможностей процессов верификации ПО РВК. Предлагаемый способ и система для его реализации обеспечивают полную управляемость и наблюдаемость основных процессов проверки исходного кода ПО. При этом на каждом уровне РВК обеспечено совмещение процессов ввода и обработки исходного кода ПО по зависимым или независимым интерфейсным каналам, на основе использования сенсорных или механических манипуляторов рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети. Участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных и баз знаний, а точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения соответствующих систем уравнений. 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, отличающаяся тем, что аппаратно-программный блок процессорного управления, обеспечивающий синхронизацию основных режимов интерактивной верификации программного обеспечения распределенных вычислительных комплексов, содержит последовательно соединенные блок нормирующих преобразователей (БНП), модуль коммутатора, модуль аналого-цифрового преобразователя (АЦП), модуль формирования статических координат графоаналитического растра (МФСКГАР), блок видеоконтроля (БВ), импульсный регулятор (ИР) и модуль формирования динамической развертки графоаналитического растра (МФДРГАР), первый и второй информационные входы/выходы которого соединены соответственно с управляющими входами модуля коммутации и аналого-цифрового преобразователя, а третий, четвертый, пятый, шестой, седьмой и восьмой - с вторым, третьим, четвертым, пятым, шестым и седьмым информационными входами/выходами МФСКГАР, при этом второй вход блока видеоконтроля объединен с седьмым информационным входом/выходом МФСКГАР и восьмым информационным входом/выходом МФДРГАР.
Устройство для формирования заданного закона индукции магнитного поля в ферромагнетике | 1986 |
|
SU1420562A1 |
JP 2004302584 A, 28.10.2004 | |||
МОТОРНО-РЕДУКТОРНОЕ МАСЛО ДЛЯ АВИАЦИОННОЙ ТЕХНИКИ | 2005 |
|
RU2283341C1 |
DE 10247914 А1, 22.04.2004 | |||
ПОЧВОГРУНТ ТОРФЯНОЙ "МАЛАХИТ" (ВАРИАНТЫ) | 2007 |
|
RU2366640C2 |
СПОСОБ ПОВЫШЕНИЯ ИЗВЛЕЧЕНИЯ ЦЕННЫХ КОМПОНЕНТОВ ИЗ СУЛЬФИДНОГО СЫРЬЯ ЭЛЕКТРОИМПУЛЬСНОЙ ОБРАБОТКОЙ | 2014 |
|
RU2559599C1 |
Авторы
Даты
2009-11-20—Публикация
2006-08-24—Подача