ISSN 2305-5626. Вестник МГТУ им. Н.Э. Баумана: электронное издание. 2013
14
Результаты применения метода.
Программная реализация ме-
тода протестирована и отлажена на наборе тестов, включающем все
приведенные на рис. 1 типы ошибок. После тестирования метода бы-
ли проведены эксперименты, в которых в качестве анализируемых
программ выступали различные сетевые службы для POSIX-систем,
созданные студентами кафедры «Программное обеспечение ЭВМ и
информационные технологии» МГТУ им. Н. Э. Баумана в рамках
курсовой работы по дисциплине «Протоколы вычислительных се-
тей». Поскольку данные серверы были написаны студентами, они
обычно имели те или иные ошибки мультиплексирования.
Для каждого приложения выполнялось исследование исходного
кода вручную и выявление ошибок мультиплексирования, а также
применение разработанного программного комплекса в процессе те-
стирования приложения. По результатам проведенных эксперимен-
тов (табл. 5) можно сделать вывод о том, что метод применим для
анализа серверных приложений, использующих мультиплексирова-
ние сокетов.
Таблица 5
Результаты экспериментов
Номер
экспе-
римента
Описание сервера
Ожидаемые
ошибки
Обнаруженные
ошибки
1
SMTP-сервер, использующий
в работе
poll( )
и рабочие
потоки
Блокирующая
запись
Блокирующая
запись
2
SMTP-сервер, использующий
в работе
poll( )
и рабочие
процессы
Блокирующая
запись
Блокирующая
запись
3
SMTP-сервер, использующий
в работе
select( )
и рабочие
потоки
Нет ошибок
Нет ошибок
4
SMTP-сервер, использующий
в работе
select( )
и рабочие
потоки
Блокирующая
запись
Блокирующая
запись
5
SMTP-сервер, использующий
в работе
pselect( )
и рабочие
потоки
Блокирование
до чтения из
готового соке-
та; блокирую-
щая запись
Блокирование
до чтения из
готового соке-
та; блокирую-
щая запись
6
SMTP-сервер, использующий
в работе
pselect( )
и рабочие
потоки
Нет ошибок
Непрочитанные
данные из гото-
вого сокета