Оценки языка программирования



Для оценки языка программирования существует понятие уровня языка. По аналогии с высказыванием, что уровень программы, реализуемой конкретным алгоритмом, не зависит от использования языка программирования, изменение алгоритма при кодировании на одном и том же языке, в одинаковой степени увеличивая потенциальный объем программы, снижает ее уровень. На этом основании была выдвинута гипотеза о постоянстве для одного языка программирования выражения

                                   λ = 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!