The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

07.05.2013 20:23

Компания Coverity, развивающая инструментарий для автоматического анализа кода на предмет наличия проблем безопасности и ошибок опубликовала отчёт (PDF, 1 Мб) с результатами изучения 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.

Что касается типов проблем, выявленных в процессе анализа кода, то 36% всех выявленных проблем относятся к категории ошибок высокой степени опасности. Распределение типов проблем выглядит следующим образом (уже исправлено/ ещё не исправлено):

  • Проблемы с порядком вычислений (Control Flow Issues) 3,464 / 5,826
  • Разыменование NULL-указателя (Null Pointer Dereferences) 2,724 / 6,846
  • Неинициализированные переменные (Uninitialized Variables) 1,374 / 1,692
  • Повреждения памяти (Memory Corruptions) 2,264 / 3,151
  • Проблемы с обработкой ошибок (Error Handling Issues) 1,432 / 5,461
  • Утечка ресурсов (Resource Leaks) 2,544 / 4,826
  • Проблемы с обработкой целочисленных значений (Integer Handling Issues) 2,512 / 3,791
  • Некорректный доступ к памяти (Memory - Illegal Access) 1,693 / 4,299
  • Небезопасная обработка данных (Insecure Data Handling) 751 / 1,372
  • Некорректные выражения (Incorrect Expression) 766 / 1,421
  • Проблемы с одновременным доступом (Concurrent Access Violations) 175 / 206
  • Ошибки использования API (API Usage Errors) 257 / 359
  • Зависания программ (Program Hangs) 127 / 180
  • Несоответствия иерархии класса (Class Hierarchy Inconsistencies) 4 / 9.

Анализ качества ядра 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.

