ГОСТРМЭК 62279—2016
ствуют оправдавшей себя практике программирования. Программа анализируется, формируя направленный граф,
который может быть проанализирован на наличие:
- недоступных фрагментов программы, например безусловных переходов, которые делают фрагменты про
граммы недостижимыми;
- запутанного кода, который является хорошо структурированным кодом, имеющим управляющий граф, ко
торый допускает сокращение путем его последовательного сокращения до одного узла. В отличив от этого плохо
структурированный код может быть сокращен только до группы, состоящей из нескольких узлов.
D.9 Анализ отказов по общей причине
Цель. Определение возможных отказов в нескольких системах или нескольких подсистемах, которые могут
свести к нулю преимущества избыточности из-за одновременного появления одних и тех же отказов во многих
частях системы.
Описание. Компьютерные системы, ориентированные на безопасность объекта, часто используют избы
точность аппаратных средств и мажоритарный принцип голосования. Этот подход исключает случайные отказы в
компонентах аппаратных средств, которые могут помешать корректной обработке данных в компьютерных
системах.
Однако некоторые отказы могут оказаться общими для нескольких компонентов. Например, если компьютер
ная система установлена в одном помещении, то недостатки вентиляции могут снизить преимущества избыточ
ности. Это может оказаться верным и для других внешних влияний на компьютерную систему (например пожар,
затопление, электромагнитные влияния, трещины в панелях и землетрясение). Компьютерная система может быть
также подвержена воздействиям, относящимся к ее функционированию и поддержке. Поэтому важно, чтобы в
рабочих инструкциях были предусмотрены адекватные и хорошо задокументированные процедуры по функциони
рованию и поддержке системы, а обслуживающий персонал был хорошо обучен.
Внутренние причины также вносят большой вклад в отказы по общей причине. Их основой могут являть
ся ошибки проектирования общих или идентичных компонентов и их интерфейсов, в том числе и устаревших
компонентов. Анализ отказов по общей причине должен отыскивать также общие дефекты в системе. К методам
анализа отказов по общей причине относятся: общее управление качеством; анализ проектов; верификация и
те стирование независимой группой; анализ реальных ситуаций, полученных из опыта работы аналогичных
систем. Однако область применения такого анализа выходит за рамки только аппаратных средств. Даже если в
разных каналах избыточных компьютерных систем используются разные профаммы. то возможна некоторая
общность в программных подходах, которая может привести к росту отказов по общей причине (например ошибки
в общей спецификации).
Если отказы по общей причине не появляются точно в одно и то же время, то должны быть предприняты
меры предосторожности путем сравнения методов, применяемых в различных каналах. При этом применение
каждого метода должно обнаруживать отказ до того, как он окажется общим для всех каналов. Анализ отказов по
общей причине должен использовать этот подход.
D.10 Анализ потока данных
Цель. Обнаружение низкокачественных и потенциально некорректных структур программ.
Описание. Анализ потока данных объединяет информацию, полученную из анализа потока управления, с
информацией о том. какие переменные считываются или записываются в различных частях кода. Данный метод
может проверять:
- переменные, которые могут быть считаны до присвоения им значений. Вполне вероятно, что это является
ошибкой, и конечно считается плохой практикой программирования;
- переменные, записанные несколько раз. но не считанные. Такая ситуация может указывать на пропущен
ный код;
- переменные, которые записаны, но никогда не считываются. Такая ситуация гложет указывать избыточный
код.
Существует расширение анализа потока данных известное, как анализ потока информации, где фактические
потоки данных (и внутри и между процедурами) сравниваются с целью проекта. Обычно это выполняется с ком
пьютеризированным инструментальным средством, где предполагаемые потоки данных определены, используя
структурированный комментарий, который может быть прочитан этим инструментальным средством.
D.11 Диаграммы потоков данных
Цель. Программная поддержкаописания потокаданных в видедиафамм.
Описание. Диаграммы потоков данных описывают преобразование входныхданных в выходныедля каждого
компонента схемы, представляющего различные преобразования.
Основными компонентами диаграммы потока данных являются;
- функции, представленные кружками;
- потоки данных, представленные сфелами;
- накопители данных, представленные открытыми блоками;
- ввод/вывод. представленный специальными видами блоков.
72