Автореферат (Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения), страница 2

PDF-файл Автореферат (Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения), страница 2 Технические науки (24812): Диссертация - Аспирантура и докторантураАвтореферат (Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения) - PDF, страница 2 (24812) - СтудИзба2019-03-12СтудИзба

Описание файла

Файл "Автореферат" внутри архива находится в папке "Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения". PDF-файл из архива "Метод обнаружения ошибок при работе с памятью на статическом этапе отладки программного обеспечения", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Проектирование и изготовление 2011», «Взгляд в будущее2012», «Состояние, проблемы и перспективы создания корабельныхинформационно-управляющих комплексов 2012», «Корабельные системыуправления и обработки информации. Проектирование и изготовление 2012»,«Состояние, проблемы и перспективы создания корабельных информационноуправляющих комплексов 2013».ПубликацииПо результатам диссертационной работы опубликовано 12 статей, в том числе3 в изданиях, рекомендованных ВАК.Получено авторское Свидетельство о Государственной регистрациипрограммы для ЭВМ №2013616813.7Структура и объем работыДиссертационная работа состоит из введения, трех разделов, заключения,списка использованных источников.

Общий объем работы составляет 136 печатныхстраниц. Работа содержит 23 рисунка, 20 таблиц, список источников из 107наименований, 2 приложения.На защиту выносятся1)Методика обнаружения и локализации основных программных ошибокпри работе с памятью на статическом этапе отладке программного обеспечения,позволяющая повысить качество ПО и снизить трудозатраты на динамическомэтапе отладки путем переноса основной нагрузки на статический этап.2)Новый метод автоматизированного выявления программных ошибокпри работе с памятью, позволяющий существенно снизить временные затраты прианализе ПО. Метод имеет малую чувствительность к потоку данных (кромепеременных, являющихся указателями на выделенную память), не учитываетмежпоточное взаимодействие, не обрабатывает рекурсивные вызовы.3)Модель состояний объектов памяти и правила выявления ошибокработы с памятью.4)Классификация ошибок при работе с памятью, позволяющаясистематизировать исследуемую предметную область в соответствии сособенностями ПО.5)Структура программного средства автоматизированного обнаружения илокализации ошибок, связанных с некорректной работой с памятью в ПО,эффективность которого продемонстрирована как на ряде специально подобранныхмодельных примеров, так и на реальных проектах.6)Система из четырёх показателей качества и методика сравнения по этимпоказателям программно-инструментальных средств выявления ошибок работы спамятью на статическом этапе отладки.8СОДЕРЖАНИЕ РАБОТЫВо введении дана общая характеристика работы, раскрыта ее актуальность,сформулированы основные задачи и цель исследования, определены научнаяновизна и практическая значимость полученных результатов, а также основныеположения, выносимые на защиту.В первом разделе описаны источники и причины возникновения ошибок приработе с оперативной памятью и их классификация.

По данным компании Coverity,в программах на языке C, в среднем, содержится 0.25 нефункциональных ошибок на1000 строк исходного кода. Ошибки работы с оперативной памятью составляютсущественную долю среди всего спектра ошибок программного обеспечения иявляются особо критичными для систем реального времени, в то же время считается,что данный тип ошибок является одним из самых трудно обнаруживаемых.Перечень функций и операторов, осуществляющих работу с оперативнойпамятью ЭВМ (распределение и освобождение), рассматриваемый в данной работе,представлен в таблице 1.Таблица 1. Функции и операторы работы с памятью в языках C и C++НаименованиеТип работы с памятьюЯзыкфункции/операторапрограммированияmallocвыделениеС, С++freeосвобождениеС, С++callocвыделениеС, С++reallocвыделениеС, С++newвыделениеС++deleteосвобождениеС++new[]выделениеС++delete[]освобождениеС++fopenвыделение (ресурс)С, С++fcloseосвобождение (ресурс)С, С++popenвыделение (ресурс)С, С++pcloseосвобождение (ресурс)С, С++asprintfвыделениеС, С++vasprintfвыделениеС, С++Большие проекты ПО насчитывают сотни и тысячи вызовов функцийраспределения и освобождения памяти.В настоящее время известны следующие способы предотвращения ошибокпри работе с памятью:1) Отказ от динамической памяти.