Система Coverity Scan была создана в 2006 году по инициативе Министерства национальной безопасности США для обеспечения и усиления безопасности информационной инфраструктуры Соединённых Штатов, в которой используются различные Open Source проекты. В настоящее время программа тестирования Coverity Scan охватывает около 300 открытых проектов, суммарный размер кода которых превышает 68 млн строк. При автоматическом анализе данного кода было выявлено 47 тысяч дефектов из которых уже исправлено 21 тысяча.

  1. Главная ссылка к новости (http://www.coverity.com/compan...)
  2. OpenNews: Результаты анализа системой Coverity безопасности и качества открытого кода
  3. OpenNews: Результаты исследования безопасности и качества открытого кода
  4. OpenNews: Обобщение опыта Coverity по статистическому анализу миллиардов строк кода
  5. OpenNews: Исследование Coverity показало улучшение качества открытого кода
  6. OpenNews: Отчет по итогам анализа кода 250 открытых проектов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36877-coverty
Ключевые слова: coverty, test, quality, php, postgresql, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (65) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 20:37, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Средняя температура по больнице
     
     
  • 2.3, pavlinux (ok), 20:44, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Это Фроникс - ср. темп. по больнице, а Coverity серьёзные посаны.  
     
     
  • 3.45, Карбофос (ok), 10:50, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    поднимают ли они вопли по поводу возвращаемого значения от printf, вот в чём вопрос
     
  • 2.8, Аноним (-), 21:05, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не по больнице, а по исходному коду.
     

  • 1.4, Ordu (ok), 20:48, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    И какой смысл в этих числах? Выборка-то нерепрезентативная: ведь ни один пропиетарщик не подпишется на это тестирование, если у него есть хоть малейшее сомнение, в том, что результаты будут в его пользу. А без согласия пропиетарщика, coverity не получит доступа к строкам исходного кода. То есть на выходе, поскольку в coverity участвуют "лучшие" представители пропиетарщины, мы получаем что "среднее качество" пропиетарщины вообще ниже плинтуса.
     
     
  • 2.9, Аноним (-), 21:18, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неверно, ты забыл про код на пыхе выложенный на гитхабе и сорсфордже :-D
     
  • 2.10, SubGun (??), 21:26, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это министерство национальной безопасности, для него все открыто
     
     
  • 3.18, Ordu (ok), 22:31, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это министерство национальной безопасности, для него все открыто

    Не знаю, что для него открыто, но список софта, приведённый по ссылке из статьи, не особо блещет упоминаниями MSO, Photoshop, ntoskrnl.exe и проч.

     
     
  • 4.22, Аноним (-), 22:51, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Майкрософт предоставляет спецслужбам доступ к исходникам всех своих поделок, в том числе винды))
     
     
  • 5.29, ананим (?), 00:58, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Но в сабже упоминания о нём нет.
    Т.е. публикации подобной аналитики толи запрещены, толи не возможны.
    Если сырцы есть, то скорее всего первое.
    Что, очевидно, ещё хуже в таком случае.
     
     
  • 6.76, Евгений (??), 19:13, 12/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нет
     
  • 5.46, прхожий (?), 12:08, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Слышал звон,да не понял где он?!

    Никогда еще майкрософт не предоставлял доступ к исходникам.Тем более спецслужбам.Тем более Российским.

    А чтобы совсем было понятно-майкрософт предоставляет право запроса на доступ к участкам кода по предварительной заявке. Для особо тупых- чтобы сказать какой именно кусок кода вам нужен вы должны его знать  :) Нельзя подать заявку: дайте нам весь исходный код такой-то программы или операционной системы. Должна быть заявка на исходный код такой-то функции в таком-то модуле конкретно такие-то строки.

     
     
  • 6.47, PereresusNeVlezaetBuggy (ok), 12:13, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Слышал звон,да не понял где он?!
    > Никогда еще майкрософт не предоставлял доступ к исходникам.Тем более спецслужбам.Тем более
    > Российским.
    > А чтобы совсем было понятно-майкрософт предоставляет право запроса на доступ к участкам
    > кода по предварительной заявке. Для особо тупых- чтобы сказать какой именно
    > кусок кода вам нужен вы должны его знать  :) Нельзя
    > подать заявку: дайте нам весь исходный код такой-то программы или операционной
    > системы. Должна быть заявка на исходный код такой-то функции в таком-то
    > модуле конкретно такие-то строки.

    Хм. Пруф?

     
  • 6.73, еще один аноним (?), 15:25, 11/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Должна быть заявка на исходный код такой-то функции в таком-то модуле конкретно такие-то строки.

    Ты чего-то перегнул. Если ты знаешь, КАКИЕ КОНКРЕТНЫЕ СТРОКИ в какой конкретной функции в каком модуле тебе нужны, значит, исходный код у тебя уже есть и запрашивать его нет нужды. Наверное имеет смысл запрашивать исходник того, чего у тебя нет и соответственно ты не сможешь указать конкретные строки. Проблема прям родственна проблеме курицы и яйца: чтобы затребовать исходник, нужно иметь исходник (чтобы указать конкретные строки) - как же ты его получишь в первый раз?

     
  • 6.77, Michael Shigorin (ok), 04:03, 15/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Слышал звон,да не понял где он?!

    Не понял -- проходи (ц)

    > Никогда еще майкрософт не предоставлял доступ к исходникам.Тем более спецслужбам.
    > Тем более Российским.

    Это Вы не в курсе.  Предоставляли по программе чего-то там government access или подобным образом названной, о чём пытались громко бить себя пятою в грудь.

    Вот только предоставленные ими исходники не собирались, а недостающее они "и не подписывались давать".  Толку с таких исходников -- что с Балмера молока.

     
  • 2.12, Anonymous1 (?), 21:46, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Американский проприетарщик, отказывающий инициативе Министерства национальной безопасности США? Немного странно это, и небезопасно для бизнеса этого проприетарщика...
    Или Вы свято верите в те песни о демократии и неприкосновенности бизнеса, которые они для других стран звонко поют?
     
     
  • 3.31, ананим (?), 01:03, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тогда где аналитика по винде и пр. продуктам мс?
    Очевидно что сабж для наиболее используемого ПО имеет гораздо значение.

    Зыж
    Очевидно также что такая аналитика есть.
    А вот публикация её... не в интересах нац.безопасности.:D

     
     
  • 4.74, еще один аноним (?), 15:29, 11/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда где аналитика по винде и пр. продуктам мс?
    > Зыж
    > Очевидно также что такая аналитика есть.
    > А вот публикация её... не в интересах нац.безопасности.:D

    возмжно потому она (подробная аналитика по винде и всяким мсофисам) и проходит одной общей строкой как "проприетарный софт" - без уточнения, без конкретики. Потому как "публикация её... не в интересах нац.безопасности".

     
  • 2.15, Mike Lee (?), 22:14, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Ты не поверишь, но они за это Coverity и прочий Klocwork еще и деньги платят.
     
     
  • 3.38, AnonuS (?), 02:11, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ты зря ему это сказал, у него от соприкосновения с реальной жизнью может случится психический шок и трепет, и мы потеряем такого задорного пятиклассника.
     
  • 2.16, VoDA (ok), 22:30, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Проприетарщики сами приплачивают чтобы их софт проверили. На основании этих проверок и составлено данное исследование.

    Другое дело что Коверити не имеет права разглашать ЧТО за программы сканила. А общие выводы - могет )))

     
     
  • 3.19, Ordu (ok), 22:38, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Другое дело что Коверити не имеет права разглашать ЧТО за программы сканила. А общие
    > выводы - могет )))

    То есть Coverity может подгонять выборку по своему разумению? Тогда она вообще может получить любые наперёд заданные результаты. И в этом случае, цифры про пропиетарное ПО совершенно неинформативны. Разве что мы безоглядно поверим в непредвзятость Coverity.

     

  • 1.11, Sylvia (ok), 21:34, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >требований промышленных стандартов качества, в которых допускается 1 ошибка на 1000 строк кода

    пугающие стандарты...

     
     
  • 2.14, Аноним (-), 22:01, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это о чем то говорит, ведь по этим стандартам винду делали.
     
     
  • 3.40, dr Equivalent (ok), 06:22, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Со стандартами у них всегда проблемы были, этот - не исключение.
     

  • 1.13, Lightnin_Hopkins (ok), 21:47, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А в самом этом Coverity какой коэффициент?
     
     
  • 2.17, VoDA (ok), 22:31, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А в самом этом Coverity какой коэффициент?

    Скорее около нуля - они сами себя должны постоянно сканить )))

     
     
  • 3.25, Карбофос (ok), 23:53, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а если их фаззингом?
     

  • 1.20, Аноним (-), 22:43, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >> Неинициализированные переменные (Uninitialized Variables) 1,374 / 1,692

    Неужели так сложно инициализировать переменные начальными значениями?

     
     
  • 2.24, Карбофос (ok), 23:51, 07/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    там фишка вот в чём: переменная инициализируется в специальной функции, где-то в пределах области досягаемости этой переменной, а предупреждалка уже кричит.
     
  • 2.36, Ordu (ok), 01:57, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иногда сложно Случаются такие гадостные ситуации, когда инициализация объекта о... большой текст свёрнут, показать
     
     
  • 3.63, Аноним (-), 19:30, 09/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >нет уверенности в том, что какой-либо пристойный стиль программирования позволяет обойтись без таких "ошибок"

    Строго говоря, в чистом функциональном программировании им места, вроде, нет. Как, впрочем, и инициализации как таковой.

     
     
  • 4.72, Ordu (ok), 23:16, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>нет уверенности в том, что какой-либо пристойный стиль программирования позволяет обойтись без таких "ошибок"
    > Строго говоря, в чистом функциональном программировании им места, вроде, нет.
    > Как, впрочем, и инициализации как таковой.

    Какое это имеет отношение к языкам C и C++? Говоря о стиле программирования, я имею в виду нечто типа /usr/src/linux/Documentation/CodingStyle или то, что вы можете почитать если вгоните в консольку команду "info Standards".


    > Как, впрочем, и инициализации как таковой.

    Как впрочем и переменных, как таковых. ;)

     

  • 1.21, Аноним (-), 22:50, 07/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Число найденных ошибок в OpenBSD не сообщается, но известно, что несколько разработчиков OpenBSD работают в компании, создавшей Coverity, и процесс исправления, основанный на работе Coverity, отражается в CVS-комментариях
     
     
  • 2.26, PereresusNeVlezaetBuggy (ok), 00:21, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Число найденных ошибок в OpenBSD не сообщается, но известно, что несколько разработчиков
    > OpenBSD работают в компании, создавшей Coverity, и процесс исправления, основанный на
    > работе Coverity, отражается в CVS-комментариях

    Угу. Собственно, единственное упоминание за 2013 год в CVS-логах - про OpenSMTPD, что не удивительно - проект в предыдущих релизах дошёл до стадии включения в базовую поставку (хотя Sendmail ещё не заменил, в т.ч. в -CURRENT):http://marc.info/?l=openbsd-cvs&m=135965751409719&w=2

     
     
     
     
     
     
     
    Часть нити удалена модератором

  • 8.39, Аноним (-), 02:21, 08/05/2013 [ответить]  
  • +4 +/
    Необходимым условием для возможности использования ОС в госорганах,в том числе и... текст свёрнут, показать
     
     
  • 9.50, PereresusNeVlezaetBuggy (ok), 12:30, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вами опять в качестве доказательства приведён целый ряд, очевидно самостоятельно... большой текст свёрнут, показать
     
     
  • 10.52, Аноним (-), 13:36, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Надоело играться с самой секурной ОС всех времён,и решил... большой текст свёрнут, показать
     
     
  • 11.53, PereresusNeVlezaetBuggy (ok), 13:55, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gt оверквотинг удален Ни о каких судебных тяжбах речи не шло, это снова ваш... текст свёрнут, показать
     
     
  • 12.54, Аноним (-), 14:20, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Дискуссия предпологает высказывание и продвижение каждым участником своего виден... большой текст свёрнут, показать
     
     
  • 13.56, шестиклассник (?), 17:57, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отсутствие пробела после запятой неимоверно режет глаза ... текст свёрнут, показать
     
  • 13.57, PereresusNeVlezaetBuggy (ok), 18:21, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Видение предмета может быть обосновано, а может быть не обосновано Намеренное и... текст свёрнут, показать
     
     
  • 14.58, Аноним (-), 19:10, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да,нигде официальные представители госструктур ну понятно,что это,здесь не цепля... большой текст свёрнут, показать
     
     
  • 15.59, PereresusNeVlezaetBuggy (ok), 20:48, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Либо указание конкретного факта использования, либо полное перечисление, какие О... большой текст свёрнут, показать
     
  • 10.64, Аноним (-), 19:34, 09/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Так про внедрения в неамериканских госорганах все знают просто http www openb... текст свёрнут, показать
     
     
  • 11.65, Аноним (-), 23:02, 09/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    О А мы и не знали Вообщем, среди того списка серьёзных проектов заведений нет ... текст свёрнут, показать
     
     
  • 12.66, PereresusNeVlezaetBuggy (ok), 23:08, 09/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Уже смешно Зачем сравнивать Разные ОС, ставят перед собой несколько разные з... текст свёрнут, показать
     
     
  • 13.67, Аноним (-), 00:17, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее так ЛАД на свете больше,чем двухколёсных карет на конной тяге и что ... текст свёрнут, показать
     
     
  • 14.68, PereresusNeVlezaetBuggy (ok), 09:53, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То, что сравнивать по популярности - глупо Установок винды больше, чем Debian, ... текст свёрнут, показать
     
     
  • 15.69, Аноним (-), 11:09, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Миллионы мух действительно не ошибались,когда выбирали windows как ос для дескто... большой текст свёрнут, показать
     
     
  • 16.70, PereresusNeVlezaetBuggy (ok), 11:41, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы, похоже, как и многие, зациклились на виртуализации, причём именно x86-виртуа... большой текст свёрнут, показать
     
     
  • 17.71, Аноним (-), 19:00, 10/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Увы да Потому,что виртуализация представленная в линукс-наиболее приемлемая для ... большой текст свёрнут, показать
     
  • 8.43, Sergey722 (ok), 09:40, 08/05/2013 [ответить]  
  • +/
    А я вот например понял, что Вам очень хочется до копаться до кого-то и самоутв... текст свёрнут, показать
     
     
  • 9.48, Brain (??), 12:16, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Юридический подход в судах, не ... текст свёрнут, показать
     
  • 9.49, PereresusNeVlezaetBuggy (ok), 12:20, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Просто меня раздражает намеренное использование некорректной аргументации, а осо... текст свёрнут, показать
     

  • 1.28, Аноним (-), 00:36, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очередная игрушка бумагоукладчиков - сертификаторов.
     
     
  • 2.37, _yurkis__ (?), 02:09, 08/05/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Мусье не приемлет статических анализаторов кода и качество оного безошибочно (с точностью до 0,00001) чувчтвует жопой?
     

  • 1.41, Главные Редакторы (?), 08:38, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если так просто найти все ошибки, то почему их все до сих пор не исправили?
     
  • 1.42, Антоним (?), 09:35, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что открытый код не может быть проприетарным? И кто пишет открытый код? Те же, кто пишет проприетарный
     
     
  • 2.78, Michael Shigorin (ok), 04:08, 15/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Что открытый код не может быть проприетарным? И кто пишет открытый код?
    > Те же, кто пишет проприетарный

    открытый != свободный

     

  • 1.44, robux (ok), 10:26, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересные исследования.
    В целом, как я понял открытые проекты по качеству делают закрытые до 1 млн. строк. Это вроде логично, так как на добровольных основах трудно объять необъятное. Но!

    Но практика использования ядра Linux и ядра Windows (а это явно больше 1 млн. строк кода) показывает, что линукс-то сука понадёжнее будет.

    Так что все эти исследования - продвижение крупных пропритарщиков, толкающих своё закрытое УГ с зондами от ЦРУ. А также это война против мелких проприетарщиков, которые отказываются внедрять зонды и только мешаются под ногами у спецслужб.

     
  • 1.55, Аноним (-), 17:25, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Любопытно было бы взглянуть на географическое распределение результатов ;) Типа США - 0.31/1000, Индия - ...
     
  • 1.60, Аноним (-), 22:58, 08/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дайте Нам Вашу программу! Мы ею отсканируем свои "исходники" и, может быть, дадим Вам "наши правильные результаты" Ж-)
     
  • 1.62, Игрулькин (?), 14:42, 09/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я хоть и прогер, но всё равно не въехал в суть "ошибок". Что такое "Проблемы с порядком вычислений"? Сложил раньше, чем умножил? Записал данные, но забыл открыть файл? Не ясно. Кроме того, громадное количество ошибок просто в принципе не отлавливаемы - ошибки алгоритма. Именно о них спотыкается конечный юзер. А всякие "ссылки через NULL" - это так, детские болезни заплесневелых си-сипипей. Давно уже пора на Ди переходить, там такой маразм не водится.
     
  • 1.75, Андрей Карпов (?), 18:18, 12/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочу тоже вставить пару слов, так как тема мне близка.

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

    Теперь по поводу отчета. Мне такой формат не нравятся. Совершенно не понятно, что найдено. Одно дело найти настоящую ошибку, а совсем другое потенциальную ошибку. Потенциальных ошибок везде много, но они не приводят к проблемам. По крайне мере в конкретной этой программе. Но зато, их хорошо для количества учитывать в отчетах. :) Мол, если эту программу отрефакторить, и совпадут такие-то условия, то будет беда. Поэтому ругаемся на код. В общем, нет лжи большей, чем статистика. :)

    Мне мои отчеты гораздо больше нравятся. Чисел в них нет. Правда из-за этого они скромные получаются. Но что делать. Зато по существу. Вот мои наработки по поводу open-source: http://www.viva64.com/ru/b/0193/

    Или сразу базу ошибок можно посмотреть: http://www.viva64.com/ru/examples/

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру