Методика обнаружения и устранения отказов программного обеспечения
Внедрение механизма самовосстановления на стадии проектирования и реализации программного обеспечения. Сканирование файлов ПО в режиме реального времени и обнаружение основных причин отказов. Анализ инцидентов для дальнейшего усовершенствования ПО.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 24.05.2018 |
Размер файла | 312,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Интернет-журнал «НАУКОВЕДЕНИЕ» Том 8, №6 (ноябрь - декабрь 2016)
http://naukovedenie.ru publishing@naukovedenie.ru
Размещено на http://www.allbest.ru/
1
http://naukovedenie.ru 12TVN616
Интернет-журнал «НАУКОВЕДЕНИЕ» Том 8, №6 (ноябрь - декабрь 2016)
http://naukovedenie.ru publishing@naukovedenie.ru
1
http://naukovedenie.ru 12TVN616
Методика обнаружения и устранения отказов программного обеспечения
Варлатая Светлана Климентьевна
Калужин Егор Александрович
Монастырский Дмитрий Сергеевич
В настоящее время роль программного обеспечения (ПО) в управлении предприятием многократна возросла [1]. Для стабильного функционирования информационной системы применяется огромный спектр ПО: офисное ПО, средства редактирования информации, браузеры, средства автоматизации процессов и т.д. Различные вредоносные программы, несовместимость или воздействие некомпетентного пользователя могут вызвать отказ в работе ПО [2], тем самым нарушить функционирование информационной системы и повлечь материальный ущерб [3]. Отказ программного обеспечения можно определить как прекращение функционирования программы (искажения нормального хода ее выполнения, зацикливание) на время, превышающее заданный порог [4]. При больших масштабах и сложной структуре предприятия, администрирование и восстановление ПО в режиме реального времени невозможно. Поэтому вопрос создания программного обеспечения, способного к самовосстановлению, является актуальным на сегодняшней день.
Подобная тема широко обсуждается в Российских и зарубежных научных работах. Авторы статьи [5] разработали механизм самовосстановления ПО на основе иммунитета человека. В другой работе [6] авторами предлагается формальная модель, описывающая работу программного средства как последовательность событий. Данная модель позволяет применить известные методы классификации для автоматического определения класса возникающих ошибок и устранения их последствий за счет выполнения определенных для данного класса действий. В статье [7] авторы предлагают методику обнаружения отказов, основанную на сравнении сценария отказа с уже известными отказами.
Все вышеуказанные методики, безусловно, являются эффективными, однако их реализации довольно сложна и требует разработки специализированного сервиса для поиска и устранения отказов. Целью данной статьи является разработка методики поиска и устранения отказов программного обеспечения, реализация которой проста и не требует создания дополнительных сервисов.
Описание методики
Процесс создания любого программного обеспечения можно разбить на определенные стадии [8] (рисунок 1).
Рисунок 1. Процесс создания программного обеспечения с функцией самовосстановления (разработано автором)
На стадии определения требований разработчики определяют назначение, функционал и способы реализации ПО.
На стадии анализа оцениваются необходимые для создания ПО ресурсы, его название, примерный размер, актуальность и полезность.
На стадии проектирования разрабатывается блок-схемы для написания будущего ПО, определяются наиболее рациональные и целесообразные пути реализации.
На стадии реализации происходит написание программного кода, после чего начинается стадия тестирования и отладки ПО.
Основная идея предлагаемой методики заключается в том, чтобы на стадии проектирования и реализации заложить механизм самовосстановления. Такой подход не требует создания централизованного сервиса и позволяет обеспечить автономность каждого программного продукта т.е. при выходе из строя механизма самовосстановления на одном ПО, остальные будут функционировать стабильно. Механизм самовосстановления должен включать следующий функционал:
Анализ состояния: после запуска ПО модуль самовосстановления собирает всю информацию о его файлах: имя, размер, дата создания, дата изменения и хэш-сумма.
Диагностика: на основании всей собранной на предыдущем шаге информации данный функционал принимает решение о том, есть ли ошибки в программе. Если какой-либо файл изменен, перемещен или удален, ПО нуждается в восстановлении.
Подключение к серверу: данный функционал активируется при условии выявления отказа при диагностике. ПО в автоматическом режиме подключается к серверу, загружает и устанавливает поврежденные файлы.
Отправка отчета: данный функционал необходим для того, чтобы разработчик на основе анализа уведомлений мог установить закономерность между различными отказами и их причинами для дальнейшего усовершенствования ПО. Принцип работы предлагаемой системы самовосстановления можно представить в виде блок-схемы (рисунок 2).
Рисунок 2. Блок-схема функционирования механизма самовосстановления (разработано автором)
Такая система восстановления нацелена на обнаружения основных причин отказа ПО:
удаление (добавления) файлов, перемещение файлов, модификация файлов. Весь процесс состоит из трех модулей:
Проверка целостности файлов. Модуль сканирует все файлы с целью поиска лишних или недостающих. Если найден лишний файл, он загружается на сервер для дальнейшего анализа и удаляется. Если модуль обнаружил, что какого-либо файла нет, происходит его загрузка и установка.
Проверка размеров файлов. Данный модуль сравнивает размеры файлов с эталонными размерами, которые хранятся либо на сервере, либо на ПК. При обнаружении измененного файла происходит его замена и загрузка на сервер.
Проверка расположения. Для работы многих программ важно расположения файлов в директориях. Поэтому модуль анализирует расположение файлов и при необходимости переносит их в корректную директорию.
Оценка эффективности предложенной методики Наиболее распространённым способом устранения отказов является переустановка ПО. При оценке эффективности было принято решение сравнить необходимое для восстановления время при использовании методики и при переустановке ПО.
Время устранения отказа с помощью предложенной методики можно определить как (1).
V=O+D+R (1)
где: V - время восстановления ПО, O - время обнаружения причины отказа, D - время загрузки корректных файлов, R - время перемещения файлов.
Время переустановки ПО определяется как (2).
T=U+P+I (2)
где: T - время переустановки ПО, U - время удаления ПО, P - время загрузки нового дистрибутива, I - время повторной установки.
Для расчета экспериментального V и T использовался ПК со следующими характеристиками: скорость скачки (download): 20 Мбит/с, скорость загрузки (upload): 18 Мбит/c, операционная система: Windows 7 x64, размер оперативной памяти: 4GB, процессор: Intel core™ i3-311M, 2.4 GHz. Результаты эксперимента представлены в таблице 1.
Таблица 1 Экспериментальные данные, отражающие зависимость времени самовосстановления и переустановки ПО от его общего размера и размера поврежденных файлов (разработано автором)
№ |
Общий размер ПО (МБ) |
Размер поврежденного файла (КБ) |
T (С) |
V (С) |
|
1 |
10 |
400 |
7 |
7,5 |
|
2 |
15 |
100 |
9,2 |
6 |
|
3 |
20 |
250 |
12,4 |
7,2 |
|
4 |
25 |
600 |
15,7 |
8,3 |
|
5 |
30 |
620 |
18,1 |
8,4 |
|
6 |
35 |
150 |
21,3 |
7,1 |
|
7 |
40 |
580 |
23,3 |
8,2 |
|
8 |
45 |
180 |
28,1 |
7,4 |
|
9 |
50 |
590 |
35,2 |
8,5 |
|
10 |
100 |
450 |
82,2 |
8,9 |
|
11 |
300 |
480 |
267,5 |
12,3 |
|
12 |
500 |
800 |
437,2 |
18,5 |
|
13 |
10 |
3000 |
7 |
13,2 |
На основе полученных результатов можно составить графики зависимости T и V от общего размера ПО (Total Size), которые наглядно демонстрируют различия двух рассматриваемых методов (рис. 3-5).
Рисунок 3. График зависимости времени переустановки ПО от его общего размера (разработано автором)
Рисунок 4. График зависимости времени самовосстановления ПО от его общего размера (разработано автором)
Рисунок 5. График зависимости времени переустановки и самовосстановления ПО от размера поврежденных файлов (разработано автором)
Согласно представленным графикам можно сделать вывод, что время переустановки ПО (T) зависит только от общего размера ПО (TS), а время восстановления ПО (V) зависит как от общего размера (TS), так и от размера поврежденных файлов (FS). Поэтому предложенный механизм самовосстановления показывает сравнительно меньшее время, если размер поврежденных данных составляет до 15% от общего размера ПО.
Таким образом, была предложена методика обнаружения и устранения отказов ПО. Согласно данной методике, механизм самовосстановления закладывается на стадии проектирования и реализации. Сильными сторонами такого механизма являются:
Независимость восстановления ПО от человеческого фактора.
Накопление отчетов об отказах ПО для дальнейшего усовершенствования механизма.
Отсутствие необходимости переустановки ПО.
Высокая скорость восстановления при небольших размерах поврежденных данных.
Недостатками данного механизма являются:
Усложнение программного кода.
Низкая скорость восстановления при больших размерах поврежденных данных.
Несмотря на приведенные недостатки, предложенная методика является эффективной т.к. позволяет автоматизировать процесс восстановления программного обеспечения, что очень важно на масштабных предприятиях, остановка работы которых недопустима, например, на критически важных объектах [9].
Литература
программный обеспечение сканирование отказ
1. Журавлева А.В. Роль программного обеспечения в управлении предприятием / А.В Журавлева // Сборник научных трудов международной научной конференции «Информационные науки в управлении, социальной сфере и медицине», Томск 2014 г.
2. Ивутин А.Н. К вопросам об отказах программного обеспечения / А.Н. Ивутин, Е.В. Ларкин // Известия тульского государственного университета. Технические науки. - 2014 №3. - С. 203-209.
3. Федеральное агентство по техническому регулированию и метрологии. Национальный стандарт РФ. ГОСТ Р 51901.12-2007 Метод анализа видов и последствий отказов.
4. Дроботун Е.Б. Критичность ошибок в программном обеспечении и анализ их последствий / Е.Б. Дроботун // Фундаментальные исследования. - 2009. - № 4.
5. Selvin, G., David, E. and Lance, D. (2002)A Biologically Inspired Programming Model for Self-Healing Systems.WOSS'02Proceedings of the First Workshopon Self-Healing Systems, Charleston, November 2012, 102-104.
6. Холод И.И. Самовосстановление программных систем на основе автоматической классификации ошибок / И.И. Холод, А.В. Кочетков // Информационные технологии. - 2008. - № 6. - C. 16-21.
7. Fuad, M., Deb, D. andBaek, J. (2011) Self-Healing by Means of Runtime Execution Profiling. Proceedings of14thInternational Conference on Computer andInformation Technology(ICCIT2011), Dhaka, 22-24 December 2011, 202-207.
8. Обзор процесса разработки программного обеспечения // habrahabr.ru: информационно-технологический портал Хабрахабр.2015 URL: https://habrahabr.ru/post/255991/ (дата обращения 23.10.2016).
9. Министерство Российской Федерации по делам гражданской обороны, чрезвычайным ситуациями ликвидации последствий стихийных бедствий // Методика отнесения объектов государственной и негосударственной собственности к критически важным объектам для национальной безопасности Российской Федерации. - 2012.
Размещено на Allbest.ru
...Подобные документы
Порядок сообщения об авариях, расследования аварий и отказов в работе электроустановок. Разработка автоматизированной системы учета отказов и основных дефектов электроэнергетического оборудования. Инструментарий реализации программного комплекса.
дипломная работа [4,0 M], добавлен 26.06.2013Тестирование как составляющая часть процесса отладки программного обеспечения, его роль для обеспечения качества продукта. Обнаружение ошибок в программах, выявление причин их возникновения. Подходы к формулированию критериев полноты тестирования.
курсовая работа [1,6 M], добавлен 20.12.2012Программные средства защиты от вредоносного программного обеспечения, основные требования к ним, оценка возможностей и функциональности. Системы обнаружения вторжения. Анализ средств защиты информации на предприятии. Политика корпоративной безопасности.
дипломная работа [1,2 M], добавлен 17.10.2015Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Надежность системы управления как совокупность надежности технических средств, вычислительной машины, программного обеспечения и персонала. Расчет надежности технических систем, виды отказов САУ и ТСА, повышение надежности и причины отказов САУ.
курс лекций [228,2 K], добавлен 27.05.2008Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Понятие локализации программного обеспечения как процесса его адаптации к культуре какой-либо страны. Перевод пользовательского интерфейса, документации и сопутствующих файлов программного обеспечения. Инструментарий для локализации. Языковые теги и коды.
презентация [243,7 K], добавлен 07.10.2013Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.
дипломная работа [2,3 M], добавлен 22.07.2013Ошибки, которые воздействуют на программное обеспечение и методы прогнозирования программных отказов. Анализ моделей надежности программного обеспечения и методика оценки ее надежности. Экспоненциальное распределение. Методика оценки безотказности.
курсовая работа [71,5 K], добавлен 15.12.2013Знакомство с проблемами обнаружения вредоносного программного обеспечения для мобильных устройств. Анализ функций антивирусного пакета Kaspersky Mobile Security 8.0. Характеристика наиболее распространенных антивирусных программ для мобильных устройств.
реферат [55,1 K], добавлен 11.01.2017Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014Анализ основных проблем звукового монтажа и изучение возможных методов устранения ошибок в записанном материале. Характеристика программного обеспечения, используемого при звукомонтаже. Общие способы выявления причин проблемного монтажа звуковых записей.
курсовая работа [1,9 M], добавлен 08.01.2012Способы построения защищенных сегментов локальных систем. Анализ систем обнаружения вторжений и антивирусное обеспечение. Анализ технологии удаленного сетевого доступа. Установка программного обеспечения на серверы аппаратно-программного комплекса.
дипломная работа [2,4 M], добавлен 14.03.2013Анализ локально-вычислительной сети компании. Выбор общего программного обеспечения, обеспечения для инженерного отдела, бухгалтерии, сервера. Состав программного обеспечения вычислительной системы и его конфигурация. Сетевые операционные системы.
курсовая работа [405,4 K], добавлен 08.02.2016Исследование объектно-ориентированного подхода к проектированию программного обеспечения будильника. Модель программного обеспечения. Взаимодействие между пользователями и системой. Диаграммы и генерация программного кода при помощи средств Rational Rose.
курсовая работа [355,8 K], добавлен 26.09.2014Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Требования к разработке программного обеспечения. Анализ существующих уровней и классификаций требований. Предложение расширенной классификации с дополнительными атрибутами. Стадии разработки программного обеспечения. Наблюдение за бизнесом заказчика.
дипломная работа [2,4 M], добавлен 24.08.2016Современные инструменты разработки программного обеспечения для СУТП. Универсальные языки программирования и сравнение их со SCADA-системами. Разработка программного обеспечения с использованием многоканальных измерительных преобразователей Ш9327.
дипломная работа [2,3 M], добавлен 13.07.2011