Например, FORTRAN-77 полностьюотказывается от применения механизмов динамического распределения памяти, чтоисключает подобные ошибки, но существенно ограничивает функциональностьпрограмм.92) Перезапуск программы. В случаях, когда устранение утечки памяти непредставляется возможным, например, при использовании кода, поставляемого ввиде программных модулей и изготовленного сторонними разработчиками,применяется способ игнорирования утечек памяти. Код, подверженный утечкам,размещается в отдельной программе, а эта программа с нужной периодичностьюперезапускается. Завершение и новый запуск программы выполняются внешнейпрограммой, которая также подаёт входные данные и забирает результаты.Поскольку при завершении программы вся память, затребованная ей уоперационной системы, возвращается операционной системе, такой метод непозволяет утечкам приобрести катастрофический характер.

Однако данный подходнеприменим к системам, предназначенным для длительной работы без перезагрузок.3) Владеющие указатели позволяют согласовать время жизни объекта иуказателя на этот объект. Тем не менее, использование владеющих указателей непомогает в случае циклических ссылок между объектами.4) Специальные инструментальные средства, предназначенные для отладкииспользования памяти, обнаружения утечек памяти, а также профилирования.5) Сборка мусора.

Некоторые языки программирования (например, Java,Оберон, языки платформы .NET) предоставляют средства, позволяющиеавтоматически освобождать неиспользуемую память. Сборщики мусора решаюттакже и проблему циклических ссылок, но сборка мусора является ресурсоёмкойоперацией.

В результате использование подобных средств снижаетсябыстродействие системы.Анализ современных средств контроля памяти показывает, что они находятсяна достаточно высоком уровне и позволяют находить основные ошибки при работес памятью в приложении. Однако указанные средства не позволяют охватить весьспектр ошибок при работе с памятью, возникает большое количество ложныхсрабатываний, кроме того данные средства имеют излишне длительное для поискауказанного рода ошибок время работы.Наиболее перспективным методом обнаружения ОРП представляетсястатический анализ.Статический анализ основан на исходном коде программного обеспечения. Поэтой причине, первым этапом выполнения статического анализа являетсяпостроение модели по исходному коду программы.

На следующем этапепроисходит применение собственно алгоритмов статического анализа с цельюаппроксимировать состояния программы во всех точках. Алгоритмы, используясемантику конструкций языка (а точнее – модели программы), вычисляютвозможные значения всех объектов программы. На последнем этапе рассчитанныесостояния используются алгоритмами обнаружения ошибок для выявления илокализации имеющихся в программе ошибок.К существующим алгоритмам статического анализа относятся: анализ потокауправления, абстрактная интерпретация, анализ значений, включающий в себяинтервальный анализ и анализ указателей; анализ зависимостей программы;10обнаружение дефектов; анализ сложных программ, включающий в себя: анализ фифункций, анализ циклов и межпроцедурный анализ.В настоящее время широко распространено программно-инструментальноесредство (ПИС) Cppcheck – инструмент для статического анализа кода, написанногона языках программирования C и C++.

Он служит для обнаружения ошибок ипотенциальных уязвимостей, которые не обнаруживаются компилятором.Основные проблемы при анализе исходного кода данным средствомвозникают с проектами большого объема, время анализа которых может бытьнеоправданно большим.Второй раздел посвящен разработке методики обнаружения программныхошибок при работе с памятью.Предлагается классификация ошибок при работе с памятью, котораяподразумевает разделение основных ОРП на 5 категорий:1.Повторное выделение ресурса без его предварительного освобождения(ошибка 1 вида).Данная ошибка возникает в случае, когда программист динамически выделяетсегмент памяти, сохраняя адрес выделенного участка памяти в переменную, ужеявляющуюся указателем на динамически выделенный участок памяти.2.Потеря последней ссылки на ресурс (ошибка 2 вида).Данная ошибка возникает при динамическом выделении памяти, когда непроизводится сохранение адреса выделяемого участка памяти или не производитсяосвобождения более не используемого локального ресурса перед выходом изфункции.3.Освобождение ресурса до его выделения (ошибка 3 вида).Данная ошибка происходит при освобождении ресурса (памяти), который небыл предварительно выделен с помощью соответствующего вызова функциидинамического выделения ресурсов.4.Повторное освобождение ресурса (ошибка 4 вида).Данная ошибка связана с вызовом функции освобождения для ресурса(сегмента памяти), который уже прошел процедуру освобождения, но не был послеэтого снова выделен.5.Освобождениересурсафункцией,непредназначеннойдляосвобождения этого типа ресурсов (ошибка 5 вида).К данной категории относятся ошибки, связанные с несоответствиемиспользования функций распределения и освобождения памяти.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее