Основание для утверждения, что количество ошибок в строке кода является постоянным независимо от используемого языка - PullRequest
8 голосов
/ 24 мая 2010

Я слышал, как люди говорят (хотя я не могу вспомнить, кто именно), что количество ошибок в строке кода примерно постоянно независимо от того, какой язык используется.Какое исследование подтверждает это?

Отредактировано, чтобы добавить : у меня нет доступа к нему, но, очевидно, авторы этой статьи"спросиливопрос, одинаковое ли количество ошибок в строках кода (LOC) для программ, написанных на разных языках программирования или нет. "

Ответы [ 2 ]

5 голосов
/ 24 мая 2010

Одним из возможных источников был бы документ Лес Хаттона 1995 года " Языки программирования и системы, связанные с безопасностью ", в котором он заключает, что выбор языка по крайней мере близок к не относящимся к делу и другим факторам (в основном беглость выбранный язык) являются контролирующими факторами.

Все, что я мог бы добавить к этому, это обобщить различные другие документы, в которых приводятся коэффициенты брака для отдельных проектов (и тому подобное). Я немного посмотрел и не нашел корреляции между языком и частотой дефектов, но это не то же самое, что сказать, что уровень дефектов постоянен для разных языков (т. Е. Они могут отличаться, но они настолько различаются в разных языках, что я никогда не смог доказать разницу).

0 голосов
/ 08 мая 2019

В своей книге Code Complete (цитата из 2-го издания) в главе «Тестирование разработчика» Стив Макконнелл приводит несколько исследований на разных языках:

  • Средний опыт в отрасли составляет около 1-25 ошибок на 1000 строк кода для поставляемого программного обеспечения. Программное обеспечение обычно разрабатывалось с использованием нескольких методов (Boehm 1981, Gremillion 1984, Yourdon 1989a, Jones 1998, Jones 2000, Weber 2003). Случаи, в которых ошибки составляют одну десятую, являются редкими; случаи, которые в 10 раз больше, как правило, не сообщаются. (Они, вероятно, никогда не завершены!)

  • В отделе приложений Microsoft обнаруживается около 10–20 дефектов на 1000 строк кода во время внутреннего тестирования и 0,5 дефекта на 1000 строк кода в выпущенном продукте (Moore 1992). Техника, используемая для достижения этого уровня, представляет собой комбинацию техник чтения кода, описанных в Другие виды практики совместной разработки, и независимого тестирования.

  • Харлан Миллс впервые применил «разработку чистых помещений», методику, которая позволила достигать всего 3 дефектов на 1000 строк кода во время внутреннего тестирования и 0,1 дефекта на 1000 строк кода в выпущенном продукте Кобб и Миллс 1990).

Эти исследования варьировались от языков высокого уровня, таких как Java, вплоть до C ++ и C, вплоть до сборки. Принимая во внимание огромное влияние Code Complete на разработку программного обеспечения как на дисциплину, я подозреваю, что он ответственен за популяризацию этой идеи.

...