10.06.2016
216.015.456d

СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002586016
Дата охранного документа
10.06.2016
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к области анализа и верификации целевой программы с использованием средства анализа/верификации программы. Техническим результатом является эффективная верификация программ на основе выбора для использования одного из нескольких подходящих средств верификации программ. Раскрыта система предоставления услуги верификации программ для верификации целевой программы с использованием одного или нескольких средств верификации программ, причем система предоставления услуги верификации программ включает: средство получения целевой программы для получения целевой программы; секцию хранения средств, в которой хранятся несколько средств верификации программ; средство извлечения средств для извлечения из нескольких средств верификации программ, хранящихся в секции хранения средств, одного или нескольких средств верификации программ для использования в верификации целевой программы, которую получило средство получения целевой программы; средство получения средств для получения из секции хранения средств одного или нескольких средств верификации программ, которые извлекло средство извлечения средств; и средство исполнения средств для верификации с использованием каждого из одного или нескольких средств верификации программ, которые получило средство получения средств, целевой программы, которую получило средство получения целевой программы, причем средство исполнения средств осуществляет верификацию целевой программы, полученной от каждого из нескольких пользователей. 6 н. и 13 з.п. ф-лы, 11 ил.
Реферат Свернуть Развернуть

Область техники

Настоящее изобретение относится к системе предоставления услуги анализа/верификации программ и т.д. для анализа и верификации целевой программы с использованием средства анализа/верификации программы.

Известный уровень техники

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

В последние годы такой способ анализа/верификации программы был значительно усовершенствован, так что можно анализировать и верифицировать больше и больше практических программ. Действительно, разные программы (именуемые ниже как ″средства анализа/верификации программ″) для осуществления анализа/верификации программ разработаны для использования в исследованиях и для коммерческого использования.

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

На Фиг. 11 показан вид, иллюстрирующий пример типичной конфигурации сайта анализа/верификации вируса. Как показано на Фиг. 11, пользователь сайта анализа/верификации вируса 900 отправляет на сайт анализа/верификации вируса 900 целевую программу, которую этот пользователь хочет подвергнуть анализу/верификации на вирус (Р1). Например, на сайты, указанные в приведенном ниже источнике 1 непатентной литературы, целевая программа отправляется через веб-интерфейс. Когда целевая программа отправлена на сайт, сайт анализа/верификации вируса 900 использует ПО для анализа/верификации 901, чтобы выполнить анализ/верификацию отправленной целевой программы (Р2). После завершения анализа/верификации сайт анализа/верификации вируса 900 отправляет результат анализа/верификации пользователю (Р3).

Преимущество сайта анализа/верификации вируса 900 заключается в том, что пользователь сайта не тратит время и силы для подготовки вычислительного ресурса (время ЦП, емкость памяти и т.д.) для анализа/верификации и на применения ПО для анализа/верификации.

Список ссылок непатентной литературы

Источник 1 непатентной литературы

″Virus/malware analysis site by sandbox″ (Сайт для анализа на вирусы/вредоносное ПО с использованием ″песочницы″), [online], июнь 2011 г., [дата поиска: 20 октября 2011 г.], Интернет-ссылка

<URL: http://lhsp.s206.xrea.com/misc/virussandbox.html>

Раскрытие изобретения

Технические задачи

Известные средства анализа/верификации программ имеют следующие практические проблемы.

(1) Увеличение вычислительного ресурса, требующееся для средства анализа/верификации программы

В зависимости от типа способа анализа/верификации программ, средства анализа/верификации программ нуждаются в исключительно большом объеме вычислительных ресурсов (время ЦП, емкость памяти и т.д.). Это особенно заметно в том случае, если анализируется и верифицируется сложная характеристика, или в случае, если подлежащая анализу и верификации целевая программа большая. Поэтому вид и размер анализа/верификации, которые могут реально выполнить отдельные пользователи средств анализа/верификации программ, ограничены.

(2) Диверсификация вида средств анализа/верификации программ

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

(3) Время, трудозатраты и стоимость внедрения/эксплуатации средства анализа/верификации программы

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

(4) Трудность самостоятельного тестирования средства анализа/верификации программ

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

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

Решение технической задачи

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

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

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

Полезные результаты изобретения

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

Краткое описание чертежей

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

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

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

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

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

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

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

Фиг. 8 - пояснительное изображение данных для использования в системе предоставления услуги анализа/верификации программ, показанной на Фиг. 1, которое показывает структуру данных в базе данных управления запросами.

Фиг. 9 - пояснительное изображение данных для использования в системе предоставления услуги анализа/верификации программ, показанной на Фиг. 1, которое показывает структуру данных в базе данных управления целевыми программами.

Фиг. 10 - пояснительное изображение данных для использования в системе предоставления услуги анализа/верификации программ, показанной на Фиг. 1, которое показывает структуру данных в базе данных управления средствами.

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

Описание вариантов осуществления

Описание ниже приводит подробный вариант осуществления настоящего изобретения. Система предоставления услуги анализа/верификации программ 1 этого варианта осуществления будет описана со ссылками на Фиг. 1 - Фиг. 10.

(1. Способ конфигурирования системы для совместного использования средства анализа/верификации программы)

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

Ключевым понятием является то, что на основе так называемого ″облачного″ подхода, который стал популярен в последние годы, пользователи нескольких средств анализа/верификации программ и провайдеры (провайдеры средств) нескольких средств анализа/верификации программ совместно используют одну систему и выполняют анализ/верификацию программы.

Более конкретно, система предоставления услуги анализа/верификации программ 1 включает три подсистемы, а именно подсистему исполнения анализа/верификации 10, подсистему управления целевой программой 20 и подсистему управления средствами 30. Подсистемы по отдельности будут описаны ниже. Примите к сведению, что все три подсистемы могут быть в одном компьютере или могут быть в нескольких компьютерных группах, которые соединения посредством сети.

(1.1. Подсистема исполнения анализа/верификации)

Сначала на основании запроса пользователя подсистема исполнения анализа/верификации 10 (Фиг. 2, Фиг. 3) получает из подсистемы управления целевой программой 20 целевую программу Р, которая будет подвергнута анализу/верификации программы, и получает средство анализа/верификации (виртуальная машина Т) из подсистемы управления средствами 30. Далее анализ/верификация программы выполняется в использованием целевой программы Р и средства анализа/верификации (виртуальной машины Т), полученных таким образом, и результат анализа/верификации программы (анализ/верификация данных результатов R) регистрируется в хранилище 13. Кроме того, этот результат предоставляется пользователю на экране.

Независимо от запроса пользователя, подсистема исполнения анализа/верификации 10 самостоятельно получает из подсистемы управления целевой программой 20 целевую программу Р, которая будет подвергнута анализу/верификации программы в соответствии с ее статусом эксплуатации. Более конкретно, статус эксплуатации, когда подсистема исполнения анализа/верификации 10 получит целевую программу Р представляет, например, случай, когда (1) степень использования ЦП системой, (2) степень использования памяти, (3) степень использования внешнего хранилища и т.д. не выходит за заданный порог. Подсистема исполнения анализа/верификации 1 0 получает не только целевую программу Р, но и средство анализа/верификации программы (виртуальная машина Т) из подсистемы управления средствами 30 и выполняет анализ/верификацию, а затем регистрирует результат анализа/верификации (данные результата R анализа/верификация) в репозитории 13. Поэтому в случае, когда запрос принят от пользователя после этого, можно немедленно отправить ему результат анализа/верификации, запросив репозиторий 13.

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

(1.2. Подсистема управления целевой программой)

На основании запроса пользователя подсистема управления целевой программой 20 (Фиг. 4, Фиг. 5) поддерживает и управляет (получает/сохраняет/обновляет/удаляет) целевой программой Р, указанной/предоставленной пользователем. Кроме того, подсистема управления целевой программой 20 предоставляет подходящую целевую программу Р в ответ на запрос из подсистемы исполнения анализа/верификации 10.

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

(1.3. Подсистема управления средствами)

На основании запроса/команды пользователя подсистема управления средствами 30 (Фиг. 6, Фиг. 7) поддерживает и управляет (устанавливает и настраивает/удаляет) средство анализа/верификации программы, указанное пользователем (провайдером средства анализа/верификации программы). Кроме того, подсистема управления средствами 30 предоставляет подходящее средство анализа/верификации программы в ответ на получение запроса из подсистемы исполнения анализа/верификации 10.

Как сказано выше, провайдер средства анализа/верификации программы устанавливает, поддерживает и управляет средством анализа/верификации программы, и несколько пользователей совместно используют средство анализа/верификации программы. Поэтому пользователям не нужно устанавливать, поддерживать и управлять средством анализа/верификации программы самостоятельно.

(2. Пример установки системы для совместного использования средства анализа/верификации программы)

Ниже описан один пример установки подсистем, описанных выше.

(2.1. Один пример установки подсистемы исполнения анализа/верификации)

