LINUX.ORG.RU

Coverity опубликовала отчет о результатах исследования кода ядра Linux


0

0

Потратив четыре года на совершенствование методов выявления ошибок в программном коде, эксперты Coverity "прошерстили" около шести миллионов строк кода ядра версии 2.6 и обнаружили в нём немногим менее одной тысячи ошибок. Работа проделана большей частью в автоматическом режиме специальной программой (SWAT), основные принципы функционирования которой основатели Coverity сформулировали ещё в бытность свою студентами Стэнфордского университета. Задача SWAT - выявление ошибок в статическом коде C и C++, так что доступные всем и вся исходники ядра свободной ОС пришлись как нельзя кстати. Впрочем, интересно другое - много это или мало, тысяча ошибок на почти шесть миллионов строк? Сравнивая с известной работой другой группы исследователей (Carnegie Mellon University), анализировавших качество кода некоторых проприетарных программ, можно утверждать: весьма умеренно. По самой скромной оценке, в ядре Linux ошибки встречаются в шесть раз реже, нежели в программах с закрытым кодом.

>>> Подробности

Ответ на: комментарий от Sun-ch

Код ядра соляриса по утверждению Питера ван дер Линдена всю жизнь был lint-free. В своей книге "Еxpert C programming" он описывает что использование lint является неотъемлемой частью процесса разработки в Sun, и при переходе с BSD codebase на AT&T codebase они месяц на казарменном положении жили, пока все предупреждения lint не выловили.

А толку?

Автоматический анализ не панацея.

vitus
()

Кстати, а есть такие же исследования для Дарвина?

macavity
()
Ответ на: ку от anonymous

> про "глючность" Windows можно почитать вот тут: http://www.livejournal.com/users/deadracoon/47052.html

Все ничего, но под конец "сорвало башню" - сразу все испортил:

"Все, абсолютно все коммерчески успешные операционные системы на сегодня - с монолитным ядром. И Линукс, и NT, и BSD. Даже MacOS, который вроде как должен быть на микроядерном Mach - на самом деле с монолитным ядром (они его сделали таким). Почему? Потому что они коммерчески успешные. Микроядерные технологии не работают достаточно быстро даже на сегодняшний день. А это значит что ошибка любого компонента в пространстве ядра выносит всю систему."

Вообщем, есть мастера по... поговорить :)

macavity
()
Ответ на: комментарий от macavity

дык ты нам этот тезис про мастеров постоянно тут демонстрируешь на собственном примере.

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