Текст описания приведен в факсимильном виде.
Изобретение относится к средствам автоматизации обучения и научных исследований и может быть использовано в интерактивных системах автоматизации научно-исследовательских работ в процессе верификации программного обеспечения (ПО) распределенных вычислительных комплексов (РВК). Технический результат заключается в расширении функциональных возможностей процессов верификации ПО РВК. Предлагаемый способ и устройство для его реализации обеспечивают полную управляемость и наблюдаемость основных процессов проверки исходного кода ПО. При этом обеспечено совмещение процессов ввода и обработки исходного кода ПО по зависимым или независимым интерфейсным каналам, на основе использования сенсорных или механических манипуляторов рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети. Участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных и баз знаний, а точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения соответствующих систем уравнений. 2 н. и 6 з.п. ф-лы, 39 ил., 26 табл.
1. Способ генерации баз данных и баз знаний для систем верификации программного обеспечения (ПО) распределенных вычислительных комплексов включает совмещение процессов ввода и обработки исходного кода программного обеспечения по зависимым или независимым каналам, на основе использования сенсорных или механических манипуляторов рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети, при этом участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных и баз знаний, а точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения соответствующих систем уравнений, при этом внутреннее представление исходного кода ПО на языке программирования Си, представляется в виде динамических массивов и соответствующих баз данных и баз знаний, которые используются в реальном масштабе времени для верификации ПО распределенных вычислительных комплексов.
2. Способ по п.1, отличающийся тем, что в качестве зависимых каналов используют интерфейсы жестких, гибких или оптических дисков.
3. Способ по п.1, отличающийся тем, что в качестве независимых каналов используют интерфейс последовательного порта или сетевой интерфейс.
4. Способ по п.1, отличающийся тем, что в качестве независимых каналов используют интерфейс последовательного порта или сетевой интерфейс, а в качестве зависимых каналов используют интерфейсы жестких, гибких или оптических дисков.
5. Способ по любому из пп.1-4, отличающийся тем, что осуществляют генерацию баз данных на основе использования отчетов об обнаруженных уязвимостях исходного кода программного обеспечения, которые содержат:
поле указаний на местоположение возможной уязвимости в исходном коде программы, включающее имя файла листинга программы, номер строки и номер позиции в строке программы, в котором возможно переполнение буфера запоминающего устройства ЭВМ, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства ЭВМ;
поле указания на причины переполнения буфера запоминающего устройства ЭВМ - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель критичности уязвимости исходного кода программного обеспечения;
поле указания на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения.
6. Способ по любому из пп.1-4, отличающийся тем, что осуществляют генерацию баз знаний на основе использования аннотаций внешних функций исходного кода (ИК) ПО РВК, при этом база знаний представляет набор правил или моделей протоколов верификации ИК ПО, обеспечивающих поддержку интерактивных процессов поиска уязвимости ПО.
7. Устройство для систем верификации программного обеспечения распределенных вычислительных комплексов (СВПО РВК), содержит аппаратно-программный блок (АПБ) лексического и семантического анализа/разбора, АПБ преобразования кода, АПБ анализа кода, АПБ процессорного управления, видеоадаптер, интерфейсы жестких, гибких и оптических дисков, интерфейс последовательного порта, сетевой интерфейс и системную память, которые объединены системной шиной, при этом системная память содержит постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM/ОЗУ), в ячейках оперативной памяти и жестких дисков размещают/записывают операционные системы, прикладные программы, базы данных и базы знаний, которые содержат листинги исходных программ, грамматику языка программирования (например, грамматику языка программирования Си), правила преобразования дерева разбора листинга программы, дерево разбора листинга программы, таблицу типов языка программирования, аннотации внешних функций, включающие их грамматику и семантику, код программ на языке внутреннего представления, условия корректности языка внутреннего представления исходного кода программы, условия проверки корректности подозрительных точек исходного кода программы, информационная база, содержащая системы ограничений в виде алгебраических уравнений и неравенств, отчеты об обнаруженных уязвимостях программного кода включают:
указание на местоположение возможной уязвимости в исходном коде программы, которое содержит имя файла листинга программы, номер строки и номер позиции в строке программы, в котором возможно переполнение буфера запоминающего устройства, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства;
указание причины переполнения буфера запоминающего устройства - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель или степень критичности обнаруженной уязвимости исходного кода программного обеспечения;
указание на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения,
при этом аппаратно-программный блок процессорного управления фиксирует все моменты формирования управляющих сигналов и реакций, соответствующих АПБ и их модулей, на эти воздействия.
8. Устройство по п.7, отличающееся тем, что аппаратно-программный блок процессорного управления, обеспечивающий синхронизацию основных режимов интерактивной верификации программного обеспечения распределенных вычислительных комплексов, содержит последовательно соединенные блок нормирующих преобразователей (БНП), модуль коммутатора, модуль аналого-цифрового преобразователя (АЦП), модуль формирования статических координат графоаналитического растра (МФСКГАР), блок видеоконтроля (БВ), импульсный регулятор (ИР) и модуль формирования динамической развертки графоаналитического растра (МФДРГАР), первый и второй информационные входы/выходы которого соединены соответственно с управляющими входами модуля коммутации и аналого-цифрового преобразователя, а третий, четвертый, пятый, шестой, седьмой и восьмой - с вторым, третьим, четвертым, пятым, шестым и седьмым информационными входами/выходами МФСКГАР, при этом второй вход блока видеоконтроля объединен с седьмым информационным входом/выходом МФСКГАР и восьмым информационным входом/выходом МФДРГАР.
Устройство для формирования заданного закона индукции магнитного поля в ферромагнетике | 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—Подача