Хелпикс

Главная

Контакты

Случайная статья





2. Ка­кие ма­тема­тичес­кие мо­дели оши­бок ПО вам из­вес­тны?



Глава 5

  1. На­зови­те при­чины и уров­ни оши­бок в СПК.

В об­щем слу­чае под прог­рам­мной ошиб­кой под­ра­зуме­ва­ет­ся неп­редви­ден­ное ис­ка­жение ра­боты прог­раммы.

Ис­точни­ками оши­бок в ра­боте слож­ных прог­рам­мных ком­плек­сов (СПК) мо­гут быть и са­ми прог­раммис­ты с их ин­ди­виду­альны­ми осо­бен­ностя­ми, ква­лифи­каци­ей, та­лан­том и опы­том.

По уров­ням ошиб­ки под­разде­ля­ют на пер­вичные, вто­рич­ные, не­большие, уме­рен­ные и кри­тичес­кие.

При от­ладке и тес­ти­рова­нии ПО обыч­но сна­чала об­на­ружи­ва­ют­ся вто­рич­ные ошиб­ки, т.   е. пос­ледс­твия внут­ренних его де­фек­тов, ко­торые сле­ду­ет ква­лифи­циро­вать как пер­вичные при­чины об­на­ружен­ных ано­малий ре­зульта­тов. Пос­ле­ду­ющие ло­кали­зация и кор­ректи­ров­ка пер­вичных оши­бок дол­жны при­водить к ус­тра­нению оши­бок, пер­во­начально об­на­ружи­ва­емых в ре­зульта­тах фун­кци­они­рова­ния прог­рамм.

Не­больши­ми ошиб­ка­ми на­зыва­ют та­кие, на ко­торые сред­ний пользо­ватель не об­ра­тит вни­мания при при­мене­нии прог­рам­мно­го про­дук­та вследс­твие от­сутс­твия их про­яв­ле­ния и пос­ледс­твия ко­торых обыч­но так и не об­на­ружи­ва­ют­ся. Не­большие ошиб­ки мо­гут вклю­чать ор­фогра­фичес­кие ошиб­ки на эк­ра­не, про­пущен­ные раз­де­лы в спра­воч­ни­ке и дру­гие мел­кие проб­ле­мы. Та­кие ошиб­ки ни­ког­да не по­меша­ют вы­пус­ку и при­мене­нию вер­сии СПК и (или) прог­рам­мно­го про­дук­та. По де­сяти­балльной шка­ле рис­ков не­большие ошиб­ки на­ходят­ся в пре­делах от 1-го до 3-го прио­ри­тета.

Уме­рен­ные ошиб­ки вли­яют на ко­неч­но­го пользо­вате­ля, но име­ют­ся сла­бые пос­ледс­твия или об­ходные пу­ти, поз­во­ля­ющие сох­ра­нить дос­та­точ­ную фун­кци­ональность прог­рам­мно­го про­дук­та. Это та­кие де­фек­ты, как не­вер­ные ссыл­ки на стра­ницах, оши­боч­ный текст на эк­ра­не и да­же сбои, ес­ли эти сбои труд­но вос­про­из­вести, и они не ока­зыва­ют вли­яния на су­щес­твен­ное чис­ло пользо­вате­лей. По де­сяти­балльной шка­ле уме­рен­ные ошиб­ки на­ходят­ся в ди­апа­зоне от 4-го до 7-го при­ори­тета.

Критические ошиб­ки име­ют уро­вень при­ори­тета 10. Важ­ной осо­бен­ностью про­цес­са вы­яв­ле­ния оши­бок в прог­раммах яв­ля­ет­ся от­сутс­твие пол­ностью оп­ре­делен­ной прог­раммы-эта­лона, ко­торой дол­жны со­от­ветс­тво­вать текст и ре­зульта­ты фун­кци­они­рова­ния раз­ра­баты­ва­емой прог­раммы.

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, осо­бен­но на зак­лю­чительных эта­пах от­ладки, при­водят к то­му, что флюк­ту­ации ин­терва­лов вре­мени меж­ду об­на­руже­ни­ем оши­бок ∆ τ мо­гут быть весьма зна­чительны­ми.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.