Фиг. 2 представляет собой блок-схему, показывающую конфигурацию подсистемы исполнения анализа/верификации 10 и процесс исполнения анализа/верификации.

Подсистема исполнения анализа/верификации 10 включает контроллер 11, среду исполнения виртуальной машины 12 и репозиторий 13. Контроллер 11 выполняет обработку запроса на исполнение, переданного пользователем, прием/передачу данных из или в подсистему управления целевой программой 20 и из или в подсистему управления средствами 30, исполнение анализа/верификации и сохранение результата анализа/верификации в репозиторий 13. Среда исполнения виртуальной машины 12 является средой исполнения для выполнения анализа/верификации. Репозиторий 13 хранит результат анализа/верификации.

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

Вторая причина, путем установки и настройки средства анализа/верификации программы на виртуальной машине (см. (2.3. Один пример установки подсистемы управления средствами) в деталях), провайдеры средств анализа/верификации программ могут устанавливать и настраивать средства анализа/верификации программ в среде исполнения, которая по существу такая же, как и среда исполнения, в которой они обычно разрабатывают и испытывают средства анализа/верификации программ. Это может избавить провайдеров средств анализа/верификации программ от ненужного бремени, такого как правка средств анализа/верификации программы, чтобы средство анализа/верификации программы подходило для специальной среды исполнения, и дополнительная подготовка системы для обеспечения того, чтобы средство анализа/верификации программы принимало и передавало данные из или во внешние источники.

Конкретный процесс исполнения анализа/верификации заключается в следующем. Во-первых, запрос на исполнение анализа/верификации передается контроллеру 11 пользователем (А1). Запрос на исполнение включает тэг, указывающий, какая целевая программа Р подвергается анализу/верификации, и тэг, указывающий какое средство анализа/верификации программы (виртуальная машина Т) используется. Контроллер 11, который получил запрос на исполнение, получает целевую программу Р из подсистемы управления целевой программой 20 на основании тэга, указанного в запросе на исполнение, и тэга, который присвоен пользователю в соответствии с разрешением пользователя (А2-а, A3-а; этап получения целевой программы), и получает виртуальную машину Т, включая изображение средства анализа/верификации программы, из подсистемы управления средствами 30 (A2-b, A3-b; этап получения средства).

Примите к сведению, что ″тэг, который присвоен пользователю в соответствии с разрешением пользователя″ означает тэг, который присваивается отдельным пользователям, представляя разрешение на доступ к средству анализа/верификации программы (виртуальная машина Т) и к целевой программе Р. Например, как самый простой тэг, такой тэг как ″ПОЛЬЗОВАТЕЛЬ_А″ присваивается запросу на исполнение, который передает пользователь А. Он позволяет пользователю А получить целевую программу Р и средство анализа/верификации программы (виртуальную машину Т), которым присвоен тэг ″ПОЛЬЗОВАТЕЛЬ_А″. В то же время, пользователю В присваивается такой тэг как ″ПОЛЬЗОВАТЕЛЬ_В″, так что пользователь В не может получить целевую программу Р и средство анализа/верификации программы (виртуальную машину Т), которым присвоен только тэг ″ПОЛЬЗОВАТЕЛЬ_А″. То есть, целевая программа Р и средство анализа/верификации программы (виртуальная машина Т) пользователя А могут быть скрыты от пользователя В. В качестве более сложного примера, в случае, если пользователь А и пользователь В совместно пользуются их целевыми программами Р и средствами анализа/верификации программ (виртуальные машины Т) как общие пользователи, запросам на исполнение, передаваемым пользователями А и В, присваивается такой тэг как ″ГРУППА_АВ″. Поэтому пользователи А и В могут получить целевые программы Р и средства анализа/верификации программ (виртуальные машины Т), которым присвоен тэг ″ГРУППА_АВ″.

Затем с использованием целевой программы Р и изображения средства (виртуальная машина Т), анализ/верификация фактически исполняется в среде исполнения виртуальной машины 12 (А4; этап исполнения средства). После анализа/верификации контроллер 11 получает ее результат (А5) и сохраняет этот результат в репозитории 13, при этом связывая этот результат с тэгом (А6). Примите к сведению, что, как сказано выше, процессы (А2) - (А6) с Фиг. 2 могут быть выполнены заранее в соответствии со статусом эксплуатации подсистемы 10 исполнения анализа/верификации, даже если запрос на исполнение не передан пользователем, хотя на Фиг. 2 это детально не показано. В этом случае, поскольку тэг связан с результатом анализа/верификации, который хранится в репозитории 13, может быть использован тэг, который был присвоен самой целевой программе Р и самому изображению средства (виртуальная машина Т) анализа/верификации программы.

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

Результат анализа/верификации, хранящийся в репозитории 13, представляется пользователю так, как сказано ниже. Сначала запрос на получение (запрос на получение результата) результата анализа/верификации направляется контроллеру 11 пользователем (В1). Запрос на получение результата включает такие же тэги, как тэги запроса на исполнения, описанные выше. Контроллер 11, который получил запрос на получение результата, получает результат анализа/верификации из репозитория 13 на основании тэга, указанного в запросе на получение результата, и тэга, присвоенного в соответствии с разрешением пользователя (В2, В3). Затем контроллер 11 отображает полученный таким образом результат для пользователя (В4). Примите к сведению, что в случае, если результат не хранится в репозитории 13, могут быть исполнены процессы (А2) - (А6) с Фиг. 2.

(2.2. Один пример установки подсистемы управления целевой программой)

Фиг. 4 представляет собой блок-схему, показывающую конфигурацию подсистемы управления целевой программой 20 и процесс регистрации целевой программы Р.

Подсистема управления целевой программой 20 включает контроллер 21 и репозиторий 22. Контроллер 21 выполняет обработку запроса на регистрацию целевой программы, переданного пользователем, получение целевой программы Р и регистрацию целевой программы Р в репозитории 22. Репозиторий 22 хранит целевую программу Р.

Процесс регистрации конкретной целевой программы заключается в следующем. Сначала запрос на регистрацию целевой программы Р передается контроллеру 21 пользователем (С1). Запрос на регистрацию включает тэг, указанный пользователем, и указание, как передавать целевую программу Р. Тэг, указанный пользователем в запросе на регистрацию, может быть определен пользователем произвольно как его номер и содержимое. Предполагается, что тэг используется, когда, например, указан вид языка программирования, используемый для целевой программы Р, и когда указан тип программы (отличие между пользовательской программой и системной программой и т.д.). Кроме того, предполагается, что передача целевой программы Р является прямой передачей от пользователя (С2) и импорт из внешней системы (система управления версией и т.д.) (С2-1, С2-2). Контроллер 21, который принял запрос на регистрацию, получает целевую программу Р так, как указано в запросе на регистрацию (С2, С2-1, С2-2), связывает целевую программу Р с тэгом, указанным в запросе на регистрацию, и тэгом, присвоенным в соответствии с разрешением пользователя, и сохраняет целевую программу Р в репозитории 22 (С3).

На Фиг. 5 приведена блок-схема, иллюстрирующая конфигурацию подсистемы управления целевой программой 20 и процесс запроса на получение целевой программы Р из подсистемы исполнения анализа/верификации 10.

Когда контроллер 21 получит запрос на получение целевой программы Р из подсистемы исполнения анализа/верификации 10 (D1), контроллер 21 проводит поиск целевой программы Р в репозитории 22 на основании тэга, указанного в запросе на получение (D2, D3). Затем контроллер 21 передает целевую программу Р, которая получена из репозитория 22, в подсистему исполнения анализа/верификации (D4).

(2.3. Один пример установки подсистемы управления средствами)

Фиг. 6 представляет собой блок-схему, показывающую конфигурацию подсистемы управления средствами 30 и процесс регистрации средства анализа/верификации программы.

Подсистема управления средствами 30 включает контроллер 31, репозиторий 32 и среду исполнения виртуальной машины 33. Контроллер 31 выполняет обработку запроса на регистрацию, переданного провайдером средства, генерацию виртуальной машины (начальная виртуальная машина) для установки и настройки средства анализа/верификации программы и сохранение виртуальной машины Т, включая изображение средства, в репозиторий 32. Среда исполнения виртуальной машины 33 является средой, которая позволяет провайдеру средства установить и настроить средство анализа/верификации программы. Репозиторий 32 хранит изображение системы виртуальной машины Т, в которую провайдер средства установил и настроил средство анализа/верификации программы.

Конкретный процесс регистрации средства анализа/верификации программы заключается в следующем. Сначала запрос на регистрацию средства анализа/верификации программы передается контроллеру 31 от провайдера средства (Е1). Запрос на регистрацию включает тэг, указанный провайдером средства. Тэг, указанный провайдером средства в запросе на регистрацию, может быть произвольно определен провайдером средства как его содержимое и номер. Тэг в запросе на регистрацию, указанный провайдером средства, как предполагается, будет использован для указания следующего: (1) вида языка программирования и типа программы, с которым может работать средство анализа/верификации программы (различие между пользовательской программой и системной программой и т.д.); и (2) среда исполнения, в которой работает средство анализа/верификации программы (такая как вид и версия операционной системы, вид и версия библиотеки, необходимый вычислительный ресурс, т.е., тактовая частота и тип ЦП, объем памяти и объем диска).

Контроллер 31, который получил запрос на регистрацию, генерирует новую виртуальную машину (начальная виртуальная машина) (Е2). В это время контроллер 31 формирует подходящую виртуальную машину (подходящая виртуальная машина (начальная виртуальная машина), в которой отрегулированы вид и версия операционной системы, объем памяти и объем диска) в соответствии с тэгом, указанным в запросе на регистрацию. Примите к сведению, что в этом варианте осуществления виртуальная машина, в которой еще не установлено и не настроено средство анализа/верификации программы, называется ″начальная виртуальная машина″.

Здесь в случае частых комбинаций указываемых тэгов незавершенная виртуальная машина (начальная виртуальная машина), в которой подходящая операционная система или библиотека установлена заранее, может быть создана и сохранена заранее, и эта незавершенная виртуальная машина может быть просто скопирована, когда необходима виртуальная машина. Это дает возможность снизить стоимость создания виртуальной машины.

Затем провайдер средства исполняет в среде исполнения виртуальной машины 33 виртуальную машину (начальную виртуальную машину), созданную контроллером 31, и устанавливает и настраивает средство анализа/верификации программы в этой виртуальной машине (начальной виртуальной машине) (Е3). Как сказано выше, подходящая операционная система, подходящая библиотека и т.д. заранее готовят в виртуальной машине (начальной виртуальной машине) на основании тэга, указанного в запросе на регистрацию. Поэтому провайдер средства может установить и настроить средство анализа/верификации программы таким же образом, как провайдер средства обычно устанавливает и настраивает другие средства анализа/верификации программ. Это помогает провайдерам средств избежать ненужного бремени, такого как коррекция средства анализа/верификации программы, чтобы средство анализа/верификации программы подходило для среды исполнения, и подготовка специальной системы для приема и передачи данных от внешней системы или внешней системе.

В заключение, контроллер 31 связывает виртуальную машину Т с тэгом, указанным в запросе на регистрацию, и сохраняет в репозитории 32 виртуальную машину Т, включая изображение средства, в которой провайдером средства установлено и настроено средство анализа/верификации программы (Е4).

Фиг. 7 представляет собой блок-схему, показывающую конфигурацию подсистемы управления средствами 30 и процесс запроса на получение виртуальной машины Т, включая изображение средства анализа/верификации программы, из подсистемы исполнения анализа/верификации 10.

После приема запроса на получение виртуальной машины Т из подсистемы исполнения анализа/верификации 10 (F1; этап получения средства), контроллер 31 проводит поиск виртуальной машины Т в репозитории 32 на основании тэга, указанного в запросе на получение (F2, F3; э тап извлечения средства), и передает полученную таким образом виртуальную машину Т в подсистему исполнения анализа/верификации 10 (F4; этап получения средства).

(3. Подробное описание примера)

Ниже будет подробно описан один пример системы предоставления услуги анализа/верификации программ 1.

(3.1. Конфигурация)

Ниже будет описана конфигурация системы предоставления услуги анализа/верификации программ 1 со ссылками на Фиг. 1 и Фиг. 8 - Фиг. 10. На Фиг. 1 представлена функциональная блок-схема, иллюстрирующая конфигурацию системы предоставления услуги анализа/верификации программ 1. На Фиг. 8 - Фиг. 10 приведены пояснительные изображения, показывающие данные для использования в системе предоставления услуги анализа/верификации программ 1. Примите к сведению, что в нижеприведенном описании в соответствующих случаях также сделаны ссылки на Фиг. 2 - Фиг. 7.

Система предоставления услуги анализа/верификации программ 1 предоставляет услугу, которая позволяет пользователю средства анализа/верификации программы анализировать/верифицировать целевую программу Р с использованием средства анализа/верификации программы, предоставленного провайдером средства.

Как показано на Фиг. 1, конфигурация системы предоставления услуги анализа/верификации программ 1 включает секцию анализа/верификации (устройство для анализа/верификации программ) 100, секцию управления целевой программой (секция управления целевой программой для анализа/верификации программы) 200 и секция управления средствами (устройство для управления средством анализа/верификации программ) 300. Примите к сведению, что система предоставления услуги анализа/верификации программ 1 может быть конфигурирована одним устройством. То есть, секция анализа/верификации 100, секция управления целевой программой 200 и секция у правления средствами 300 могут быть смонтированы на одном устройстве. Альтернативно, система предоставления услуги анализа/верификации программ 1 может быть конфигурирована несколькими устройствами. Более конкретно, секция анализа/верификации 100, секция управления целевой программой 200, и секция управления средствами 300 могут быть раздельно смонтированы на двух или больше устройствах.

Кроме того, секция анализа/верификации 100, секция управления целевой программой 200 и секция управления средствами 300 соответствуют подсистеме исполнения анализа/верификации 10, подсистеме управления целевой программой 20 и подсистеме управления средствами 30, соответственно, показанными на Фиг. 2 - Фиг. 7.

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

(3.1.1. Секция анализа/верификации)

Сначала секция анализа/верификации 100 имеет функцию (i) получения запроса на исполнение анализа/верификации целевой программы Р от пользователя, (ii) получения целевой программы Р и средства анализа/верификации программы (виртуальная машина Т) в соответствии с запросом на исполнение, (iii) исполнение анализа/верификации и (iv) сохранения данных результатов R анализа/верификации (Фиг. 2). Секция анализа/верификации 100 также имеет функцию получения запроса на получение результата от пользователя и предоставления сохраненных таким образом данных результатов R анализа/верификации пользователю (Фиг. 3).

Поэтому, как показано на Фиг. 1, секция анализа/верификации 100 включает секцию управления анализом/верификацией 110, секцию среды исполнения виртуальной машины (средство исполнения средств) 120 и секцию хранения данных 130. Примите к сведению, что секция управления анализом/верификацией 110, секция среды исполнения виртуальной машины 120 и секция хранения данных 130 соответствуют контроллеру 11, среде исполнения виртуальной машины 12 и репозиторию 13, соответственно, подсистемы 10 исполнения анализа/верификации, показанной на Фиг. 2 - Фиг. 3.

Секция управления анализом/верификацией 110 управляет всей секцией анализа/верификации 100. Более конкретно, секция управления анализом/верификацией 110 включает секцию пользовательского интерфейса (средство получения информации по указанию средств) 111, секцию управления исполнением средства 112, секцию управления данными 113, секцию получения целевой программы (средство получения целевой программы) 114 и секцию получения средств (средство получения средств) 115.

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

Более конкретно, после получения ввода от пользователя секция пользовательского интерфейса 111 получает идентификационную информацию по пользователю с указанием тэга (идентификационная информация по пользователю) и разрешение пользователя с указанием тэга (информация по разрешению пользователя).

Секция пользовательского интерфейса 111 также получает запрос на исполнение от пользователя (А1 на Фиг. 2). Запрос на исполнение включает тэг, указывающий, какая целевая программа Р подвергается анализу/верификации (информация по указанию целевой программы), и тэг, указывающий, какое средство анализа/верификации программы (виртуальная машина Т) используется (информация по получению средств). Информация по получению средств должна указывать, какое средство анализа/верификации программы (виртуальная машина Т) используется для анализа/верификации целевой программы Р, которую получила секция получения целевой программы 114.

Секция пользовательского интерфейса 111 получает запрос на получение результата от пользователя (В1 на Фиг. 3). Запрос на получение результата включает тэг, подобный тэгу запроса на исполнение. Примите к сведению, что в запросе на получение результата информация по получению средств может отсутствовать.

Секция управления исполнением средства 112 анализирует/верифицирует целевую программу Р на основании запроса на исполнение, который секция пользовательского интерфейса 111 получила от пользователя. Более конкретно, секция управления исполнением средства 112 управляет секцией получения целевой программы 114 и получает целевую программу Р на основании информации по указанию целевой программы (А2-а, A3-а на Фиг. 2; этап получения целевой программы). Секция управления исполнением средства 112 также управляет секцией получения средств 115 и получает виртуальную машину Т, включая изображение средства анализа/верификации программы на основании информации по получению средств (А2-b, А3-b на Фиг. 2; этап получения средства). Кроме того, секция управления исполнением средства 112 обеспечивает исполнение секцией среды исполнения виртуальной машины 120 полученной таким образом целевой программы Р на полученной таким образом виртуальной машине Т, чтобы проанализировать/верифицировать программу (А4 на Фиг. 2; этап исполнения средства). Примите к сведению, что такие анализ/верификация целевой программы Р могут быть выполнены на виртуальной машине Т при исполнении целевой программы Р на виртуальной машине Т, однако анализ/верификация также могут быть выполнены без исполнения целевой программы Р. Кроме того, секция управления исполнением средства 112 получает результат анализа/верификации после завершения анализа/верификации в секции среды исполнения виртуальной машины 120 (А5 на Фиг. 2) и управляет секцией управления данными 113, чтобы связать этот результат (данные результата R анализа/верификации) с тэгом запроса на исполнение, и затем обеспечивает сохранение результата в секции хранения данных 130 (А6 на Фиг. 2).

