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

Иллюстрации

Показать все

Изобретение относится к области анализа и верификации целевой программы с использованием средства анализа/верификации программы. Техническим результатом является эффективная верификация программ на основе выбора для использования одного из нескольких подходящих средств верификации программ. Раскрыта система предоставления услуги верификации программ для верификации целевой программы с использованием одного или нескольких средств верификации программ, причем система предоставления услуги верификации программ включает: средство получения целевой программы для получения целевой программы; секцию хранения средств, в которой хранятся несколько средств верификации программ; средство извлечения средств для извлечения из нескольких средств верификации программ, хранящихся в секции хранения средств, одного или нескольких средств верификации программ для использования в верификации целевой программы, которую получило средство получения целевой программы; средство получения средств для получения из секции хранения средств одного или нескольких средств верификации программ, которые извлекло средство извлечения средств; и средство исполнения средств для верификации с использованием каждого из одного или нескольких средств верификации программ, которые получило средство получения средств, целевой программы, которую получило средство получения целевой программы, причем средство исполнения средств осуществляет верификацию целевой программы, полученной от каждого из нескольких пользователей. 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, записаны в ф