Methods Of Reliability Analysis

Post on 08-Jun-2015

1,005 views 2 download

Tags:

transcript

Аналіз методів та засобів

підвищення надійності та точності

систем медичної діагностики

Волкова С.О.,

аспірант, викладач кафедри медичних приладів та систем

МДГУ ім. Петра Могили

Трунов О.М.,

к.т.н., професор, зав. кафедри

медичних приладів та систем, перший

проректор МДГУ ім. Петра Могили

Бізнес-

аналітик Керівник

проекту

Розробники

Тест

Користувач

Зміни

Use Case

«Нефункціональні» вимогиБаги

Задачі

Помилки при

використанні

Категорії критичного програмного

забезпечення

Критичність та власність Приклад систем

Критичні для країни (нації)Безпека (Security), Надійність (Reliability)

Критичні для людського життяТочність (Correctness), Надійність (Reliability)

Критичні для соціального середовищаНадійність (Reliability), Безпека (Security)

Критичні для корпораціїЕфективність (Effectiveness, Efficiency)

Критичні для здоров'я користувача Зручність використання (Usability),

Привабливість (Attractiveness)

Відмови медичних систем,

спричинені дефектами

програмногозабезпечення

Оборонні та бюджетні системи

Медичні системи та системи контролю

світлофорів

Банківські та телекомунікаційні системи

Системи виробників та бази даних

замовників

Інтерактивні системи та комп'ютерні

ігри

Визначення основних понять

Дефект ПЗ - це явна або гіпотетична причина відмов системи, тобто

відхилення від результатів коректного обслуговування користувачів ПЗ.

Помилка ПЗ - запис елемента програми або тексту програмної

документації, використання якої приводить або може привести до невірного

результату.

Відмова - подія, що полягають у прояві непрацездатності ПЗ. Ознаки

непрацездатності встановлюються в нормативно-технічній документації ПЗ.

Верифікація - це процес доведення, що певний етап життєвого циклу

створення системи виконаний відповідно до вимог, встановленими на

попередньому етапі.

Тестування - основний метод виміру якості коректності й реальної

надійності функціонування програм на будь-яких етапах розробки.

Дефект ПЗ Помилка ПЗ Відмова ПЗпрограміст активація розвиток

Процес розробки програмного продукту

(Життєвий цикл ПЗ)

Нові або змінені

вимоги до ПП

(problem)

Новий або змінений

програмний продукт

(solution)

Waterfall model

Spiral model

Model driven development

User experience

Top-down and bottom-up design

Chaos model

Evolutionary prototyping

Prototyping

Rapid application development

ICONIX Process (UML-based)

Unified Process

V-model

Extreme Programming

Software Development Rhythms

Incremental funding methodology

IPO+S Model

Кроки життєвого циклу розробки ПЗ

Дизайн

Розробка

Формування

вимог

Обслуговування

Впровадження

Тестування

Аналіз коду

Метрики коду

Профілювання

Модульне тестування

з покриттям коду

Зростання вартості виправлення

дефектів в процесі розробки програми

Модель зовнішньої та внутрішньої

якості ПЗ ISO/IEC 9126 (2001)

• Функціональна повнота (Suitability);

• Точність (Accurancy);

• Інтероперабельність (Interaperability);

• Захищеність (Security);

• Узгодженість (Functionality Compliance).

Функціональність (Functionality)

• Безвідмовність (Maturity);

• Стійкість до відмов (Fault Tolerance);

• Відновлюваність (Recoverability);

• Узгодженість (Reliability Compliance).

Надійність (Reliability)

• Зрозумілість (Understandebility);

• Здатність до вивчення (Learnability);

• Зручність інтерфейсу (Operability);

• Привабливість (Attractiveness);

• Узгодженість (Usability Compliance).

Зручність використання(Usability)

• Поведінка (Time behaviour);

• Використовуваність ресурсів (ResourseUtilization);

• Узгодженість (Efficiency Compliance).

Ефективність (Efficiency)

• Аналізованість (Analysabability);

• Змінюваність (Changeability)

• Стабільність (Stability);

• Тестованість (Testability);

• Узгодженість (Maintainability Compliance).

Супроводжуємість(Maintainability)

• Адаптованість (Adaptability);

• Налагоджуваність (Installability);

• Співіснування (Co-excistence);

• Замінність (Replaceability);

• Узгодженість (Portability Compliance).

Переносимість (Portability)

Постановка мети та задач дослідження

Мета дослідження полягає в аналізі методів та інструментальнихзасобів вимірювання та передбачення необхідного рівня надійностіпрограмного забезпечення критичного застосування .

Задачі дослідження полягають в розробці цілісної та чіткоїкласифікації моделей надійності ПЗ шляхом аналізу основнихіснуючих моделей надійності синтезованого програмногозабезпечення, таких як:

