Уровень автоматизации программирования
Уровень автоматизации программирования можно оценить, основываясь на оценке количества ошибок, сохраняющихся в программе после окончания ее обработки компилятором или другим программным компонентом автоматизации разработки программ.
где В – количество ошибок после реализации программы на языке программирования; Е – интеллектуальные усилия при программировании; V – объем программы; 3000 – критический уровень работы по составлению программы. Появление в языках программирования средств семантического контроля программы (пользовательские типы данных и операторов) потребовало измерения эффективности этих средств. Основным понятием при решении этой задачи является дефект программы. Дефект программы – это такое искажение текста программы, по сравнению с эталонной, которое не обнаруживается при компиляции, но существенно влияет на исход выполнения программы. Следует отметить, что дефект программы может быть и не обнаружен при выполнении программы на определённом множестве исходных данных. Поэтому вводится понятие множества всех потенциальных дефектов D и числа этих дефектов d. Выдвигается гипотеза, согласно которой количество ошибок в программе прямо пропорционально d. Тогда для какого-либо средства статистического семантического контроля можно вычислить показатель его эффективности:
где R1 – количество ошибок в программе, полученное без использования этого средства; R2 – количество ошибок в программе, полученное с использованием данного средства; d1 – количество дефектов в программе, полученное без использования этого средства; d2 – количество дефектов в программе, полученное с использованием данного средства. Теперь необходимо количественно оценить d1 и d2. При оценке количества возможных дефектов, возникающих в тексте программы, оцениваются все случаи замены операторов, операндов и типов, приводящие к изменению смысла алгоритма. Количество дефектов для средств контроля типов данных определится как: dтип = dт + dN1 + dN2 (5) где dт – количество дефектов от возможной замены типов; N1 – количество дефектов от возможной кодов операндов; N2 – количество дефектов от возможной кодов операторов. Таким образом, взяв за основу сравнения полное отсутствие контроля типов данных, эффективность средства контроля типов данных можно оценить по формуле
где Более корректным будет при использовании данной метрики для оценки количества дефектов от возможной замены типов данных dт применять функцию не количества типов, различаемых более развитым средством семантического контроля, а количества разновидностей операндов неконкретного типа. Оно оценивается как разность объема словаря операндов и количества различаемых данным средством программирования типов данных. Тогда оценка эффективности примет вид:
где ТБ – количество типов данных, контролируемых базовым средством программирования; ТК – количество типов данных, контролируемых дополнительным и базовым средством семантического контроля.
|