Уровень автоматизации программирования
Уровень автоматизации программирования можно оценить, основываясь на оценке количества ошибок, сохраняющихся в программе после окончания ее обработки компилятором или другим программным компонентом автоматизации разработки программ. , (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) где ТБ – количество типов данных, контролируемых базовым средством программирования; ТК – количество типов данных, контролируемых дополнительным и базовым средством семантического контроля.
|