|
|||
Какие математические модели ошибок ПО вам известны? ⇐ ПредыдущаяСтр 2 из 2 2. Какие математические модели ошибок ПО вам известны?
Модели имеют вероятностный характер, и достоверность прогнозов в значительной степени зависит от точности исходных данных и глубины прогнозирования по времени. Эти математические модели предназначены для оценки: · надежности работы ПО в процессе отладки, испытаний и эксплуатации; · числа ошибок, оставшихся не выявленными в анализируемых программах; · времени, требующегося для обнаружения следующей ошибки в функционирующей программе; · времени, необходимого для поиска всех ошибок с заданной вероятностью. Точное определение полного числа не выявленных ошибок в СПК прямыми методами измерения невозможно. Однако имеются пути для приближенной статистической оценки их полного числа или вероятности ошибки в каждой команде программы. Такие оценки базируются на построении математических моделей в предположении о жесткой зависимости между общим количеством и проявлениями ошибок в комплексе программ после его отладки в течение времени T, т. е. между: · суммарным числом первичных ошибок в комплексе программ (n0) или вероятностью ошибки в каждой команде программы (p0); · числом ошибок, выявляемых в единицу времени в процессе тестирования и отладки при постоянных усилиях на ее проведение (dn/dτ); · интенсивностью искажений результатов в единицу времени (λ) на выходе комплекса программ вследствие не выявленных первичных ошибок при функционировании программ. Наиболее доступно для измерения количество вторичных ошибок в программе, выявляемых в единицу времени в процессе отладки. Известны несколько математических моделей, основой которых являются различные гипотезы о характере проявления вторичных ошибок в программах. Эти гипотезы в той или иной степени апробированы при обработке данных реальных разработок, и их можно подразделить на три группы. В первую группу входят очевидные допущения, статистическая проверка которых невозможна и нецелесообразна. Эта группа включает в себя предположение о наблюдаемости искажений данных, программ или вычислительного процесса, обусловленных первичными ошибками в программах. Вторую группу составляют допущения, определяющие специфические характеристики модели и требующие статистической проверки и обоснования на базе экспериментальных исследований. В третью группу включены второстепенные допущения, расширяющие и уточняющие возможности применения модели и частично доступные экспериментальной проверке. Вторая группа допущений при построении математических моделей ошибок является основной и проверена интегрально по обобщенным характеристикам частности обнаружения ошибок и дифференцирование путем анализа правомерности каждого допущения. Интервалы времени между обнаруживаемыми искажениями результатов предполагаются статистически независимыми. Время измеряется по фактической наработке длительностей исполнения программ без учета дополнительных затрат календарного времени на локализацию, диагностику и исправление ошибок. Каждая обнаруженная ошибка подлежит исправлению, поэтому предполагается, что частота исправления ошибок пропорциональна частоте их обнаружения. Однако некоторые исправления, в свою очередь, содержат ошибки. Кроме того, некоторые ошибки являются связанными, и при обнаружении проявления одной ошибки следует исправление нескольких первичных ошибок. Из-за этого частота обнаружения ошибок и частота их исправления не равны, а должны быть связаны некоторым коэффициентом пропорциональности. Коэффициенты корреляции для исследованных комплексов программ довольно высокие — от 0,52 до 0,82 при среднем значении около 0,68, т. е. достаточно хорошо подтверждают гипотезу. Третья группа допущений детализирует использование ресурсов на корректировку программ и повышение их качества. Приведенные предположения позволяют построить экспоненциальную математическую модель распределения моментов обнаружения ошибок в программах и установить связь между интенсивностью обнаружения ошибок при отладке dn/dτ интенсивностью проявления ошибок при нормальном функционировании программ λ и числом первичных ошибок n. При постоянных усилиях на отладку интенсивность обнаружения искажений вычислительного процесса, программ или данных вследствие еще не выявленных ошибок пропорциональна количеству оставшихся первичных ошибок в комплексе программ. Предположение о сильной корреляции между значениями n0 и dn/dτ проверено анализом реальных характеристик процесса обнаружения ошибок. Таким образом, интенсивность обнаружения ошибок в программе и абсолютное число устраненных первичных ошибок связываются уравнением. Наработка между проявлениями ошибок, которые рассматриваются как обнаруживаемые искажения программ, данных или вычислительного процесса, равна величине, обратной интенсивности обнаружения ошибок. Если известны все моменты обнаружения ошибок ti и каждый раз в эти моменты обнаруживается и достоверно устраняется одна первичная ошибка, то, используя метод максимального правдоподобия. Необходимые для расчетов К и N0 экспериментальные значения ti определяются в процессе отладки данного или аналогичных комплексов программ, созданных тем же коллективом разработчиков и при такой же технологии. В результате можно рассчитать число оставшихся в программе первичных ошибок и среднюю наработку Т до обнаружения следующей ошибки. В процессе отладки и испытания программ для повышения наработки между проявлениями ошибок от величины Т1 до значения Т2 необходимо обнаружить и устранить ∆n ошибок. Эту величину можно определить, выразив число обнаруживаемых ошибок через длительность наработки на проявление ошибок. Аналогичными несложными преобразованиями можно получить затраты времени на проведение отладки ∆τ, которые позволяют устранить ∆n ошибок и соответственно повысить наработку между очередными обнаружениями ошибок от значения Т1 до Т2. Неравномерность выбора маршрутов исполнения программы при нормальной эксплуатации, разное влияние конкретных типов ошибок в программах на проявление их при функционировании, а также сравнительно небольшие значения n и ∆n, особенно на заключительных этапах отладки, приводят к тому, что флюктуации интервалов времени между обнаружением ошибок ∆τ могут быть весьма значительными.
|
|||
|