моделей передбачення або прогнозування надійності ПЗ;

моделей оцінювання надійності ПЗ (статичних та динамічних)та аналіз їхнього практичного застосування.

Аналіз дифініцій поняття надійності

програмного забезпечення

1й підхід полягає в тому, що програма або коректна абонекоректна, тоді надійність ПЗ визначається як бінарнавеличина: ідеальна програма має надійність рівну одиниці, анеідеальна - рівну нулю.

2й підхід базується на тестуванні ПЗ, у цьому випадку процентневідношення вдалих тестів використовується для вимірюваннянадійності, тобто надійність ПЗ визначена як відносна частотавдалих виконань програми.

3й підхід під терміном надійність визначає здатність зберігати якістьза певних умов експлуатації, таким чином, відповідно до даноговизначення, надійність - це якість, розгорнута в часі.

4й підхід визначає надійність ПЗ як ймовірність безвідмовногофункціонування ПЗ в певний час або в певному середовищі.

Визначення складових характеристик

та показників надійності ПЗ

Основними показниками надійності синтезованого ПЗ, щоможуть бути оцінені за допомогою моделей надійності є:

імовірність безвідмовної роботи,

середній час роботи на відмову,

інтенсивність виникнення відмов,

кількість дефектів, що залишилися не виявленими в ПЗ.

Математичні основи надійності ПЗ

Математичні основи надійності ПЗ

Диференціальне рівняння функції

відмов синтезованого ПЗ

Система диференціальних рівнянь

функції відмов синтезованого ПЗ

1 1 1 1 1

1,

1,

1,

.....

......

m

j j j j

j j i

m

i i i i i j j j j

j j i

m

n n n n n j j j j

j j i

dN x N f t t dt N f t t dt

dN x N f t t dt N f t t dt

dN x N f t t dt N f t t dt

Базові класи множини моделей

надійності програмного забезпечення

Класифікація моделей надійності за

характером вхідної інформації

Систематизація ймовірнісних моделей

надійності програмного забезпечення

Узагальнений підхід до систематизації

моделей надійності ПЗ

Недоліки існуючих підходів до

класифікації моделей надійності ПЗ

В більшості проаналізованих джерел [1-3]:

проводиться часткова класифікація моделей надійності ПЗ [4];

недостатньо чітко визначається зв'язок між класифікаційнимиознаками, через що множина моделей декомпозується по різнихознаках на незв'язані підмножини;

не міститься чітка систематизація вхідних параметрів моделейнадійності ПЗ [5-7].

[1] Майерс Г. Надежность программного обеспечения. – М.: Мир, 1980.– 360 с.

[2] Lyu M.R. Handbook of Software Reliability Engineering. – McGraw-Hill Company, 1996. – 805 p.

[3] Musa J.D., Okumoto K. Software Reliability Models: Concepts, Classification, Comparisons andPractice // Electronic Systems Effectiveness and Life Cycle Costing / Skvirzynski J.K. (ed.). –Heidelberg: Springer-Verlag. – P. 395–424.

[4] Полонников Р.И., Никандров А.В. Методы оценки показателей надежности программногообеспечения.– СПб.: Политехника, 1992.– 78 с.

[5] Харченко В.С., Скляр В.В., Вилкомир С.А. Выбор моделей надежности программных средств длякритического применения // Управляющие системы и машины. – 2000. – №3. – С. 59–69.

[6] Musa J.D., Okumoto K. Software Reliability Models: Concepts, Classification, Comparisons andPractice // Electronic Systems Effectiveness and Life Cycle Costing / Skvirzynski J.K. (ed.). –Heidelberg: Springer-Verlag. – P. 395–424.

[7] Musa J.D. Software Reliability. Measurement, Prediction, Application. – McGraw-Hill Company, 1987. –397 p.

Запропонована класифікація моделей

надійності ПЗ

КатегоріяСімейство

ТипЕкспоненціальні Гама-Вейбулівські

СкінченніГеометричні

Вейбулівські

ПуасонівськіЛогарифмічні

Нескінченні

НППS-подібні

Гіперекспоненціальні

Де-еутрофікаційні Вейбулівські Біноміальні

КатегоріяЕкспоненціальні Гама-Вейбулівські

ТипКлас

Класифікація моделей прогнозування

надійності синтезованого ПЗ

Моделі прогнозування надійності програмного забезпечення

Структурні та статистичні Параметричні моделі

Мод

ель

Мак

–К

ейб

а

Мод

ель

фір

ми

IB

M

Мод

ель

Гаф

нії

Мод

ель

Ли

по

ва

Мод

ель

Хосл

тед

а

Мод

ель

часу

ви

кон

анн

я М

уси

Мод

ель

Аки

ями

Мод

ель

Ри

мсь

кої л

або

рат

ор

ії п

ові

трян

их

сил