Примите к сведению, что секция управления исполнением средства 112 может выполнять процессы (А2) - (А6) на Фиг. 2 заранее в соответствии со статусом эксплуатации (степень использования ЦП, степень использования памяти, степень использования внешнего накопителя и т.д.) секции среды исполнения виртуальной машины 120 и т.д., даже если запрос на исполнение не был передан пользователем. В этом случае тэг, который связан с результатом, когда результат (данные результата R анализа/верификации) хранится в секции хранения данных 130, является тэгом, присвоенным самой целевой программе Р, и тэгом, присвоенным самой виртуальной машине Т.

Секция управления исполнением средства 112 управляет секцией управления данными 113 на основании запроса на получение результата, который секция пользовательского интерфейса 111 получила от пользователя, получает данные результата R анализа/верификации, хранящиеся в секции хранения данных 130, и представляет результат в секции пользовательского интерфейса 111 пользователю (В1 - В4 на Фиг. 3). Более конкретно, получение данных результата R анализа/верификации выполняется путем поиска в базе данных DBi управления запросами с использованием тэга, включенного в запрос на получение результата, и получения соответствующих данных результата R анализа/верификации (т.е., данных результата R анализа/верификации, связанного с этим тэгом) из секции хранения данных 130.

После получения запроса на исполнение от пользователя секция управления данными 113 обеспечивает сохранение содержимого тэга, включенного в запрос на исполнение в базе данных DB1 управления запросами секции хранения данных 130. Кроме того, секция управления данными 113 обеспечивает сохранение в секции хранения данных 130 данных результата R анализа/верификации. В это время данные результата R анализа/верификации сохраняются в базе данных DBi управления запросами, чтобы быть связанными с идентификационной информацией (идентификационная информация данных результата) по данным результата R анализа/верификации и информацией по тэгу запроса на исполнение. Кроме того, после получения запроса на получение результата от пользователя секция управления данными 113 считывает из секции хранения данных 130 данные результата R анализа/верификации, соответствующие содержимому тэга, включенного в запрос на получение результата.

Секция получения целевой программы 114 передает запрос на получение целевой программы, включающий информацию по указанию целевой программы, в секцию управления целевой программой 200 (А2-а на Фиг. 2) и в ответ на это получает целевую программу Р (A3-а на Фиг. 2).

Секция получения средств 115 передает запрос на получение виртуальной машины (изображения средства), включающий информацию по получению средства, в секцию для управления средствами 300 (A2-b на Фиг. 2) и в ответ на это получает средство анализа/верификации программы (виртуальную машину Т) (А3-b на Фиг. 2).

Секция среды исполнения виртуальной машины 120 анализирует/верифицирует на виртуальной машине Т, полученной секцией получения средств 115, целевую программу Р путем прогона целевой программы Р, которую получила секция получения целевой программы 114 (А4 на Фиг. 2).

Секция хранения данных 130 хранит базу данных DBi управления запросами и данные результата R анализа/верификации. Как показано на Фиг. 8, база данных DBi управления запросами хранит идентификационную информацию по пользователю, информацию по разрешению пользователя, информацию по указанию целевой программы, информацию по получению средств и идентификационную информацию данных результата в одной записи. Данные результата R анализа/верификации связаны с другой информацией идентификационной информацией данных результата.

Здесь информация, зарегистрированная в базе данных DBi управления запросами, будет описана более конкретно со ссылкой на Фиг. 8.

- Идентификационная информация по пользователю является информацией для идентификации пользователей. Примеры ″ПОЛЬЗОВАТЕЛЬ_А, ПОЛЬЗОВАТЕЛЬ_В″ представляют тэги, присвоенные пользователю А, пользователю В, соответственно.

- Информация по разрешению пользователя является разрешением пользователей на доступ. Пример ″ГРУППА_АВ″ представляет тэг, указывающий разрешение для группы, согласно которому пользователи А и В могут совместно использовать целевую программу Р и средство анализа/верификации программы (виртуальную машину Т). Тэг ″ШИРОКАЯ ПУБЛИКА″ представляет тэг, указывающий, что произвольный пользователь может получить доступ к программе, помеченной тэгом, и к средству анализа/верификации программы (виртуальной машине Т), помеченному тэгом. Тэг ″АДМИНИСТРАТОР″ представляет тэг, указывающий, что только администратор может получить доступ к программе, помеченной этим тэгом, и к средству анализа/верификации программы (виртуальной машине Т), помеченному этим тэгом.

- Информация по указанию целевой программы является информацией, указывающей, какая целевая программа Р подвергается анализу/верификации. Информация по указанию целевой программы соответствует сумме идентификационной информации по целевой программе и относящейся к этой целевой программе информации из базы данных DBp управления целевыми программами. Пример ″OBJP_ID_1, С, СИСТЕМНАЯ_ПРОГРАММА″ представляет целевую программу, ″которая имеет идентификационную информацию OBJP_ID_1, которая является программой на языке С и которая относится к типу системных программ″.

- Информация по получению средств является информацией, указывающей, какое средство анализа/верификации программы (виртуальная машина Т) используется для анализа/верификация. Информация по получению средств соответствует сумме идентификационной информации по средству и относящейся к средству информации из базы данных DBt управления средствами. Пример ″СРЕДСТВО_ID_0, С, ПОЛЬЗОВАТЕЛЬСКАЯ_ПРОГРАММА, СИСТЕМНАЯ_ПРОГРАММА, ЧАСТОТА_ЦП_2G, ПАМЯТЬ_МАКСИМАЛЬНАЯ_1G″ представляет средство анализа/верификации программы (виртуальную машину Т), которая ″имеет идентификационную информацию СРЕДСТВО_ID_0, может верифицировать пользовательскую программу и системную программу, включает ЦП, имеющий частоту 2 ГГц и использует максимальную память 1 Гб″.

- Идентификационная информация по данным результата является идентификационной информацией по данным результата (данные результата R анализа/верификации) анализа/верификации. Пример ″РЕЗУЛЬТАТ_0, РЕЗУЛЬТАТ_1″ представляет идентификационную информацию для ссылки на данные результата анализа/верификации.

Примите к сведению, что информация (например, последовательный номер, дата и время выдачи запроса), чтобы прямо указать запрос на исполнение, может быть кроме того представлена в базе данных DBi управления запросами. Отметьте, однако, что можно указать запрос на исполнение в том случае, если информация по указанию целевой программы и информация по получению средства, т.е., целевой программы Р и средства анализа/верификации программы (виртуальной машины Т), имеют уникальное обозначение в базе данных DBi управления запросами. Поэтому эта информация не является существенно важной.

(3.1.2. Секция управления целевой программой)

Секция управления целевой программой 200 имеет функцию получения запроса на регистрацию целевой программы Р от пользователя, получения целевой программы Р в соответствии с запросом на регистрацию и хранения целевой программы Р (Фиг. 4). Секция управления целевой программой 200 также имеет функцию получения запроса на получение целевой программы от секции анализа/верификации 100 и передачи хранящейся целевой программы Р в секцию анализа/верификации 100 (Фиг. 5).

Поэтому, как показано на Фиг. 1, секция управления целевой программой 200 включает секцию управления руководством целевой программой 210 и секцию хранения целевой программы 220. Примите к сведению, что секция управления руководством целевой программой 210 и секция хранения целевой программы 220 соответствуют контроллеру 21 и репозиторию 22, соответственно, подсистемы управления целевой программой 20, показанной на Фиг. 4 - Фиг. 5.

Секция управления руководством целевой программой 210 управляет всей секцией управления целевой программой 200. Более конкретно, секцию управления руководством целевой программой 210 включает секцию пользовательского ввода 211, секцию получения целевой программы 212, секция регистрации/поиска целевой программы 213 и секцию передачи целевой программы 214.

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

Более конкретно, после получения данных, введенных пользователем, секция пользовательского ввода 211 получает тэг, указывающий идентификационную информацию по пользователю (идентификационная информация по пользователю), и тэг, указывающий разрешение пользователя (информация по разрешению пользователя).

Кроме того, секция пользовательского ввода 211 принимает запрос на регистрацию целевой программы Р от пользователя (С1 на Фиг. 4). Запрос на регистрацию включает тэг (информация, относящаяся к целевой программе), указанный пользователем, тэг, указывающий, как передавать целевую программу Р (информация, указывающая способ передачи), идентификационную информацию (идентификационная информация по целевой программе) по целевой программе Р, которая должна быть проанализирована/верифицирована.

