Аттестация инструментальных средств необходима, когда процессы, представленные в настоящем стандарте, могут быть исключены, сокращены или автоматизированы посредством использования инструментальных средств, без верификации их выходных данных, как это установлено в разделе 8. Использование инструментальных средств для автоматизации работ в процессах жизненного цикла ПО помогает обеспечить надежность системы, поскольку эти средства способствуют удовлетворению требованиям стандартов разработки ПО и осуществляют автоматический контроль.
Цель процесса аттестации — гарантировать, что инструментальное средство обеспечивает доверие, по крайней мере, эквивалентное доверию к тем процессам, которые будут исключены, сокращены или автоматизированы. Если возможна демонстрация разбиения инструментальных средств по функциям, то должны быть аттестованы только те средства, которые будут использованы в целях устранения, сокращения или автоматизации работ в процессах жизненного цикла, или те средства, выходные результаты которых не были аттестованы.
Могут быть аттестованы только детерминированные инструментальные средства. Это такие средства, которые выдают те же самые результаты для тех же самых входных данных при работе в той же самой среде. Процесс аттестации инструментальных средств может быть применен либо к одному средству, либо к группе средств.
Инструментальные средства могут быть классифицированы одним из двух типов:
— Инструментальные средства разработки ПО: инструментальные средства, выходные данные которых являются частью прикладного ПО и которые, таким образом, могут внести ошибки в разрабатываемое программное средство. Например, инструментальное средство, генерирующее исходный текст непосредственно из требований нижнего уровня, должно быть аттестовано, если генерируемый исходный текст не верифицируется, как установлено в разделе 8.
— Инструментальные средства верификации ПО: инструментальные средства, которые не могут внести ошибки, но могут пропустить последние при их выявлении. Например, статический анализатор, который автоматизирует работы процесса верификации ПО, должен быть аттестован, если функции, которые он выполняет, не верифицируются другим способом; средства контроля типов данных, средства анализа и средства тестирования являются другими примерами подобных инструментальных средств.
Требования к аттестации инструментальных средств:
— инструментальные средства должны быть аттестованы в соответствии с их типом, определенным выше;
— комбинированные инструментальные средства разработки и верификации должны быть аттестованы в соответствии с требованиями 13.2.1, даже если может быть продемонстрировано разделение этих двух функций;
— все виды работ процессов управления конфигурацией и обеспечения качества обязательно выполняются для прикладного ПО, а также и для аттестуемых инструментальных средств.
Цели процесса верификации для инструментальных средств разработки ПО представлены в 13.2.1, перечисление г).
Инструментальные средства могут быть аттестованы только для использования конкретными системами, для которых использование данных средств включено в План сертификации в части ПО. Использование этих средств другими системами может потребовать дополнительной аттестации.
13.2.1 Критерии аттестации для инструментальных средств разработки ПО
Критерии аттестации для инструментальных средств разработки ПО следующие:
а) если инструментальное средство разработки ПО должно быть аттестовано, то процессы разработки ПО для этого средства должны удовлетворять тем же самым целям, что и процессы разработки прикладного ПО, при разработке которого предполагается использовать это инструментальное средство;
б) уровень ПО, назначенный инструментальным средствам, должен быть таким же, как и для прикладного ПО, которое с их помощью разрабатывают, за исключением тех случаев, когда соискатель может обосновать для сертифицирующей организации возможность снижения уровня ПО для этих средств.
Примечание — Возможность снижения уровня ПО для инструментальных средств разработки зависит от значимости работ процессов верификации ПО, которые будут исключены, сокращены или автоматизированы в результате применения данного средства, в сравнении с полным набором всех работ по верификации. Значимость является функцией:
— вида работ процесса верификации ПО, которые могут быть устранены, сокращены или автоматизированы. Например, работы верификации по проверке согласования исходного текста со стандартами по структурированному представлению текста являются менее важными, чем работы верификации, направленные на определение соответствия исполняемого объектного кода требованиям верхнего уровня;
— вероятности того, что другие верификационные работы выявят те же самые ошибки;
в) соискатель должен продемонстрировать, что средства соответствуют эксплуатационным требованиям к инструментальным средствам (13.2.3); эта демонстрация может включать в себя период испытаний, во время которого выполняют верификацию выходных результатов инструментального средства и анализируют, регистрируют и корректируют ошибки, связанные с работой средства;
г) инструментальные средства разработки ПО должны быть верифицированы, чтобы проконтролировать корректность, согласованность и полноту эксплуатационных требований к этим средствам и продемонстрировать соответствие этим требованиям. Цели процесса верификации инструментальных средств отличаются от аналогичных целей для прикладного ПО, так как требованиями верхнего уровня для инструментальных средств являются их эксплуатационные требования вместо системных требований, как в случае прикладного ПО. Цели верификации инструментальных средств разработки ПО могут быть достигнуты с помощью:
1) просмотра документа «Эксплуатационные требования к инструментальному средству», как описано в 8.3.1, перечисления а), б);
2) демонстрации того, что инструментальное средство удовлетворяет Эксплуатационным требованиям к инструментальному средству для нормального рабочего режима;
3) демонстрации того, что средство соответствует Эксплуатационным требованиям к инструментальному средству для внештатных рабочих условий, включая внешние помехи и выборочные отказы, возникающие в инструментальном средстве и среде его функционирования;
4) анализа покрытия, основанного на требованиях, и дополнительного тестирования для завершения покрытия требований;
5) анализа структурного покрытия, соответствующего уровню ПО для инструментального средства;
6) тестирования на устойчивость к ошибкам в соответствии с уровнем ПО инструментального средства, как описано в 8.4.2;
7) анализа потенциальных ошибок, возникающих из-за использования средства, чтобы подтвердить достоверность Плана аттестации инструментального средства.
13.2.2 Критерии аттестации для инструментальных средств верификации ПО
Критерии аттестации для инструментальных средств верификации ПО удовлетворяются демонстрацией того, что указанные средства соответствуют Эксплуатационным требованиям к инструментальному средству для нормальных условий эксплуатации.