(RL-

RT-

92-1

5, R

L-R

T-92

-52

)

Фаз

о-о

ріє

нто

ван

а м

одел

і

Використання моделей прогнозу

потенційної кількості дефектів ПЗ

№ Назва моделіФази ЖЦ ПЗ

0 1 2 3 4 5 6 7 8

1 Фазо-орієнтована модель

2 Модель Римської лабораторії повітряних сил ‘52

3 Модель Римської лабораторії повітряних сил ‘15

4 Модель заснована на cтат. даних про дефекти ПЗ

5 Модель часу виконання Муси

6 Модель Холстеда

7 Модель фірми IBM

8 Модель Мак – Кейба (якісна оцінка)

9 Модель Акиями

10 Модель Ліпова

11 Модель Гафнії

0. До процесу розробки; 1. Формування системних вимог; 2. Формування вимог до ПЗ; 3. Розробка

архітектурного проекту; 4. Розробка детального проекту; 5. Кодування; 6. Модульне

тестування; 7. Інтеграційне тестування; 8. Системне тестування.

Класифікація моделей оцінювання

надійності синтезованого ПЗ

Моделі оцінювання надійності програмного забезпечення

Статистичні моделі Динамічні моделі

Мет

од

и з

асів

анн

я д

ефек

тів

(гіп

ерге

ом

етр

ичн

а м

одел

ь М

іла,

мод

иф

іко

ван

а м

од

ель

Міл

а-Б

ейси

на)

Ста

тист

ичн

і мет

од

и(м

одел

ь Н

ельс

он

а, м

од

ель

Бр

аун

а і Л

ип

ова

)

Мод

ель

Шн

айд

евін

да

S-п

од

ібн

а м

од

ель

над

ійн

ост

і

Гео

мет

ри

чна

мод

ель

Гіп

ерек

спо

нен

тна

мод

ель

Мод

ель

Літ

лвуд

а-В

ерал

ла

Мо

дел

ь В

ейб

ула

Мод

ель

Мус

и-О

кум

ото

Баз

ова

мод

ель

Мус

и

Мод

ель

Гоел

я-О

кум

ото

Мод

ель

Дж

елін

ско

го-М

ор

анд

и

Базові вхідні та вихідні параметри

класичних модель надійності ПЗ

Статистичні моделі які, застосовуються протягом тестування

ПЗ можуть оцінити/передбачити надійність

Вхідні параметри:

Час між успішними відмовами

Кількість відмов на кожний інтервал тесту заданої

довжини

Вихідні параметри:

Щільність розподілу ймовірності (Probability Density

Function - PDF) до наступної відмови

PDF кількості відмов на наступних інтервалах часу

Можна оцінити або передбачити надійність,

інтенсивність відмов

Застосування статистичних та

динамічних моделей оцінки надійності

Узагальнений аналіз статичних моделей оцінювання надійності

програмного забезпечення показав, що їх застосування вимагає

значних фінансових витрат і не дає надійних результатів. За

допомогою таких моделей можна одержувати лише початкові

приблизні оцінки надійності ПЗ.

Проведений аналіз динамічних моделей оцінювання надійності ПЗ

показав, що найбільш перспективними для практичного

застосування є моделі, що базуються на негомогенному

пуасонівському процесі.

Яким чином вимірювати та

контролювати надійність ПЗ?

Вимірювання та оцінка надійності ПЗ

перед тестуванням

Визначення схильних до відмови модулів

Boolean Discriminant Functions [Schn97]

Дерева класифікації

Khoshgoftaar and Allen [Khos01a]

Ghokale and Lyu [Gokh97]

Логістична регресія [Schn01]

Оцінка вмісту відмов ПЗ включає:

Модульно-зорієнтоване моделювання

Нейронні мережі

Zero-inflated Poisson (Пуассон) regression [Khos01]

Вимірювання структурної еволюції [Niko03], [Niko98]

ІНСТРУМЕНТАЛЬНІ ЗАСОБИ ДЛЯМОДЕЛЮВАННЯ, ОЦІНКИ НАДІЙНОСТІ

ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

1. ІЗ для реєстрації параметрів системи

збору інформації щодо виявлення та

виправлення дефектів ПЗ

2. Інструментальні засоби для оцінки імовірнісних показників надійності

програмного забезпечення

3. Інструментальні засоби для статичного аналізу

тексту програмного забезпечення

1. ІЗ даного класу дозволяють виконати оцінку якості виконання проекту (Ratіonal Rose). Крім

того, інформація про виявлення й усунення дефектів ПЗ використовується в якості

вхідних даних для ІЗ, що виконують оцінку імовірнісних показників надійності ПЗ.

2. Дані ІЗ, що дозволяють виконати процедури математичного моделювання

показників надійності ПЗ й зробити візуалізацію їх результатів на підставі інформації про