Секция получения целевой программы 212 получает целевую программу Р на основании запроса на регистрацию, который секция пользовательского ввода 211 получила от пользователя. Более конкретно, в случае, когда информация, указывающая способ передачи, включенный в запрос на регистрацию, является ″прямой передачей″, секция получения целевой программы 212 получает целевую программу Р, переданную пользователем (С2 на Фиг. 4). При этом, в случае, когда информация, указывающая способ передачи, включенный в запрос на регистрацию, является ″импортом″, секция получения целевой программы 212 получает целевую программу Р из внешней системы (системы управления версией и т.д.) (С2-1, С2-2 на Фиг. 4).

В случае, когда секция пользовательского ввода 211 получает запрос на регистрацию от пользователя, секция регистрации/поиска целевой программы 213 обеспечивает сохранение содержимого тэга, включенного в запрос на регистрацию, в секции хранения целевой программы 220 базы данных DBp управления целевыми программами (С3 на Фиг. 4). Секция регистрации/поиска целевой программы 213 также обеспечивает сохранение в секции хранения целевой программы 220 целевой программы Р, которую получила секция получения целевой программы 212 (С3 на Фиг. 4). В это время целевая программа Р сохраняется в базе данных DBp управления целевыми программами, чтобы быть связанной с идентификационной информацией по целевой программе Р (идентификационная информация по целевой программе) и информацией по тэгу запроса на регистрацию.

Кроме того, после получения запроса на получение целевой программы от секции анализа/верификации 100, секция регистрации/поиска целевой программы 213 обращается к базе данных DBp управления целевыми программами и считывает соответствующую целевую программу Р из секции хранения целевой программы 220 в ответ на информацию по указанию целевой программы (сумма идентификационной информации по целевой программе и информации, относящейся к целевой программе), включенную в запрос на получение целевой программы (D1 - D4 на Фиг. 5).

Секция передачи целевой программы 214 получает запрос на получение целевой программы, имеющий идентификационную информацию по целевой программе, от секции анализа/верификации 100 (D1 на Фиг. 5), и, в ответ на запрос на получение целевой программы, передает целевую программу Р в секцию анализа/верификации 100 (D4 на Фиг. 5).

Секция хранения целевой программы 220 хранит целевую программу Р в базе данных DBp управления целевыми программами. Как показано на Фиг. 9, база данных DBp управления целевыми программами хранит идентификационную информацию по пользователю, информацию по разрешению пользователя, информацию, относящуюся к целевой программе, информацию, указывающую способ передачи, и идентификационную информацию по целевой программе в одной записи. Целевая программа Р связана с другой информацией идентификационной информацией по целевой программе.

Ниже информация, регистрируемая в базе данных DBp управления целевыми программами, будет описана более конкретно со ссылкой на Фиг. 9.

- Идентификационная информация по пользователю является идентификационной информацией по пользователям. Примеры ″ПОЛЬЗОВАТЕЛЬ_А, ПОЛЬЗОВАТЕЛЬ_В″ представляют тэги, присвоенные пользователю А, пользователю В, соответственно.

- Информация по разрешению пользователя является разрешением на доступ пользователей. Пример ″ГРУППА_АВ″ представляет тэг, указывающий разрешение для группы, согласно которому пользователи А и В могут совместно использовать целевую программу Р и средство анализа/верификации программы (виртуальную машину Т). Тэг ″ШИРОКАЯ ПУБЛИКА″ представляет тэг, указывающий, что произвольный пользователь может получить доступ к помеченной этим тэгом программе и помеченному этим тэгом средству анализа/верификации программы (виртуальная машина Т). Тэг ″АДМИНИСТРАТОР″ представляет тэг, указывающий, что только администратор может получить доступ к отмеченной этим тэгом программе и отмеченному этим тэгом средству анализа/верификации программы (виртуальной машине Т).

- Информация, относящаяся к целевой программе, является информацией, которая может быть произвольно определена пользователем в отношении ее содержимого и номера. Например, как информация, относящаяся к целевой программе, могут быть записаны вид языка программирования, тип программы (различие между пользовательской программой и системной программой) и т.д. для использования в целевой программе Р. В примерах обозначены ″вид языка программирования″ и ″тип программы″. Примеры ″Java, С, C++, OCaml″, которые являются примерами языка программирования, дают примеры тэгов, указывающих каким языком программирования написана целевая программа. Кроме того, примеры ″ПОЛЬЗОВАТЕЛЬСКАЯ_ПРОГРАММА, СИСТЕМНАЯ_ПРОГРАММА, БИБЛИОТЕКА″, которые являются примерами типа программы, определяют тип целевой программы (пользовательская программа, системная программа, библиотека и т.д.).

- Информация, указывающая способ передачи, является информацией о том, как передавать целевую программу Р, например, целевая программа Р может быть прямо передана пользователем или импортирована из внешней системы. Пример ″ПРЯМАЯ_ЗАГРУЗКА″ представляет тэг, указывающий, что целевая программа Р прямо загружается пользователем. Пример ″ИМПОРТИРОВАТЬ_git://XX…″ представляет тэг, указывающий, что целевая программа Р может быть или была получена из внешнего репозитория (далее, git://XXX…).

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

(3.1.3. Секция управления средствами)

Секция управления средствами 300 имеет функцию получения запроса на регистрацию средства анализа/верификации программы от провайдера средства, создания виртуальной машины Т, в которой будет установлено и настроено это средство анализа/верификации программы в ответ на запрос на регистрацию, и хранения виртуальной машины Т (Фиг. 6). Секция управления средствами 300 также имеет функцию получения запроса на получение виртуальной машины от секции анализа/верификации 100 и передачи в секцию анализа/верификации 100 виртуальной машины Т, которая была найдена на основании полученной информации по получению средств и затем была извлечена (Фиг. 7).

Поэтому, как показано на Фиг. 1, секция управления средствами 300 включает секцию управления руководством средством 310 и секцию хранения средств 320. Примите к сведению, что секция управления руководством средством 310 и секция хранения средств 320 соответствуют контроллеру 31 и репозиторию 32, соответственно, подсистемы управления средствами 30, показанной на Фиг. 6 - Фиг. 7. В секции для управления средствами 300 на Фиг. 1 секция генерации виртуальной машины 312 секции управления руководством средством 310 имеет функцию, соответствующую функции, которую имеет среда исполнения виртуальной машины 33 подсистемы управления средствами 30.

Секция управления руководством средством 310 управляет всей секцией для управления средствами 300. Более конкретно, секция управления руководством средством 310 включает секцию ввода для провайдера средства 311, секцию генерации виртуальной машины (средство генерации виртуальной машины) 312, секцию регистрации/поиска средства (средство извлечения средств) 313 и секцию передачи средства 314.

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

Более конкретно, после приема данных, введенных провайдером средства, секция ввода для провайдера средства 311 получает тэг (идентификационную информацию по провайдеру средства).

Секция ввода для провайдера средства 311 также принимает запрос на регистрацию средства анализа/верификации программы от провайдера средства (Е1 на Фиг. 6). Запрос на регистрацию включает тэг, указанный провайдером средства (информация, относящаяся к средству), и тэг идентификационной информации по средству анализа/верификации программы (идентификационная информация по средству). Примите к сведению, что идентификационная информация по средству используется в качестве идентификационной информации на виртуальной машине Т, включающей изображение средства, на которой установлено и настроено средство анализа/верификации программы для использования при анализе/верификации. Кроме того, секция ввода для провайдера средства 311 принимает средство анализа/верификации программы в ответ на запрос на регистрацию (Е3 на Фиг. 6).

Секция генерации виртуальной машины 312 генерирует для каждого средства анализа/верификации программы виртуальную машину Т, в которой установлено и настроено средство анализа/верификации программы (Е2 на Фиг. 6). Для генерации виртуальной машины Т информация, относящаяся к средству, из запроса на регистрацию используется в качестве данных для установки и настройки средства анализа/верификации программы в виртуальной машине. Секция генерации виртуальной машины 312 включает секцию генерации начальной виртуальной машины 3121 и секцию введения средства 3122.

Секция генерации начальной виртуальной машины 3121 генерирует на основании информации, относящейся к средству, виртуальную машину (начальная виртуальная машина), в которой еще не установлено и не настроено средство анализа/верификации программы. Поэтому например, можно получить начальную виртуальную машину, которая подходит в смысле вида языка программирования и типа программы (различие между пользовательской программой и системной программой), с которой работает средство анализа/верификации программы и среды исполнения (вид и версия операционной системы, вид и версия библиотеки, необходимый вычислительный ресурс, т.е., тактовая частота и тип ЦП, объемы памяти и диска и т.д.), в которой работает средство анализа/верификации программы.

Секция введения средства 3122 исполняет виртуальную машину (начальная виртуальная машина), которую создала начальная секция генерации виртуальной машины 3121, и устанавливает и настраивает средство анализа/верификации программы на основании команды и т.д. провайдера средства (Е3 на Фиг. 6).

В том случае, если секция ввода для провайдера средства 311 принимает запрос на регистрацию от провайдера средства, секция регистрации/поиска средства 313 обеспечивает сохранение в базе данных DBt управления средствами секции хранения средств 320 содержимого тэга, включенного в запрос на регистрацию (Е4 на Фиг. 6). Секция регистрации/поиска средства 313 также обеспечивает сохранение в секции хранения средств 320 виртуальной машины Т, которую создала секция генерации виртуальной машины 312 (С3 на Фиг. 4). В это время секция регистрации/поиска средства 313 обеспечивает сохранение в секции хранения средств 320 виртуальной машины Т как данных изображения средства.

Кроме того, секция регистрации/поиска средства 313 обеспечивает сохранение виртуальной машины Т в базе данных DBt управления средствами, так чтобы виртуальная машина Т была связана с ее идентификационной информацией (идентификационная информация по средству) и т.д. После приема запроса на получение виртуальной машины (изображения средства) от секции анализа/верификации 100, секция регистрации/поиска средства 313 обращается к базе данных DBt управления средствами и проводит поиск информации, относящейся к средству, соответствующему информации по получению средств, которая содержится в запросе на получение виртуальной машины (изображение средства). Затем секция регистрации/поиска средства 313 считывает из секции хранения средств 320 виртуальную машину (изображение средства) Т, связанную с информацией, относящейся к средству, соответствующему информации по получению средств (F1 - F4 на Фиг. 7).

Секция передачи средства 314 принимает запрос на получение виртуальной машины (изображения средства), имеющий информацию по получению средств, от секции анализа/верификации 100 (F1 на Фиг. 7) и, в ответ на запрос на получение виртуальной машины (изображения средства), передает одну или больше виртуальных машин Т, извлеченных секцией регистрации/поиска средства 313, в секцию анализа/верификации 100 (F4 на Фиг. 7).

Секция хранения средств 320 хранит базу данных DBt управления средствами и виртуальную машину (данные изображения) Т. Как показано на Фиг. 10, база данных DBt управления средствами хранит идентификационную информацию по провайдеру средства, информацию, относящуюся к средству, и идентификационную информацию по средству в одной записи. Виртуальная машина (данные изображения) Т связана с другой информацией идентификационной информацией по средству.

Далее информация, регистрируемая в базе данных DBt управления средствами будет описана более конкретно со ссылкой на Фиг. 10.

- Идентификационная информация по провайдеру средства является идентификационной информацией по провайдерам средств. Примеры ″ПОЛЬЗОВАТЕЛЬ_А, ПОЛЬЗОВАТЕЛЕЙ″ представляют тэги, присвоенные пользователю А, пользователю В, соответственно.

- Информация, относящаяся к средству, является информацией, которая может быть произвольно определена пользователем в смысле содержимого и номера. Информация, относящаяся к средству, является, например, видом языка программирования и типом программы (различие между пользовательской программой и системной программой), с которой может работать средство анализа/верификации программы (виртуальная машина Т), и средой исполнения (вид и версия операционной системы, вид и версия библиотеки), необходимый вычислительный ресурс (тактовая частота и тип ЦП, объемы памяти и диска и т.д.), в которой работает средство анализа/верификации программы (виртуальная машина Т). В примерах приведены ″вид языка программирования″, ″тип программы″, и ″среда исполнения и вычислительный ресурс″. Примеры ″Java, С, C++, OCaml″, которые являются примерами вида языка программирования, иллюстрируют тэги, указывающие, какая программа, написанная каким языком программирования, является целевой для средства анализа/верификации программы (виртуальной машины Т). Кроме того, примеры ″ПОЛЬЗОВАТЕЛЬСКАЯ_ПРОГРАММА, СИСТЕМНАЯ_ПРОГРАММА, БИБЛИОТЕКА″, КОТОРЫЕ ЯВЛЯЮТСЯ ПРИМЕРАМИ типа программы, иллюстрируют тип программы (пользовательская программа, системная программа, библиотека, и т.д.), которую может анализировать/верифицировать средство анализа/верификации программы (виртуальная машина Т). Кроме того, примеры ″OS_Linux 3.Х, LIB_libgplk_1.X, CPU_KIND_X86, CPU_SPEED_2G, CPU_NUM_8, MEM_MAX_1G, DISK_MAX_4G″, которые являются примерами среды исполнения и вычислительного ресурса, иллюстрируют тип среды исполнения и тип вычислительного ресурса, с помощью которых может работать средство анализа/верификации программы (виртуальная машина Т). В этом случае примеры указывают, что операционной системой является Linux 3.X, библиотекой является libgplk 1.X, типом ЦП является Х86, рабочая частота равна 2 ГГц, число ядер ЦП равно 8 или меньше, объем максимального использования памяти составляет 1 ГБ, и объем диска составляет 4 ГБ.

- Идентификационная информация по средству является и дентификационной информацией в виртуальной машине Т, включающей изображение средства анализа/верификации программы (виртуальной машины Т), которое было установлено и настроено для использования при анализе/верификации. Примеры ″СРЕДСТВО_ID_0, СРЕДСТВО_ID_1″ представляют хранящиеся средства анализа/верификации программ и, более конкретно, представляют идентификационную информацию для обращения к виртуальной машине Т, включающую изображение средства, в которой средство анализа/верификации программы было установлено и настроено.

(4. Сравнение с известными способами)

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

(1) Увеличение вычислительного ресурса, требующегося для средства анализа/верификации программы

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

Напротив, в случае системы предоставления услуги анализа/верификации программ 1, провайдеры нескольких средств анализа/верификации программ могут совместно использовать вычислительный ресурс, так что бремя для провайдеров средств значительно уменьшается. Кроме того, как сказано выше в (2.3. Один пример установки подсистемы управления средствами), провайдеру средства просто необходимо установить и настроить средство анализа/верификации программы в виртуальной машине, которая была подготовлена заранее. Поэтому провайдерам средств не нужно выполнять дополнительные работы, такие как формирование новых веб-интерфейсов.

(2) Диверсификация вида средств анализа/верификации программ

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

(3) Время, трудозатраты и стоимость введения/эксплуатации средства анализа/верификации программы

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

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

Однако, как сказано выше, этот способ все же имеет проблемы. Во-первых, если целевая программа просто передается на несколько анализа/верификации программ, целевая программа также передается на сайты, которые не предоставляют средство анализа/верификации программы, которое необходимо пользователю. В результате, эффективность анализа/верификации снижается и результат анализа/верификации становится аномальным, и поэтому сравнить и исследовать результаты трудно. Наоборот, как сказано в (2. Пример установки системы для совместного использования средства анализа/верификации программы), система предоставления услуги анализа/верификации программ 1 конфигурирована так, что целевые программы и средства анализа/верификации программ управляются посредством помеченных тэгами целевых программ и средств анализа/верификации программ. Поэтому можно эффективно выбрать необходимое средство анализа/верификации программы.

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

Кроме того, средство использования нескольких сайтов в качестве сервера не может решить проблемы (1) и (4).

(4) Трудность самостоятельного испытания средства анализа/верификации программ

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

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

Как сказано выше, известные сайты анализа/верификации вирусов имеют преимущества, например, пользователям не нужно готовить вычислительный ресурс для анализа/верификации и выполнять дополнительную работу, такую как установка программного обеспечения для анализа/верификации. Однако такие известные сайты анализа/верификации вирусов все же имеют проблемы ((1) - (4)), которые решило настоящее изобретение.

(5. Применение к нескольким стадиям анализа/верификации)

В вышеприведенном описании упомянут случай, когда система предоставления услуги анализа/верификации программ 1 анализирует/верифицирует целевую программу с использованием средства анализа/верификации программы на одной стадии. Однако система предоставления услуги анализа/верификации программ 1 также может подходить для использования в том случае, когда целевая программа анализируется/верифицируется на нескольких стадиях анализа/верификации.

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

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

Далее будет описан (i) процесс, по которому система предоставления услуги анализа/верификации программ 1 анализирует/верифицирует целевую программу с использованием средства анализа/верификации программы, и (ii) случай, когда данные результата, полученные в этом процессе, затем подвергаются анализу/верификации (последующей обработке).

Во-первых, данные результата, которые секция среды исполнения виртуальной машины (средство исполнения средств) 120 получила путем анализа/верификации целевой программы с использованием средства анализа/верификации программы, связываются с описательной информацией по характеристикам (тэг) данных результата и затем сохраняются в секции хранения данных (секция хранения данных результатов) 130. В то же время, секция хранения средств 320 сохраняет данные результата в состоянии, в котором средство анализа/верификации программы (средство последующей обработки) для анализа/верификации данных результата связано с информацией по анализу/верификации, относящейся к средству.

Затем секция пользовательского интерфейса (средство получения информации по указанию средств) 111 получает, как информацию по получению средств, описательную информацию по характеристикам, связанную с данными результата из секции хранения данных 130.

Секция регистрации/поиска средства (средство извлечения средств) 313 проводит поиск информации, относящейся к средству, на основании информации по получению средств, которую получила секция пользовательского интерфейса 111, и извлекает из нескольких средств последующей обработки, которые хранит секция хранения средств 320, средство последующей обработки, связанное с информацией, относящейся к найденному таким образом средству.

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

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

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

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

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

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

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

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

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

