Описание слайда:
M= n2*/6, (5.12)
M= n2*/6, (5.12)
де n2* – загальна кількість вхідних і вихідних змінних у програмі.
З рівняння роботи отримаємо таке рівняння помилок:
B=LE / E0, (5.13)
де В – кількість помилок у програмі, Е0 – середня кількість елементарних відмінностей між помилками програмування.
Використовуючи перетворене рівняння роботи:
Е= (V*)3 / 2, (5.14)
а також значення рівня англійської мови (=2,16), як аналог мови програмування, і гіпотезу про «шість об'єктів» ідеальної за витратами пам'яті програми (n1=n1*=2, n2=n2*=6), Холстед вивів таке рівняння для прогнозу кількості помилок у програмі:
B= Е 2/3 /3000, (5.15) або B= V / 3000, (5.16)
де V – обсяг програми (5.4).
Якщо розрахунки довжини програми і довжини реалізації відрізняються більш ніж на десять відсотків, то це свідчить про можливу наявність у програмі таких 6 класів недосконалостей:
1). Наявність послідовності операторів, що доповнюють один одного до того ж самого операнда, наприклад, А+C–А. 2). Наявність неоднозначних операндів, наприклад, A=D і A=С.
3). Наявність операндів-синонімів, наприклад, А=В и Т=В. 4). Наявність загальних підвиразів: (А+B)C + D(А+B). 5). Непотрібне присвоювання, наприклад C=А+B, якщо змінна C використовується в програмі тільки один раз.
6). Наявність виразів, що не подані в згорнутому вигляді як добуток множників, наприклад XX+2XY+YY не подається як (X+Y)(X+Y).
Добуток рівня програми на обсяг є постійною величиною, що дорівнює потенційному обсягу реалізації даного алгоритму: LV = V* = const.
Якщо мова не змінюється, а змінюється тільки алгоритм, то для будь-якої мови добуток потенційного обсягу на рівень програми залишається сталою величиною і дорівнює рівню мови: LV* = = const.