LINUX.ORG.RU
ФорумTalks

Результаты сравнения качества кода открытых и проприетарных проектов

 , , ,


0

0

Компания Coverity, развивающая инструментарий для автоматического анализа кода на предмет наличия проблем безопасности и ошибок опубликовала отчёт с результатами изучения 450 млн строк кода, охватывающих 118 наиболее активно разрабатываемых открытых проектов и 256 проприетарных продуктов.

В среднем уровень дефектов в открытом и закрытом коде оказался примерно на одном уровне - 0.69 против 0.68 ошибок на 1000 строк кода, что значительно выше требований промышленных стандартов качества, в которых допускается 1 ошибка на 1000 строк кода. В проектах размером от 500 тысяч до 1 млн строк кода открытое ПО почти в два раза опередило проприетарное ПО по качеству, показав коэффициент наличия ошибок 0.44 против 0.98. Для проектов до 100 тысяч строк кода данные показатели составили 0.4 и 0.51, от 100 до 500 тысяч - 0.60 и 0.66. В проектах, размером более 1 млн строк кода более высокое качество наблюдается в проприетарном ПО - коэффициент ошибок в открытом ПО составил 0.75, а в проприетарном - 0.66.

Анализ качества ядра Linux показал, что в выпущенных за 2012 год версиях ядра Linux 3.2-3.7 было зафиксировано 5803 дефектов, при этом уже исправлено 5170 проблем. В 2011 году число дефектов для ядер 2.6.38-3.1 составило 2331, но исправлено было только 1283 проблем. Средний коэффициент наличия ошибок во всех подсистемах ядра составил 0.66 (от 0.32 до 0.9, в зависимости от подсистемы ядра), в то время как 5 лет назад данный коэффициент превышал граничный показатель в 1 ошибку на 1000 строк кода. В новых версиях ядра число ошибок уменьшается, например в ядре 3.8 коэффициент наличия ошибок составляет 0.59.
Опеннет.

★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

для Ъ, линупс кернел сосет?

x0r ★★★★★
()

Не читал, у меня есть свои впечатления. По ним качество большинства опенсорсного ПО ужасное. За исключением тех продуктов, которые разрабатывают какие-то организации, вроде Mozilla, Google и прочие. Такое впечатление будто разработчики сами не пользуются своими поделками, потому что пользуются маком.

firestarter ★★★☆
()
Ответ на: комментарий от buddhist

О, опять попугаи и средняя температура по больнице

И какова на этот раз средняя температура по больнице в попугаях?

Sadler ★★★
()

Я вообще как-то слабо понимаю эту метрику — количество ошибок на х строк кода. Тем более, что понятие «ошибки» гораздо шире. Я встречал ошибки вида «программа работает слишком хорошо» — к какому классу их причислять? ;)

Кроме того, мне кажется, Coverity может указать на потенциальные и фактические дыры типа переполнения буфера, но вряд ли она отличит слабосопровождаемый говнокод с одной такой ошибкой в стиле «хрен найдешь, хрен поправишь» от хорошо организованного, легкочитаемого кода, в котором таких ошибок больше, но их легко исправить.

shimon ★★★★★
()

Вполне закономерно. В открытых проектах редко кто-то стоит над душой программиста с палкой и гонит его реализовывать новые фичи. Вот они код и вылизывают.

segfault ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.