В зависимости от типа средства анализа/верификации программы, предполагается, что целевая программа (после/до обработанная программа) должна быть подготовлена как результат предварительной обработки программы (ранее предварительно обработанная программа).

Более конкретно, целевая программа, которая является результатом предварительной обработки ранее предварительно обработанной программы с использованием средства предварительной обработки (средство), выводится как первая стадия, и затем целевая программа хранится в секции хранения целевой программы (секция хранения обработанной после предварительной обработки программы) 220. Затем, на второй стадии, целевая программа, полученная путем предварительной обработки подвергается анализу/верификации с использованием средства анализа/верификации программы.

В этом случае целевая программа, полученная путем предварительной обработки программы, которая не подвергалась предварительной обработке, хранится в секции хранения целевой программы (секция хранения обработанной после предварительной обработки программы) 220, так что целевая программа связана с описательной информацией по характеристикам (с тэгом) целевой программы.

Затем секция получения целевой программы 114 получает целевую программу из секции хранения целевой программы 220. В то же время секция пользовательского интерфейса (средство получения информации по указанию средств) 111 получает, как информацию по получению средств, описательную информацию по характеристикам, связанную с целевой программой, причем описательная информация по характеристикам получена целевой программой из секции хранения целевой программы 220.

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

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

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

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

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

В качестве первой стадии, выводится целевая программа, которая является результатом предварительной обработки ранее предварительно обработанной программы с использованием средства предварительной обработки (средство обработки данных предварительной обработки), которая хранится в секции хранения целевой программы (секция хранения обработанной после предварительной обработки программы) 220. Целевая программа, которая была получена путем предварительной обработки ранее предварительно обработанной программы, связана с описательной информацией по характеристикам (тэг) целевой программы и хранится в секции хранения целевой программы (секция хранения обработанной после предварительной обработки программы) 220, как сказано выше.

В это время предполагается, что описательная информация по характеристикам (тэг), предпочтительно прикрепляемая к целевой программе, которая была. подвергнута предварительной обработке, является, например, тэгом, указывающим вид предварительной обработки (″данные_поток_анализ″, ″управление_поток_анализ″, ″программа_вырезание части массива данных″, ″указатель_анализ″ и т.д.), как сказано в вышеописанных примерах.

Затем, как вторая стадия, целевая программа, которая была получена путем предварительной обработки, анализируется/верифицируется с использованием средства анализа/верификации программы. Более конкретно, во-первых, секция получения целевой программы 114 получает целевую программу из секции хранения целевой программы 220. В то же время, секция пользовательского интерфейса (средство получения информации по указанию средств) 111 получает, как информацию по получению средств, описательную информацию по характеристикам, связанную с целевой программой, причем описательная информация по характеристикам была получена целевой программой из секции хранения целевой программы 220. Затем секция среды исполнения виртуальной машины (средство исполнения средств) 120 анализирует/верифицирует целевую программу с использованием средства анализа/верификации программы, и полученные таким образом данные результата сохраняются в секции хранения данных (секция хранения данных результатов) 130, чтобы быть связанными с описательной информацией по характеристикам (тэг) данных результата.

В это время предполагается, что описательная информация по характеристикам (тэг), предпочтительно прикрепляемая к данным результата, является, например, тэгом, указывающим тип данных (″исполнение_ветвь″ (представляющим ветвь исполнения), исполнение_трассировка″ (представляющим трассировку исполнения) и ″программа_место″ (представляющим место исполнения в программе) и т.д.), как сказано в вышеописанных примерах.

В заключение, как третья стадия, секция пользовательского интерфейса (средство получения информации по указанию средств) 111 получает, как информацию по получению средств, описательную информацию по характеристикам, связанную с данными результата из секции хранения данных 130. Секция хранения средств 320 хранит средство анализа/верификации программы (средство обработки данных последующей обработки) для анализа/верификации данных результата, так что средство анализа/верификации программы связано с информацией, относящейся к средству анализа/верификации. Затем секция регистрации/поиска средства (средство извлечения средств) 313 проводит поиск информации, относящейся к средству, на основании информации по получению средств, которую получила секция пользовательского интерфейса 111, и извлекает из нескольких средств последующей обработки, которые хранит секция хранения средств 320, средство последующей обработки (средство обработки данных последующей обработки), связанное с информацией, относящейся к найденному таким образом средству. После этого система предоставления услуги анализа/верификации программ 1 получает средство обработки данных, извлеченное таким образом из секции хранения средств 320, и затем выполняет с использованием полученного таким образом средства последующей обработки анализ/верификацию (последующую обработку) по отношению к данным результата процесса, по которому целевая программа была проанализирована/верифицирована.

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

Как сказано выше, в случае, когда обработка данных выполняется на нескольких стадиях, система предоставления услуги анализа/верификации программ 1 связывает данные (программу или другие данные чем программа), полученные на каждой стадии в результате обработки, с описательной информацией по характеристикам (тэг), и затем эти данные сохраняются. Данные, полученные на каждой стадии в результате обработки, связываются с описательной информацией по характеристикам (тэг) одновременно с сохранением данных или в течение некоторого периода времени после сохранения данных, но до того, как средство для использования в последующей обработке на следующей стадии будет извлечено. В этом случае связываемая описательная информация по характеристикам (тэг) предпочтительно определяется в соответствии с определенным правилом, которое подходит для средства для использования в обработке на каждой стадии. Примите к сведению, что система предоставления услуги анализа/верификации программ 1 может быть конфигурирована так, что пользователь вручную связывает описательную информацию по характеристикам (тэг) с данными, полученными в результате обработки на каждой стадии.

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

Система предоставления услуги анализа/верификации программ (система предоставления услуги анализа/верификации программ 1) для последующего выполнения первого процесса, в котором ранее предварительно обработанная программа предварительно обрабатывается для получения целевой программы, и второго процесса, в котором полученная таким образом посредством первого процесса целевая программа анализируется/верифицируется с использованием одного или нескольких средств анализа/верификации программ, система предоставления услуги анализа/верификации программ кроме того включает секцию для хранения обработанной после предварительной обработки программы (секцию хранения целевой программы 220) для хранения целевой программы, которая была получена путем предварительной обработки ранее предварительно обработанной программы, так что целевая программа связывается с описательной информацией по характеристикам (информация по получению средств) по целевой программы, причем: средство получения целевой программы (секция получения целевой программы 114) получает целевую программу из секции для хранения обработанной после предварительной обработки программы; и средство получения информации по указанию средств (секция пользовательского интерфейса 111) получает, как информацию по получению средств, из секции для хранения обработанной после предварительной обработки программы, описательную информацию по характеристикам, связанную с целевой программой, которая получила средство получения целевой программы.

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

Система предоставления услуги анализа/верификации программ (система предоставления услуги анализа/верификации программ 1) для последующего выполнения первого процесса, в котором целевая программа анализируется/верифицируется с использованием одного или нескольких средств анализа/верификации программ, и второго процесса, в котором данные результата, полученные посредством первого процесса, затем обрабатываются, система предоставления услуги анализа/верификации программ кроме того включает секцию хранения данных результатов (секция хранения данных 130) для хранения данных результата, причем средство исполнения средств (секция среды исполнения виртуальной машины 120) получило путем анализа/верификации целевой программы с использованием одного или нескольких средств анализа/верификации программ в состоянии, в котором данные результата связаны с описательной информацией по характеристикам (информация по получению средств) по данным результата, причем: секция хранения средств (секция хранения средств 320) хранит по меньшей мере одно средство последующей обработки для последующей обработки данных результата в состоянии, в котором по меньшей мере одно средство последующей обработки связано с частью информации, относящейся к средству, по меньшей мере по одному средству последующей обработки; средство получения информации по указанию средств (секция пользовательского интерфейса 111) получает, как информацию по получению средств, из секции хранения данных результатов, описательную информацию по характеристикам, связанную с данными результата; и средство извлечения средств (секция регистрации/поиска средства 313) проводит поиск части информации, относящейся к средству, на основании информации по получению средств, которую получило средство получения информации по указанию средств, и извлекает из нескольких средств последующей обработки, хранящихся в секции хранения средств, по меньшей мере одно средство последующей обработки, связанное с найденной таким образом частью информации, относящейся к средству.

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