виявлені дефекти. Основним недоліком даних систем є обмежена множина імовірнісних

моделей надійності, а також відсутність процедур їхнього вибору з урахуванням

особливостей кожного конкретного ПЗ.

3. До цього класу ІЗ відносяться такі утиліти як DOORS (фірма ZYCAD Corporatіon, США),

RAMS Software Tools (Іtem Software Іnc., США), Valіdator (ІSTec, Німеччина), Super Trace (SAІ,

США) і ін. Такого роду ІЗ крім семантичного й статистичного аналізу коду можуть також

визначати різні параметри ПЗ (кількість і номенклатура операторів й операндів і т.д.), які

потім можуть бути використані для розрахунку метрик складності ПЗ.

Інструментальні засоби оцінки

імовірнісних показників надійності ПЗ

Назва ІЗФірма та рік

розробкиМоделі оцінки надійності

ПЗІмовірнісні показники, що

оцінюються

Statistical modeling and estimation of reliability

functions of software

(SMERFS)

Naval Surface Warfare Center

(NSWC)

1993

Муси; Муси-Окумото; Джелинського-Моранди;

1-я Моранды; Шнайдевінда;

Гела-Окумото; Охба[13, 14]

Інтенсивність відмов;Загальне число відмов;

Число відмов, що залишилися;

Час до наступної відмови;Час до наступних К- відмов

Software reliability modeling program

(SRMP)

Reliability and Statistical Consultant,

Ltd

1988

Муси-Окумото; Дюэна; Джелінського-Моранди;

Гела-Окумото

Інтенсивність відмов;Час до наступної відмови;

Час до наступних К- відмов

GOEL

Data & Analysis Center of Software (DACS)

1987Гела-Окумото

Інтенсивність відмов;Загальне число відмов;

Число відмов, що залишилися;

Час до наступної відмови;Час до наступних К-відмов;

Вартість етапу тестування

ESTM

Bell Communication Research

1993

Гела-Окумото з оцінкою економічних критеріїв

тестування

Інтенсивність відмов;Загальне число відмов;

Число відмов, що залишилися;

Вартість етапу тестування

CASRENASA COSMIC

1994

Муси; Муси-Окумото;Джелінського-Моранди;

1-а Моранди; Шнайдевінда;

Гела-Окумото; Охба

Інтенсивність відмов;Загальне число відмов;

Число відмов, що залишилися;

Час до наступної відмови;Час до наступних К- відмов

AT&T SREAT&T Bell Laboratories

1991Муси; Муси-Окумото

[14]

Інтенсивність відмов;Загальне число відмов;

Число відмов, що залишилися;

Вартість етапу тестування

Особливості застосування ІЗ для

моделювання надійності ПЗ

Особливості застосування ІЗ для оцінки

надійності ПЗ

Аналіз існуючих ІЗ для моделювання й оцінки якості й надійності ПЗ

показав, що кожний із розглянутих типів дозволяє оцінювати лише окремі

складові якості й надійності ПЗ. Таким чином, представляється доцільним

подальше вдосконалювання існуючих ІЗ у напрямку інтеграції їх у єдиній

системі оцінки кількісних метрик якості й надійності ПЗ в рамках моделі

якості ІSO 9126.

Для оцінки якості й надійності сучасного програмного забезпечення

реалізуються підходи, засновані на:

методах інспекції, що припускають перевірку відповідності ПЗ

вимогам нормативних документів шляхом неформалізованого аналізу

документації й процесів розробки;

використанні спеціальних показників - метрик, що дозволяють

побічно судити про рівень якості й надійності ПЗ на підставі аналізу

вірогідно вимірюваних характеристик програмного продукту й процесів

його проектування;

застосуванні математичних моделей для оцінки імовірнісних

показників надійності.

Висновки

Розглянуто математичні основи надійності ПЗ та визначено базові вхідні та

вихідні параметри моделей надійності.

Здійснена спроба створення систематизовано-класифікаційної структури

моделей надійності ПЗ, що дозволило вдосконалити класифікацію моделей

надійності програмного забезпечення.

Реалізовано ієрархічну структуру та досліджено приклади моделей

прогнозування та оцінювання надійності ПЗ. Проаналізовані особливості

застосування розглянутих моделей прогнозування кількості дефектів ПЗ на

різних етапах ЖЦ ПЗ.

Реалізовано ієрархічну структуру та досліджено приклади ймовірнісних

моделей оцінювання надійності ПЗ. Визначено переваги та недоліки даних

підкласів ймовірнісних моделей оцінювання надійності ПЗ.

Концепція керування надійністю та якістю інформаційних систем

забезпечується шляхом:

оцінювання надійності на всіх етапах життєвого циклу програмного

забезпечення;

вдосконалення інструментальних засобів, які призначені для керування

надійністю та якістю ПЗ.