Автореферат (Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения), страница 4
Описание файла
Файл "Автореферат" внутри архива находится в папке "Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения". PDF-файл из архива "Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 4 страницы из PDF
Прежде чем переходить к более общим результатамв работе приводится результат анализа одного из проектов класса B. Припроведении данного испытания, как и всех последующих испытаний, описанных вработе, перед началом испытания вручную в Cppcheck были заданы всемакроподстановки (в MEDIS это делается автоматически). Это требует длительногои кропотливого анализа, но позволяет существенно сократить последующее времяопределения ОРП, которое и приводится в таблицах. Если сначала не вводить всемакроопределения, то Cppcheck затрачивает на обнаружение того же количестваОРП время порядка 104с.Исследование показали, что для данного проекта по ПК k1 оба ПИСэквивалентны, а по каждому из остальных ПК ki i = 2,4 ПИС MEDIS лучше, чем{}ПИС Cppcheck.
Следовательно, по совокупности ПК ki |i = 1,4 ПИС MEDISпредпочтительнее ПИС Cppcheck по критерию Парето.Выявленная тенденция оказывается справедливой и для других проектов ПОэтого и других классов. Более того, в большинстве случаев оказывается, что и по ПКk1 ПИС MEDIS лучше, чем ПИС Cppcheck. А это означает, что по совокупности ПК{ki}|i = 1,4 ПИС MEDIS предпочтительнее ПИС Cppcheck по критерию Слейтера(каждый из 4-х ПК ПИС MEDIS лучше, чем соответствующий ПК ПИС Cppcheck).Однако сами значения ПК отличаются при переходе от проектов ПО одного класса кпроектам другого класса.
Менее сильно это сказывается на показателях k1 , k3 ,которые характеризуют состав выявляемых ОРП и ложные ошибки. К тому же припрактическом использовании ПИС основное внимание уделяется не этимпоказателям, а показателям k2 , k4 , определяющих число выявленных ошибок изатраченное на это время. Поэтому далее при анализе работы MEDIS и Cppcheck наПО разных классов используется лишь два ПК: k2 , который характеризует«положительный эффект» работы ПИС, и ПК k4 , который характеризуетзатраченное время, т.е. «затраты». При этом для большей наглядности,используются показатели «число выявленных ошибок nош » и «время t ». Для общейхарактеристики класса используются усреднённые значения этих показателейкачества:⎫1 nS1 nSnош ( S ) = ∑ nош ( S , i), t ( S ) = ∑ t ( S , i) ⎪nS i =1nS i =1(10)⎬ ,⎪П ( S , i ) | i = 1, nS , S ∈ { A, B, C}⎭{}18где nош ( S , i ) , t ( S , i ) – это число выявленных ОРП и затраченное на это времяпри испытаниях i − го проекта ПО П ( S , i) из класса S .В каждом из классов ПО A, B, C было выбрано по три проекта ПО ипроведены испытания по выявлению ОРП с помощью ПИС MEDIS и Cppcheck.Полученные значения двух ПК для каждого проекта приведены работе.
По этимданным для проектов всех классов были вычислены усреднённые показателикачества по формулам (10). Эти показатели приведены в табл. 3.Также в данной таблице для каждого класса приведён усреднённыйобобщённый показатель эффективности Э(S ) соответствующего ПИС:1 nS n ош ( S , i ),(11)Э( S ) = ∑nS i =1 t ( S , i )который имеет смысл среднего (по множеству проектов ПО данного класса)значения числа выявленных ОРП в единицу времени.Таблица 3.
Результаты анализа ПО средствами MEDIS и CppcheckПроект класса AПроект класса BПроект класса CЭ ( A)t ( B) Э ( B )t (С ) Э(С )Инструмент n ( A) t ( A)nош ( B)nош (С )ош[ед/с [ед.] [с][ед/с] [ед.] [с][ед/с][ед.] [с]MEDIS40,14 17,7 174,83,664106,6Cppcheck30,23 13,0 1328,7 0,452353 0,15Сопоставление ПК для ПИС MEDIS и аналогичных ПК для ПИС Cppcheckпоказывает, что и по двум усреднённым значениям ПК для всех классов ПИСMEDIS предпочтительнее по Слейтеру, чем ПИС Cppcheck.Помимо общего вывода о предпочтении ПИС MEDIS по Слейтеру дляпрактики представляет интерес и количественная оценка преимуществ, даваемыхэтим ПИС по частным ПК nош ( S ) и t ( S ) .
Эти преимущества оцениваютсяпоказателями k n «выигрыша в числе выявленных ошибок» и kt «выигрыша взатраченном времени»:nM (S )t C (S )(12)kn ( S ) = ош,k(S)=tCnош(S )t M (S )Показатели (12), дополненные показателем «сравнительной эффективностиkЭ = Э M ЭC , приведены в табл. 4. Из этих данных можно сделать следующиевыводы:•выигрыш в числе выявленных ошибок лежит в пределах (20-30)%,•экономия во времени, и сравнительная эффективность резко возрастают сростом сложности проектов ПО от единиц до (30-40) раз.Таблица 4 Частные сравнительные показатели ПИС MEDIS и CppcheckСравнительныеПроект класса AПроект класса B Проект класса C19показателиMCkn = nошnошkt = t C t MkЭ = Э M Э C1,331,311,231,645,9835.301(1,36)944Таким образом, проведённое сравнение работы инструментов MEDIS иСppcheck по группам проектов всех трёх классов показало, что во всех классахпроектов ПО средство MEDIS по совокупности рассматриваемых показателейкачества предпочтительнее средства Cppcheck по критерию Парето, а во многихслучаях оно предпочтительнее также по критерию Слейтера.В заключении подведены итоги работы, обобщены ее основные результаты,сделан вывод о целесообразности применения разработанной методики и средства впроцессе проектирования и эксплуатации программного обеспечения, а такжепредложены направления дальнейших исследований.ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ1.Тетерев М.
А. Анализ функционирования современных поисковыхсистем // Дни студенческой науки осень - 2009:сборник научных трудов. /МосковскийГосударственныйУниверситетЭкономики,СтатистикииИнформатики, Москва 2009. - С. 76-83.2.Тетерев М.А. Анализ современных средств контроля памяти впрограммном обеспечении. // Состояние, проблемы и перспективы созданиякорабельных информационно-управляющих комплексов: сб. докладов научнотехнической конференции, 2011. - C.
158-163.3.Тетерев М.А. Инструментальное средство “DIME” выявления ошибокработы с памятью специального программного обеспечения // Сборник докладов Xмолодежно-технической конференции “Взгляд в будущее”. / ОАО “ЦКБМТ“Рубин”, C-Петербург, 2012. - С. 659-665.4.Тетерев М.А. Метод и средство автоматизированного поискаошибок работы с памятью в специальном программном обеспечении // Сборникдокладов молодежной научно-технической конференции, посвященной 65-летиюОАО «ГРЦ МАКЕЕВА» / ОАО «Государственный ракетный центр имени академикаВ.
П. Макеева», 2012. - С.151-156.5.Тетерев М.А. Обнаружение и локализация ошибок специальногопрограммного обеспечения, связанных с распределением сегментов оперативнойпамяти // Состояние, проблемы и перспективы создания корабельныхинформационно-управляющих комплексов: сб.
докладов научно-техническойконференции, 2012. – С. 43-47.6.Тетерев М.А. Построение графа вызовов функций для поиска ошибокработы с памятью в СПО. // Корабельные системы управления и обработкиинформации. Проектирование и изготовление: сб. докладов научно-технической20конференции. / ОАО “Концерн “Научно-производственное объединение “Аврора”,С-Петербург, 2011. - С. 66-68.7.Тетерев М.А. Применение метода статического анализа для поискаошибок работы с памятью в СПО. // Сборник докладов IX молодежно-техническойконференции “Взгляд в будущее”.
/ ОАО “ЦКБМТ “Рубин”, C-Петербург, 2011. - С.567-572.8.Тетерев М.А. Крылов Д.А., Валяев А.Н. Статическое выявление ошибокработы с памятью в специальном программном обеспечении // Состояние, проблемыи перспективы создания корабельных информационно-управляющих комплексов:сб. докладов научно-технической конференции, 2013. - C. 194-199.9.Тетерев М.А., Крылов Д.А. Метод диагностики программных дефектовпри работе с памятью в системах реального времени // Корабельные системыуправления и обработки информации.
Проектирование и изготовление: сб. докладовнаучно-технической конференции. / ОАО “Концерн “Научно-производственноеобъединение “Аврора”, 2012. – C. 55-58.10. Тетерев М.А., Губонин Н.С. Анализ способов предотвращения ошибокработы с памятью в программном обеспечении // Вестник МЭИ, 2013, №4. С. 155160.11. Тетерев М.А., Губонин Н.С. Выявление программных ошибок приработе с памятью в исходном коде // Вестник МЭИ, 2013, №4.
С. 166-172.12. Тетерев М.А., Губонин Н.С. Метод и инструментальное средство MEDISобнаружения и локализации ошибок при работе с памятью в программах,написанных на языках С и С++. Приборы и системы. Управление, контроль,диагностика, 2013, №9 С.12-18..