Оценки языка программирования
Для оценки языка программирования существует понятие уровня языка. По аналогии с высказыванием, что уровень программы, реализуемой конкретным алгоритмом, не зависит от использования языка программирования, изменение алгоритма при кодировании на одном и том же языке, в одинаковой степени увеличивая потенциальный объем программы, снижает ее уровень. На этом основании была выдвинута гипотеза о постоянстве для одного языка программирования выражения
λ = LV*, (1)
где λ – оценка уровня языка; L – уровень программы (см.18лаб.раб.8);V* - потенциальный объем (см.5 лаб.раб.5).
Учитывая что , можно записать:
λ = L2V. (2)
Метрическая характеристика λ сильно зависит от уровня программы и ее специфики. Поэтому трактовать эту метрику следует как уровень языка программирования в контексте области применения. Только при сравнении со средним значением уровня языка можно сделать вывод о применимости языка программирования к реализации программ данной проблемной области, с одной стороны, и об уровне использования языковых средств – с другой. Оба вывода должны делаться на основании локальных средних значений λ для типологических рядов программ.
Уровень автоматизации программирования
|
|
Уровень автоматизации программирования можно оценить, основываясь на оценке количества ошибок, сохраняющихся в программе после окончания ее обработки компилятором или другим программным компонентом автоматизации разработки программ.
, (3)
где В – количество ошибок после реализации программы на языке программирования; Е – интеллектуальные усилия при программировании; V – объем программы; 3000 – критический уровень работы по составлению программы.
Появление в языках программирования средств семантического контроля программы (пользовательские типы данных и операторов) потребовало измерения эффективности этих средств. Основным понятием при решении этой задачи является дефект программы.
Дефект программы – это такое искажение текста программы, по сравнению с эталонной, которое не обнаруживается при компиляции, но существенно влияет на исход выполнения программы.
Следует отметить, что дефект программы может быть и не обнаружен при выполнении программы на определённом множестве исходных данных. Поэтому вводится понятие множества всех потенциальных дефектов D и числа этих дефектов d.
Выдвигается гипотеза, согласно которой количество ошибок в программе прямо пропорционально d. Тогда для какого-либо средства статистического семантического контроля можно вычислить показатель его эффективности:
|
|
(4)
где R1 – количество ошибок в программе, полученное без использования этого средства; R2 – количество ошибок в программе, полученное с использованием данного средства; d1 – количество дефектов в программе, полученное без использования этого средства; d2 – количество дефектов в программе, полученное с использованием данного средства.
Теперь необходимо количественно оценить d1 и d2. При оценке количества возможных дефектов, возникающих в тексте программы, оцениваются все случаи замены операторов, операндов и типов, приводящие к изменению смысла алгоритма.
Количество дефектов для средств контроля типов данных определится как:
dтип = dт + dN1 + dN2 (5)
где dт – количество дефектов от возможной замены типов; N1 – количество дефектов от возможной кодов операндов; N2 – количество дефектов от возможной кодов операторов.
Таким образом, взяв за основу сравнения полное отсутствие контроля типов данных, эффективность средства контроля типов данных можно оценить по формуле
|
|
(28)
где - число типов данных в программе; N1 – общее число операторов в программе; N2 – общее число операндов в программе; η1 – словарь операторов; η2 – словарь операндов.
Более корректным будет при использовании данной метрики для оценки количества дефектов от возможной замены типов данных dт применять функцию не количества типов, различаемых более развитым средством семантического контроля, а количества разновидностей операндов неконкретного типа. Оно оценивается как разность объема словаря операндов и количества различаемых данным средством программирования типов данных. Тогда оценка эффективности примет вид:
(6)
где ТБ – количество типов данных, контролируемых базовым средством программирования; ТК – количество типов данных, контролируемых дополнительным и базовым средством семантического контроля.
Задание
Для одной из своих программ рассчитать:
Уровень языка, (l);
Количество ошибок после реализации программы на языке программирования (В);
Количество дефектов для средств контроля типов данных (dтип);
|
|
эффективность средства контроля типов данных ( ).
КОНТРОЛЬНЫЕ ВОПРОСЫ
Что является оценкой языка программирования?
Как определить уровень автоматизации программирования? Что является дефектом программы?
От чего зависит эффективность контроля типов данных?
Как вы понимаете термины семантический контроль и уровень языка? Как на их основе можно оценить уровень языка программирования?
ЛИТЕРАТУРА
Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ. – М.: Издательство МАИ, 1989.
Холстед М. Начала науки программирования. - М.: Финансы и статистика, 1981.
Дата добавления: 2020-04-08; просмотров: 256; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!