КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Статический анализ исходных текстов программ
Контроль исходного состояния программного обеспечения. Контроль заключается в фиксации исходного состояния ПО и сравнении полученных результатов с приведёнными в документации. Результатами контроля исходного состояния ПО должны быть рассчитанные уникальные значения контрольных сумм загрузочных модулей и исходных текстов программ, входящих в состав ПО. Контрольные суммы должны рассчитываться для каждого файла, входящего в состав ПО. Проверенное программное обеспечение фиксируется – т.е. со всех модулей снимаются контрольные суммы. Для представленных загрузочных модулей исходных текстов контрольное суммирование должно осуществляться с использованием программного обеспечения фиксации и контроля исходного состояния. Результаты контрольного суммирования оформляются в виде отчетов, являющихся приложением к протоколу испытаний. Статический анализ исходных текстов программ должен включать следующие технологические операции: · контроль полноты и отсутствия избыточности исходных текстов ПО на уровне файлов; · контроль соответствия исходных текстов ПО его объектному (загрузочному) коду. 1. Контроль полноты и отсутствия избыточности Полнота представленных исходных текстов ПО подтверждается фактом успешной компиляции и сборки исследуемого программного обеспечения с учетом результатов контроля соответствия исходных текстов загрузочному коду. Для проверки полноты специальных средств автоматизации не требуется – достаточно факта успешной компиляции. Для контроля избыточности исходных текстов на уровне файлов, с помощью анализатора исходных текстов определить список файлов, составляющих ПО и на основе анализа полученных исходных данных определить избыточные файлы, проанализировать их назначение и обоснованность включения в состав программного обеспечения.
2. Контроль соответствия исходных текстов программного обеспечения Контроль соответствия исходных текстов ПО его объектному (загрузочному) коду осуществляется методом создания загрузочных модулей из представленных исходных текстов ПО, и их сравнением полученных модулей с модулями, входящими в состав дистрибутива. Берутся предоставленные исходные тексты (*) и производится их контрольная сборка – т.е. они компилируется и полученные модули сравниваются по контрольным суммам с модулями зафиксированного ПО (см. пункт 2) В случае отсутствия исходных текстов используются два подхода: 1. С восстановлением исходных текстов: · дизассемблирование; · статический анализ; · динамический анализ; · с использованием отладчиков; · с использованием датчиков (датчики встраиваются в исходный текст, из которого потом заново собирается программный продукт, который подвергается тестированию). При использовании данного подхода, возможно, потребуется итеративное дизассемблирование – с постепенными уточнениями. 2. Без восстановления исходных текстов – использование эмуляторов Для контрольной сборки, помимо собственно исходных файлов, желательно иметь и среду сборки (т.е. все компиляторы и компоновщики, которые использовал разработчик – иначе, при полностью самостоятельной сборке в лаборатории, расхождения по контрольным суммам почти гарантированно (т.е. собранные модули будут отличаться от модулей зафиксированного ПО). Наилучший вариант – когда контрольная сборка производится либо на стенде разработчика (один или несколько компьютеров необходимых для cборки ПО, предоставляемые разработчиком и полностью готовые к сборке ПО), либо непосредственно у разработчика.
Последовательность действий при выполнении трансляции исходных текстов, версия транслятора, а также исходные данные (директивы) для транслятора должны соответствовать приведённым в сопроводительной документации. Автоматизация здесь подразумевается на уровне командных Отчётность По окончании испытаний оформляется отчёт (протокол), содержащий результаты: · контроля исходного состояния программного обеспечения; · контроля полноты и отсутствия избыточности исходных текстов контролируемого программного обеспечения на уровне файлов; · контроля соответствия исходных текстов программного обеспечения его объектному (загрузочному) коду. Требования к третьему уровню контроля 1. Контроль состава и содержания документации Требования полностью включают в себя аналогичные требования к четвертому уровню контроля. Кроме того, должна быть представлена «Пояснительная записка» (ГОСТ 19.404-79), содержащая основные сведения о назначении компонентов, входящих в состав программного обеспечения, параметрах обрабатываемых наборов данных (подсхемах баз данных), формируемых кодах возврата, описание используемых переменных, алгоритмов функционирования и т.п. 2. Контроль исходного состояния программного обеспечения Требования полностью включают в себя аналогичные требования к четвёртому уровню контроля. 3. Статический анализ исходных текстов программ Кроме аналогичных требований, предъявляемых к четвёртому уровню контроля, дополнительно предъявляются следующие требования: · контроль полноты и отсутствия избыточности исходных текстов ПО на уровне функциональных объектов (процедур); · контроль связей функциональных объектов (модулей, процедур, функций) по управлению; · контроль связей функциональных объектов (модулей, процедур, функций) по информации; · контроль информационных объектов различных типов (например, локальных переменных, глобальных переменных, внешних переменных и т.п.); · формирование перечня маршрутов выполнения функциональных объектов (процедур, функций).
Лекция № 11
Дата добавления: 2014-01-05; Просмотров: 1886; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |