Прикладные бинарные интерфейсы ОС Linux
Еще одним крупным проектом, в рамках которого метод спецификации и тестирования систем с асинхронным интерфейсом играет существенную роль, является проект по формализации требований стандартов и разработки автоматизированного тестового набора для бинарных интерфейсов операционной системы Linux, проводимый в рамках проекта по созданию Центра верификации ОС Linux [].
В этом проекте предполагается формализация требований к 1532 функциям прикладного бинарного интерфейса ОС Linux, описанным в стандарте Linux Standard Base Core 3.1 []. Данные функции были сгруппированы по двухуровневой схеме, согласно реализуемой ими функциональности. На верхнем уровне функции были распределены по кластерам, а кластеры были разбиты на подсистемы. Кроме того, если размеры подсистемы оказывались достаточно большими и входящие в нее функции логически разделялись на несколько групп, подсистема разбивалась на группы функций. Список всех подсистем и групп функций, описанных в Linux Standard Base Core 3.1, представлен на сайте проекта [].
Для каждой группы функций проведен анализ потребности в применении метода асинхронного тестирования. Из 137 групп функций только 50 групп (36%) могут быть полностью протестированы синхронным образом. Для полного описания требований к 13 группам функций (9%) необходимо использовать асинхронные реакции. 18 групп функций (13%) содержат блокирующиеся функции, а для тестирования 56 групп функций (42%) требуется одновременное участие целевой системы в нескольких взаимодействиях со своим окружением.