methods of reliability analysis

33
Аналіз методів та засобів підвищення надійності та точності систем медичної діагностики Волкова С.О., аспірант, викладач кафедри медичних приладів та систем МДГУ ім. Петра Могили Трунов О.М., к.т.н., професор, зав. кафедри медичних приладів та систем, перший проректор МДГУ ім. Петра Могили

Upload: svitlana-volkova

Post on 08-Jun-2015

1.018 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Methods Of Reliability Analysis

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

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

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

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

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

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

Трунов О.М.,

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

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

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

Page 2: Methods Of Reliability Analysis

Бізнес-

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

проекту

Розробники

Тест

Користувач

Зміни

Use Case

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

Задачі

Помилки при

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

Page 3: Methods Of Reliability Analysis

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

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

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

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

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

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

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

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

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

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

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

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

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

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

світлофорів

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

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

замовників

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

ігри

Page 4: Methods Of Reliability Analysis

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

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

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

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

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

результату.

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

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

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

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

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

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

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

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

Page 5: Methods Of Reliability Analysis

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

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

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

вимоги до ПП

(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

Page 6: Methods Of Reliability Analysis

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

Дизайн

Розробка

Формування

вимог

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

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

Тестування

Аналіз коду

Метрики коду

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

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

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

Page 7: Methods Of Reliability Analysis

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

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

Page 8: Methods Of Reliability Analysis

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

якості ПЗ 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)

Page 9: Methods Of Reliability Analysis

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

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

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

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

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

Page 10: Methods Of Reliability Analysis

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

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

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

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

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

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

Page 11: Methods Of Reliability Analysis

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

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

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

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

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

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

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

Page 12: Methods Of Reliability Analysis

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

Page 13: Methods Of Reliability Analysis

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

Page 14: Methods Of Reliability Analysis

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

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

Page 15: Methods Of Reliability Analysis

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

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

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

Page 16: Methods Of Reliability Analysis

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

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

Page 17: Methods Of Reliability Analysis

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

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

Page 18: Methods Of Reliability Analysis

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

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

Page 19: Methods Of Reliability Analysis

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

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

Page 20: Methods Of Reliability Analysis

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

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

В більшості проаналізованих джерел [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.

Page 21: Methods Of Reliability Analysis

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

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

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

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

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

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

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

Нескінченні

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

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

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

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

ТипКлас

Page 22: Methods Of Reliability Analysis

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

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

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

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

Мод

ель

Мак

–К

ейб

а

Мод

ель

фір

ми

IB

M

Мод

ель

Гаф

нії

Мод

ель

Ли

по

ва

Мод

ель

Хосл

тед

а

Мод

ель

часу

ви

кон

анн

я М

уси

Мод

ель

Аки

ями

Мод

ель

Ри

мсь

кої л

або

рат

ор

ії п

ові

трян

их

сил

(RL-

RT-

92-1

5, R

L-R

T-92

-52

)

Фаз

о-о

ріє

нто

ван

а м

одел

і

Page 23: Methods Of Reliability Analysis

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

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

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

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. Системне тестування.

Page 24: Methods Of Reliability Analysis

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

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

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

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

Мет

од

и з

асів

анн

я д

ефек

тів

(гіп

ерге

ом

етр

ичн

а м

одел

ь М

іла,

мод

иф

іко

ван

а м

од

ель

Міл

а-Б

ейси

на)

Ста

тист

ичн

і мет

од

и(м

одел

ь Н

ельс

он

а, м

од

ель

Бр

аун

а і Л

ип

ова

)

Мод

ель

Шн

айд

евін

да

S-п

од

ібн

а м

од

ель

над

ійн

ост

і

Гео

мет

ри

чна

мод

ель

Гіп

ерек

спо

нен

тна

мод

ель

Мод

ель

Літ

лвуд

а-В

ерал

ла

Мо

дел

ь В

ейб

ула

Мод

ель

Мус

и-О

кум

ото

Баз

ова

мод

ель

Мус

и

Мод

ель

Гоел

я-О

кум

ото

Мод

ель

Дж

елін

ско

го-М

ор

анд

и

Page 25: Methods Of Reliability Analysis

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

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

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

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

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

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

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

довжини

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

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

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

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

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

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

Page 26: Methods Of Reliability Analysis

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

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

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

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

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

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

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

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

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

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

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

Page 27: Methods Of Reliability Analysis

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

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

Page 28: Methods Of Reliability Analysis

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

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

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

Boolean Discriminant Functions [Schn97]

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

Khoshgoftaar and Allen [Khos01a]

Ghokale and Lyu [Gokh97]

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

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

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

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

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

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

Page 29: Methods Of Reliability Analysis

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

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

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І,

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

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

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

Page 30: Methods Of Reliability Analysis

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

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

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

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

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

оцінюються

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]

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

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

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

Page 31: Methods Of Reliability Analysis

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

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

Page 32: Methods Of Reliability Analysis

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

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

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

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

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

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

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

якості ІSO 9126.

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

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

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

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

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

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

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

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

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

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

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

Page 33: Methods Of Reliability Analysis

Висновки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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