К. М. Лавріщева програмна інженерія підручник Київ, 2008
Скачать 5.23 Mb.
|
Базові поняття моделей надійності ПС. Формально моделі оцінки надійності ПС ґрунтуються на теорії надійності й математичному апараті з припущенням деяких обмежень, що впливають на цю оцінку. Головним джерелом інформації, що використовується в моделях надійності, є процес тестування, експлуатації ПС і різного виду ситуації, що виникають у них. Ситуації, які виникають через помилки у ПС, вимагають усунення помилок, а потім продовження тестування. До базових понять, які використовують в моделях надійності ПС, належать такі [5–9]. Відмова ПC (failure) – це перехід ПС із робочого стану в неробочий, або ситуація, коли отримані результати не відповідають певним припустимим значенням. Відмова спричиняється зовнішніми чинниками (змінами елементів середовища експлуатації) і внутрішніми – дефектами безпосередньо в ПС. Дефект (fault) у ПС – це наслідок виконання елемента програми, що призводить до деякої події, наприклад, при неправильній інтерпретації цього елемента комп'ютером або людиною. Дефект є наслідком помилок розробника на кожному з процесів розробки – в описі специфікацій вимог, початкових або проектних специфікаціях, експлуатаційній документації тощо. Дефекти в програмі, які не виявлено під час перевірок, є джерелом потенційних помилок і відмов ПС. Виявлення дефекту у вигляді відмови залежить від того, який шлях буде використано, щоб знайти помилку в коді або у вхідних даних. Однак не кожний дефект ПС може викликати відмову або певна відмова може викликати аномалію внаслідок виявлення зовнішніх помилок і дефектів. Помилка (error) може бути наслідком недоліку в одному із процесів розроблення ПС, що призводить до неправильної інтерпретації проміжної інформації, поданої розробником, або при прийнятті ним неправильних рішень. Інтенсивність відмов – це частота появи відмов або дефектів у ПС при її тестуванні або експлуатації. При виявленні відхилення результатів від очікуваних під час тестування або супроводу здійснюється пошук і з'ясовуються причини цих відхилень для виправлення пов'язаних із цим помилок. Як вхідні параметри моделі оцінки надійності ПС використовують дані про помилки, відмови, їхню інтенсивність, зібрані у процесі тестування й експлуатації. Випадковий характер виникнення помилок у ПС. Процес виникнення помилок і відмов у ПС є випадковим й в цілому визначається часом їхнього 268 Розділ 9 виникнення або частотою, іхній кількостю та інтенсивністю появи в ПС. У зв'язку із цим всі моделі надійності ґрунтуються саме на знаходженні випадкової величини, що отримує значення за певним законом розподілу. Наприклад, межі ПС, тривалість роботи програми до першої відмови, кількість дефектів і т.п. [10]. Якщо випадкова величина дискретна, тобто отримує скінченне число значень у вигляді послідовності х 1 , х 2 , … , x n …, то закон розподілу описується ймовірністю Р ( = х i ) і у загальному випадку F(х) = P ( х i ) називається функцією розподілу випадкової величини [5, 10–13]. Ця функція визначає ймовірність знаходження випадкової величини в певному інтервалі відрізка часу на прямій лінії системи координат, при цьому t T – це момент часу. Випадкова величина визначається сталим значенням t, і їй відповідає випадкова функція. Областю визначення процесу на множині T є послідовність значень часу t k t k+1 , тому випадковий процес є процесом дискретним у часі. Випадковий процес із безперервним часом, що описується числом однорідних подій, називається пуассонівським процесом. Якщо характеристика випадкової функції є невипадковою величиною, то визначається математичне очікування або дисперсія, як середнє відхилення від середньої реалізації випадкової функції. Пошук випадкових величин здійснюється стохастичними методами, тому процес, відповідно, є стохастичним, ймовірним. Якщо на множині T визначається випадковий процес, то для всіх його точок визначається випадкова величина (t), що і називається її значенням. Згідно з теорією випадкових процесів процес виникнення помилок і відмов у ПС є стохастичним, і моделі надійності також є стохастичними. До категорії випадкових процесів належить марковський процес, основною властивістю якого є те, що його поведінка після моменту часу t залежить тільки від його значення, і не залежить від поведінки процесу до моменту t. Оскільки тестування є динамічним процесом, що забезпечує пошук дефектів і відмов, які виникають випадково в ПС, то його можна пояснити за допомогою функції p(t, x, s) для t s й x X, тобто точки, визначеної в момент часу s, якщо її положення було х. Ця функція задовольняє співвідношення p(t, x, u) = p (s, p ( t, x, s) , u) за умови t s u й означає, що в момент часу t у точці х система, що перебуває в стані p(t, x, u), переходить у стан p(t, x, s). При цьому область T марковського процесу може бути послідовністю моментів часу, тоді процес буде дискретним, а T – скінченним або нескінченним. Якщо х – скінченна множина, то процес є процесом із скінченим числом станів. Марковський процес із дискретним часом і скінченним числом станів називається марковським ланцюгом. У загальному випадку ймовірність визначається функцією p ij (t, x, s) за умови, що система в момент t переходить із i-стану в j-стан моменту s, і ця функція визначається шляхом розв’язанням системи рівнянь, розробленої Колмогоровим: d/ds = p ij (t, s) = P ij (t, s) a kj (s). Іншим способом дослідження надійності на основі відмов у ПС є класична теорія ймовірностей, відповідно до якої відмови в ПC (на відміну від відмов технічних засобів) вважаються випадковими й залежать від дефектів, внесених при розробленні ПС. Розгляд їх як випадкових величин ґрунтується на таких припущеннях: Розділ 9 269 – кількість дефектів у ПС невідоме; – час виявлення й місцезнаходження кожного дефекту є непередбачуваним. Залежність кількості відмов від часу виконання пов'язана з тим, що чим довше використовується ПС, тим більша ймовірність проходження фрагментом коду, що має дефект. Всі моделі оцінки надійності ґрунтуються на статистиці відмов та розподілі інтенсивності виявлених відмов у ПС. У більшості моделей надійності виходять із припущення, що знайдені дефекти усуваються негайно (або часом їхнього усунення можна нехтувати) і при цьому нові дефекти не вносяться. Внаслідок цього кількість дефектів у ПС зменшується, а надійність зростає, такі моделі отримали назву моделей зростання надійності. 9.2.2. Класифікація моделей надійності Як відомо, на сьогодні розроблено велику кількість моделей надійності ПС та їхніх модифікацій. Кожна із цих моделей визначає функцію надійності, яку можна визначити при наданні їй відповідних даних, зібраних під час функціонування ПС. Основними параметрами є відмова й час, інші додаткові параметри пов'язано з типом ПС, умовами середовища й даних. Через велику розмаїтість моделей надійності розроблено кілька підходів до класифікації цих моделей. Такі підходи в цілому ґрунтуються на історії помилок у ПС, що перевіряється й тестується на процесах ЖЦ. Однією з класифікацій моделей надійності ПС є класифікація Хетча [10], за якою моделі розділяються на прогнозні, вимірювальні й оцінні (рис. 9.4). Прогнозні моделі надійності ґрунтуються на вимірюванні технічних характеристик створюваної програми: довжина, складність, число циклів і ступінь їхньої складності, кількість помилок на сторінку операторів програми та ін. Наприклад, модель Мотлі–Брукса ґрунтується на довжині й складності структури програми (кількість областей, циклів, складність циклів), кількості й типах змінних, а також інтерфейсів. У цих моделях довжина програми є основою прогнозування кількості помилок, наприклад, для 100 операторів програми можна змоделювати інтенсивність відмов. Моделі надійності ПС Прогнозні Вимірювальні Оцінні Модель Холстеда Модель Мотлі -- Брукса Моделі без підрахунку помилок Моделі з підрахунком помилок Моделі Муси, вибору області даних Моделі підсіву помилок Рис. 9.4. Класифікація моделей надійності 270 Розділ 9 Модель Холстеда прогнозує кількість помилок у програмі залежно від її обсягу й таких даних, як число операцій (n 1 ) і операндів (n 2 ), а також їхнє загальне число (N 1 , N 2 ). Час проектування деякої програми пропонується визначити за такою формулою: T = (n 1 N 2 (n 1 log 2 n 1 + n 2 log 2 n 2 )log 2 n 1/2 n 2 S, де S – число Страуда (Холстед визначив рівним 18 – число розумових операцій в одиницю часу). Обсяг визначається за формулою: V = (2 + n 2 *) log 2 ((2 + n 2 *), де n 2 * – максимальне число різних операцій. Вимірювальні моделі призначені для визначення надійності програмного забезпечення, що працює із певним зовнішнім середовищем. Вони мають такі обмеження: програмне забезпечення не модифікується під час періоду вимірювання властивостей надійності; виявлені помилки не виправляються; вимірювання надійності здійснюється для зафіксованої конфігурації програмного забезпечення. Типовим прикладом таких моделей є моделі Нельсона й Рамамурти–Бастани та ін. Модель оцінки надійності Нельсона ґрунтується на виконанні k-прогонів програми при тестуванні й дозволяє визначити надійність R (k) = exp [– t j (t)], де t j – час виконання j-прогону, (t) = – [ln (1– q i ) j]і при q i 1 вона інтерпретується як інтенсивність відмов. У процесі випробувань програми на тестових n l – прогонах оцінка надійності визначається за формулою R (l)= 1 – n l / k, де k – число прогонів програми. Таким чином, ця модель розглядає отримані кількісні дані про проведені прогони. Оцінні моделі ґрунтуються на серії тестових прогонів і здійснюються на процесах тестування ПC. У тестовому середовищі визначається ймовірність відмови програми при її виконанні або тестуванні. Ці типи моделей можуть застосовуватися на процесах ЖЦ. Крім того, результати прогнозних моделей можуть використовуватися як вхідні дані для оцінної моделі. Існують моделі (наприклад, модель Муси), які можна розглядати і як оцінні, й як вимірювальні моделі [16, 17]. Інший вид класифікації моделей запропонував Гоєл [18, 19], відповідно до якої моделі надійності базуються на відмовах і розділяються на чотири класи: без підрахунку помилок; з підрахунком відмов; з підсівом помилок; моделі з вибором областей вхідних значень. Моделі без підрахунку помилок базуються на вимірюванні інтервалу часу між відмовами й дозволяють спрогнозувати кількість помилок, що залишилися в програмі. Після кожної відмови оцінюється надійність і визначається середній час до наступної відмови. До таких моделей належать моделі Джелінски й Моранді, Шику Вулвертона й Литвуда–Вералла [20, 21]. Розділ 9 271 Моделі з підрахунком відмов базуються на кількості помилок, виявлених на заданих інтервалах часу. Виникнення відмов залежно від часу є стохастичним процесом з безперервною інтенсивністю, а кількість відмов є випадковою величиною. Виявлені помилки, як правило, усуваються й тому кількість помилок в одиницю часу зменшується. До цього класу моделей належать моделі Шумана, Шика–Вулвертона, пуассонівська модель та ін. [21-24]. Моделі з підсівом помилок базуються на кількості усунутих помилок і підсіві внесених у програму штучних помилок, тип і кількість яких заздалегідь є відомими. Потім визначається співвідношення кількості прогнозованих помилок, що залишилися, до кількості штучних помилок, що порівнюється зі співвідношенням кількості виявлених дійсних помилок до кількості виявлених штучних помилок. Результат порівняння використовується для оцінки надійності і якості програми. При внесенні змін у програму здійснюється повторне тестування й оцінка надійності. Цей підхід до організації тестування громіздкій і рідко використовується через додатковий обсяг робіт, пов'язаних з підбором, виконанням й усуненням штучних помилок. Моделі з вибором області вхідних значень ґрунтуються на генерації множини тестових вибірок із вхідного розподілу, і оцінка надійності здійснюється, виходячи з отриманих відмов на основі тестових вибірок із вхідної області. До цього типу моделей належить модель Нельсона та ін. Таким чином, класифікація моделей зростання надійності щодо процесу виявлення відмов, фактично поділяється на дві групи: моделі, які розглядають кількість відмов як марковський процес; моделі, які розглядають інтенсивність відмов як пуассонівський процес. Чинник розподілу інтенсивності відмов розподіляє моделі на експонентні, логарифмічні, геометричні, байєсівські та ін. 9.2.3. Марковські та пуассонівські моделі надійності Марковський процес характеризується дискретним часом і скінченною множиною станів. Часовий параметр пробігає ненегативні числові значення, а процес (ланцюгом) визначається набором ймовірностей переходу p ij (n), тобто ймовірністю перейти на n-кроці зі стану i у стан j. Процес називається однорідним, якщо він не залежить від n. У моделях, що базуються на процесі Маркова, передбачається, що кількість дефектів, виявлених у ПС, у певний момент часу залежить від поведінки системи й подається у вигляді стаціонарного ланцюга Маркова [5, 7, 10]. При цьому кількість дефектів скінченна, але є невідомою величиною, що задається для моделі у вигляді сталої. Інтенсивність відмов у ПС або швидкість проходу ланцюгом залежить лише від кількості дефектів, які залишилися в ПС. До цієї групи належать моделі: Джелинскі–Моранді [20], Шика–Вулвертона , Шантикумера [21] та ін. Далі буде розглянуто деякі моделі надійності, які забезпечують зростання надійності ПС [7, 10], що знаходять широке застосування при тестуванні й описують процес виявлення відмов за умови таких припущень: всі помилки у ПС не залежать одна від одної з погляду локалізації відмов; інтенсивність відмов пропорційна поточному числу помилок у ПС (убуває при тестуванні програмного забезпечення); ймовірність локалізації відмов залишається сталою; 272 Розділ 9 локалізовані помилки усуваються до того, як буде продовжено тестування; при усуненні помилок нові помилки не вносяться. Наведемо основні позначення величин для опису моделей зростання надійності: m – число виявлених відмов ПС за час тестування; Х i – інтервали часу між відмовами i – 1 й i, при i =1,..., m; S i – моменти часу відмов (тривалість тестування до i-відмови), S i = X k при i = 1,...,m; T – тривалість тестування ПС (час, для якого визначається надійність); N – оцінка числа помилок у ПС на початку тестування; M – оцінка числа прогнозованих помилок; MТ – оцінка середнього часу до наступної відмови; E (T p ) – оцінка середнього часу до завершення тестування; Var (T p ) – оцінка дисперсії; R (t) – функція надійності ПС; Zi (t)– функція ризику в момент часу t між i – 1 й i-відмовами; с – коефіцієнт пропорційності; b – частота виявлення помилок. Далі розглядаються кілька моделей зростання надійності, що базуються на цих припущеннях і використанні результатів тестування програм у частині відмов, часу між ними та ін. Модель Джелинського–Моранді. У цій моделі використовуються вихідні дані, наведені вище, а також: m – число виявлених відмов за час тестування, X i – інтервали часу між відмовами, Т – тривалість тестування. Функція ризику Z i (t) у момент часу t знаходиться між i – 1 й i має вигляд: Z i (t) = c (N – n i–1 ), де i = 1 ,.., m; T i–1 < t < T i . Ця функція вважається степеневою кусково-сталою функцією зі сталим коефіцієнтом пропорційності й значенням ступеня – с. Оцінка параметрів c й N здійснюється за допомогою системи рівнянь m m 1/(N – n i–1 ) – c X i = 0, i =1 i =1 m n/c – NT – X i n i–1 = 0. i =1 м Сумарний час тестування визначається так: Т = Х i, i =1 Вихідні показники для оцінки надійності щодо зазначеного часу T такі: число помилок, що залишилися, M T = N – m; середній час до поточної відмови MТ T = 1/(N – m) c; середній час до завершення тестування і його дисперсія: N-n E (T p ) = (1/ ic) , i =1 |