The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..."
Отправлено opennews, 14-Дек-17 13:42 
Компания СиПроВер опубликовала (https://www.viva64.com/ru/b/0542/) результаты сравнения качества кода СУБД Firebird, MySQL и PostgreSQL, проведённого по результатам проверки при помощи  продукта PVS-Studio (http://www.viva64.com/ru/pvs-studio/), позволяющего выявить ошибки, дефекты и потенциальные уязвимости на основе статического анализа кода.


Если рассматривать все выданные анализатором предупреждения, то результат проверки выглядит следующим образом:


СУБД


Высокий уровень достоверности предупреждений


Средний уровень достоверности


Низкий уровень достоверности


Всего


Firebird


156


680


1045


1881


MySQL


902


1448


2925


5275


PostgreSQL


611


1432


1576


3619

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

При рассмотрении числа предупреждений по отношению к количеству строк кода, Firebird и PostgreSQL показали примерно одинаковые результаты (у PostgreSQL много предупреждений в автосгенерированном коде). В  MySQL число предупреждений немного выше, но не существенно. Другая ситуация наблюдается при попытке ручной проверки типовых предупреждений. Например, MySQL  присвоено 3 штрафных балла за
проблемы затирания приватных данных, 1 штрафной балл за отсутствие проверки валидности указателя, возвращаемого malloc, 3 штрафных балла за использование потенциально нулевого указателя, 2 балла за подозрительное использование элементов перечислений, 2 балла за неверное вычисление размера блока памяти и 2 балла за пропущенное ключевое слово throw.


В свою очередь, PostgreSQL получил лишь 3  штрафных балла за использование потенциально нулевого указателя, а  Firebird получил 1 штрафной балл за подозрительное использование элементов перечислений, 2 балла за вызов неверного оператора освобождения памяти и 1  балл за использование потенциально нулевого указателя. В итоге, меньше всего штрафных баллов получил PostgreSQL - 3, на втором месте Firebird - 4 и худший результат показал MySQL - 13 штрафных баллов.


С учётом того, что в PostgreSQL выявлено достаточно много предупреждений в автосгенерированном коде, а отрыв в один бал от Firebird вызван проблемой среднего уровня достоверности, решено поделить первое место между PostgreSQL и Firebird.

URL: https://www.viva64.com/ru/b/0542/
Новость: http://www.opennet.ru/opennews/art.shtml?num=47740

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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