Система предоставления услуги по обработке данных (система предоставления услуги анализа/верификации программ 1) согласно настоящему изобретению, которая предназначена для обработки целевых данных (целевая программа, данные результата) на нескольких стадиях путем последовательного использования нескольких средств обработки данных (средство анализа/верификации программы, средство предварительной обработки, средство последующей обработки), система предоставления услуги по обработке данных включает: секцию хранения средств (секция хранения средств 320), в которой хранятся несколько средств обработки данных в состоянии, в котором эти несколько средств обработки данных связаны с соответствующими частями информации, относящейся к средству, по нескольким средствам обработки данных; секцию хранения данных результатов (секция хранения данных 130), в которой данные результата, которые были получены путем обработки данных с использованием одного или нескольких средств обработки данных на предыдущей стадии (средство анализа/верификации программы, средство предварительной обработки), хранятся в состоянии, в котором данные результата связаны с описательной информацией по характеристикам (информация по получению средств) по данным результата; средство получения данных результатов (секция получения целевой программы 114) для получения данных результата из секции хранения данных результатов; средство получения информации по указанию средств (секция пользовательского интерфейса 111) для получения, как информации по получению средств, указания, какое средство обработки данных (средство анализа/верификации программы, средство последующей обработки) использовать для обработки данных результата, которые получило средство получения данных результатов, причем описательная информация по характеристикам связана с данными результата из секции хранения данных результатов; средство извлечения средств (секция регистрации/поиска средства 313) для поиска частей информации, относящейся к средству, на основании информации по получению средств, которую получило средство получения информации по указанию средств, и извлечение одного или нескольких средств обработки данных, связанных с соответствующей частью информации, относящейся к средствам, из нескольких средств обработки данных, хранящихся в секции хранения средств; средство получения средств (секция получения средств 115) для получения из секции хранения средств, одного или нескольких средств обработки данных, которые извлекло средство извлечения средств; и средство исполнения средств (секция среды исполнения виртуальной машины 120) для обработки, с использованием одного или нескольких средств обработки данных, которые получило средство получения средств, результата, которые получило средство получения данных результатов.

(6. Краткое содержание)

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

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

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

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

При этом настоящее изобретение имеет следующие результаты. (1) Поскольку несколько пользователей могут совместно использовать систему средств исполнения, отдельным пользователям не нужно готовить вычислительный ресурс. Поэтому можно гибко использовать добавочный вычислительный ресурс, что снижает стоимость анализа/верификации и повышает число видов анализа/верификации и его объем, который может быть исполнен. (2) Можно совместно устанавливать, поддерживать и управлять средствами анализа/верификации программ, так что отдельным пользователям не нужно устанавливать, поддерживать и управлять средствами анализа/верификации программ. (3) Пользователи могут легко выбрать одно подходящее из нескольких средств анализа/верификации программ, поскольку можно обеспечить единый пользовательский интерфейс.(4) Отдельным провайдерам средств анализа/верификации программ не нужно готовить вычислительный ресурс как и пользователям. Поэтому можно гибко использовать добавочный вычислительный ресурс, что снижает стоимость анализа/верификации и повышает число видов анализа/верификации и его объем, который может быть исполнен. Также можно выполнять испытания средств анализа/верификации программ на разных целевых программах. В частности, можно выполнять испытания средств анализа/верификации программ на целевых программах, которые было трудно испытывать из-за ограничения вычислительного ресурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(7. Дополнительное пояснение)

В заключение, блоки системы предоставления услуги анализа/верификации программ 1, секция анализа/верификации 100, секция управления целевой программой 200 и секция управления средствами 300, в частности, секция управления анализом/верификацией 110, секция управления руководством целевой программой 210 и секция управления руководством средством 310, могут быть конфигурированы посредством логики аппаратного обеспечения или, альтернативно, могут быть реализованы программным обеспечением с использованием ЦП (центрального процессора) следующим образом.

В последнем случае (конфигурирование каждого устройства) система предоставления услуги анализа/верификации программ 1 включает устройства хранения (среды хранения), такие как ЦП (центральный процессор) для исполнения команды программы, ПЗУ (постоянное запоминающее устройство), в котором хранится программа, ОЗУ (оперативное запоминающее устройство) для разработки программы, и память, в которой хранятся программа и разные данные. Кроме того, цель настоящего изобретения также может быть реализована таким образом, что среда для записи предоставлена (каждое устройство для конфигурирования) системе предоставления услуги анализа/верификации программ 1, причем среда для записи хранит программные коды (программа режима исполнения, программа промежуточных кодов и исходная программа) (каждое устройство для конфигурирования) системы предоставления услуги анализа/верификации программ 1, служащие в качестве программного обеспечения для реализации вышеупомянутых функций, так что программные коды считываются компьютером; и программные коды, хранящиеся в среде для записи, считываются и выполняются компьютером (или ЦП или микропроцессором).

Примеры среды для записи включают: ленты, такие как магнитные ленты и ленты в кассетах; диски, такие как магнитные диски (например, флоппи-диск (зарегистрированный товарный знак) и жесткий диск) и оптические диски (например, CD-ROM, МО, MD, DVD и CD-R); карты, такие как карты с ИС (включая карты памяти) и оптические карты; и полупроводниковую память (например, ПЗУ с маской, СППЗУ, ЭСППЗУ и флэш-ПЗУ).

Кроме того, (каждое устройство для конфигурирования) система предоставления услуги анализа/верификации программ 1 может быть конфигурирована для соединения с сетью связи, и программный код может быть предоставлен по сети связи. Сеть связи конкретно не ограничена, и примеры сети связи включают Интернет, Интранет, Экстранет, локальную сеть, цифровую сеть ISDN, специализированную сеть VAN, сеть связи CATV, виртуальную частную сеть, телефонную сеть, сеть мобильной связи и сеть спутниковой связи. Помимо этого, среда передачи, составляющая сеть связи, конкретно не ограничена, и примеры сети передачи включают: среды проводной передачи, такие как IEEE1394, USB, высокочастотная связь по ЛЭП, линия кабельного телевидения, телефонная линия и линия ADSL; и среды беспроводной передачи, такие как инфракрасные лучи (например, IrDA и удаленный контроллер), Bluetooth (зарегистрированный товарный знак), беспроводная связь по стандарту 802.11, связь HDR, сотовая телефонная связь и спутниковая связь и цифровая глобальная сеть. Примите к сведению, что настоящее изобретение также может быть реализовано сигналом данных компьютерного обмена, который имеет программные коды, определенные электронной передачей, и введен в несущую волну.

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

Промышленная применимость

Настоящее изобретение может быть использовано для устройства (системы) для анализа/верификации целевой программы с использованием средства анализа/верификации программы.

Список ссылочных обозначений

1 система предоставления услуги анализа/верификации программ (система предоставления услуги по обработке данных)

100 секция анализа/верификации (устройство для анализа/верификации программ)

111 секция пользовательского интерфейса (средство получения информации по указанию средств)

114 секция получения целевой программы (средство получения целевой программы)

115 секция получения средств (средство получения средств) 120 секция среды исполнения виртуальной машины (средство исполнения средств)

300 секция у правления средствами (устройство для управления средством анализа/верификации программ)

312 секция генерации виртуальной машины (средство генерации виртуальной машины)

313 секция регистрации/поиска средства (средство извлечения средств)

320 секция хранения средств

Р целевая программа

Т виртуальная машина


СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
СИСТЕМА ПРЕДОСТАВЛЕНИЯ УСЛУГИ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, СПОСОБ УПРАВЛЕНИЯ ТАКОЙ СИСТЕМОЙ, МАШИНОЧИТАЕМАЯ СРЕДА ХРАНЕНИЯ, УСТРОЙСТВО ДЛЯ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ, УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СРЕДСТВОМ АНАЛИЗА/ВЕРИФИКАЦИИ ПРОГРАММ
Источник поступления информации: Роспатент

Показаны записи 1-2 из 2.
20.04.2015
№216.013.42e1

Способ герметизации гранул, способ обнаружения молекулы-мишени, матрица, набор и устройство для обнаружения молекулы-мишени

Настоящее изобретение относится к способу герметизации гранул (т.е. способу герметизации гранул), способу обнаружения молекулы-мишени, матрице, набору и устройству для обнаружения молекулы-мишени. Способ включает (i) этап введения гидрофильного растворителя (42), содержащего гранулы (40),...
Тип: Изобретение
Номер охранного документа: 0002548619
Дата охранного документа: 20.04.2015
20.06.2019
№219.017.8d0b

Способ герметизации вещества

Изобретение относится к области биотехнологии. Предложен способ герметизации вещества в выполненном на субстрате множестве ячеек. Способ включает введение содержащего вещество гидрофильного растворителя на субстрат, введение гидрофобного растворителя с удельным весом больше удельного веса...
Тип: Изобретение
Номер охранного документа: 0002691694
Дата охранного документа: 17.06.2019
Показаны записи 1-1 из 1.
20.04.2015
№216.013.42e1

Способ герметизации гранул, способ обнаружения молекулы-мишени, матрица, набор и устройство для обнаружения молекулы-мишени

Настоящее изобретение относится к способу герметизации гранул (т.е. способу герметизации гранул), способу обнаружения молекулы-мишени, матрице, набору и устройству для обнаружения молекулы-мишени. Способ включает (i) этап введения гидрофильного растворителя (42), содержащего гранулы (40),...
Тип: Изобретение
Номер охранного документа: 0002548619
Дата охранного документа: 20.04.2015

Похожие РИД в системе