Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от opennews (ok) on 14-Дек-17, 13:42 | ||
Компания СиПроВер опубликовала (https://www.viva64.com/ru/b/0542/) результаты сравнения качества кода СУБД Firebird, MySQL и PostgreSQL, проведённого по результатам проверки при помощи продукта PVS-Studio (http://www.viva64.com/ru/pvs-studio/), позволяющего выявить ошибки, дефекты и потенциальные уязвимости на основе статического анализа кода. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
1. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –9 +/– | |
Сообщение от Дуплик (ok) on 14-Дек-17, 13:42 | ||
Оно и понятно, MySQL та ещё дрянь. Не зря только KDE'шники её в составе своей DE тянут. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
13. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +2 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 14:17 | ||
О как, MySQL уже включили в состав KDE Applications! Закнчивай уже грибы жрать. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
61. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +6 +/– | |
Сообщение от виндотролль (ok) on 14-Дек-17, 18:01 | ||
MariaDB, но суть та же | ||
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору |
77. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +3 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 22:33 | ||
> MariaDB, но суть та же | ||
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору |
85. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +2 +/– | |
Сообщение от Аноним (??) on 15-Дек-17, 08:42 | ||
Глюкавенько работает. Раньше тоже юзал sqlite, сейчас переключился на mariadb. Они, кстати, честно предупреждают об этом у себя на сайте, типа "мы пыталися, но нишмогли". | ||
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору |
106. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от MBG on 15-Дек-17, 21:30 | ||
А в переписке девелоперы аконади говорили, что не пытались... и от помощи отказались, я предлагал. Два студента из Пакистана (если правильно помню) сделали проект и оно работает - уже молодцы, а вот кто решил это как есть тащить в КДЕ - успешные менеджеры, видимо. | ||
Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору |
27. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –13 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 15:12 | ||
Зачем эти люди тестировали MySQL, когда есть Percona? MySQL давно никому не нужен (разве что пацанам из PVS студио), MySQL мертв, его засосала корпоративная трясина. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
59. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –3 +/– | |
Сообщение от Fantomas (??) on 14-Дек-17, 17:45 | ||
В Постгре только сейчас появилась нормальная репликация и то только мастер-слейв. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
63. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +1 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 18:46 | ||
Юзаю потоковую репликацию уже х.з. мколько лет. | ||
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору |
72. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Вареник on 14-Дек-17, 21:22 | ||
"Только сейчас" появились полноценные конфигурации кластера. | ||
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору |
74. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 21:27 | ||
В постгрес нормальная репликация появилась давно, по сути в 8.0 уже был Warm standby. | ||
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору |
76. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –1 +/– | |
Сообщение от Андрей (??) on 14-Дек-17, 21:58 | ||
А толку от бажного функционала? | ||
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору |
2. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +5 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 13:44 | ||
> ...решено поделить первое место между PostgreSQL и Firebird. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
4. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –1 +/– | |
Сообщение от Andrey Mitrofanov on 14-Дек-17, 13:48 | ||
>> ...решено поделить первое место между PostgreSQL и Firebird. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
10. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +10 +/– | |
Сообщение от commiethebeastie (ok) on 14-Дек-17, 14:11 | ||
Сравнили firebird и postgres, у моего hello world`а еще меньше ошибок. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
15. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +11 +/– | |
Сообщение от A.Stahl (ok) on 14-Дек-17, 14:32 | ||
Так ведь цель не в сравнении, а в рекламе... | ||
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору |
35. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –2 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 15:54 | ||
> Сравнили firebird и postgres, у моего hello world`а еще меньше ошибок. | ||
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору |
49. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +1 +/– | |
Сообщение от commiethebeastie (ok) on 14-Дек-17, 16:44 | ||
Издеваетесь? В огнептице даже репликации нет. | ||
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору |
58. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от анон on 14-Дек-17, 17:30 | ||
действительно, такая мелочь и отсутствует. | ||
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору |
60. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –10 +/– | |
Сообщение от Аноним (??) on 14-Дек-17, 17:54 | ||
Как будто в постгресе есть нормальная репликация. | ||
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору |
73. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +2 +/– | |
Сообщение от Вареник on 14-Дек-17, 21:23 | ||
> Как будто в постгресе есть нормальная репликация. | ||
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору |
107. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Аноним (??) on 16-Дек-17, 18:47 | ||
> В огнептице даже репликации нет. | ||
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору |
48. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +9 +/– | |
Сообщение от anonymous (??) on 14-Дек-17, 16:43 | ||
Погонял на паре проектов. Ну что я могу сказать? Чуть получше clang-analyzer. Нашёл пару бесполезных условий, ну и кучу ложных срабатываний. Особенно не дружит с дефайнами и тем, что родил bison. Прога может и полезна, но ценник не радует совсем. Как-то слишком много за обычную утилиту. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
65. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 14-Дек-17, 19:24 | ||
Предлагаю ради спортивного интереса более подробно поговорить про ложные срабатывания. По практике общения знаю, что иногда выясняется, что некоторые "ложные" предупреждения совсем не ложные. Не будем брать макросы. С ними всё понятно и предупреждения в них отключаются специальными комментариями. Да, требуется определённая настройка анализатора. | ||
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору |
66. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +2 +/– | |
Сообщение от anonymous (??) on 14-Дек-17, 19:34 | ||
Я бы рад, но ключик уже того... И да, из спортивного интереса как-то несерьёзно для такого солидного проекта. | ||
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору |
67. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от anonymous (??) on 14-Дек-17, 19:47 | ||
Но чтобы не быть голословным, вот один пример ложного срабатывания, который мозолил глаза больше всего: | ||
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору |
70. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 14-Дек-17, 20:47 | ||
Отличать он функции умеет. Но есть ряд функций, с "волшебными" именами, которые анализатор интерпретирует независимо в каком классе или namespace они находятся. К ним относится и функции с именем "assert". По нашей статистике в 95% случав, эти функции прекращают выполнение программы. Это или просто синоним стандартного abort или какая-то функция, которая что-то делает (например, пишет в лог), а уже потом останавливает программу. А раз так, значит надо реагировать на любую функцию abort, как прекращающую выполнение. Лучше угодить 95% разработчикам, чем не угодить 5% разработчиков. Что делать, вот такой он статический анализ. | ||
Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору |
78. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +1 +/– | |
Сообщение от Ordu (ok) on 15-Дек-17, 01:22 | ||
А проверить любую функцию с именем abort на предмет того, не является ли она no-return, как abort? PVS-Studio ведь анализирует как-то control flow, почему бы не сделать шаг дальше, не нарисовать полный call-graph и не проверить нет ли там внутри безусловного вызова abort, или exit, или ещё чего-нибудь в этом роде. | ||
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору |
92. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 15-Дек-17, 09:42 | ||
Всё верно говорите. Анализатор по возможности заглядывает в функции и учитывает атрибуты no-return. Но без межмодульного анализа (он пока только в планах) не всегда возможно проследить цепочку вызовов и понять, закончится всё завершением программы или нет. Впрочем, и межмодульный анализ не всегда поможет, так как отслеживать цепочки сложно, особенно когда они ветвятся при разных условиях. На аннотации тоже особенно надеяться не приходится. Просто мало кто их пишет, поэтому отсутствие у функции атрибута no-return ничего не означает. | ||
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору |
99. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Ordu (ok) on 15-Дек-17, 17:51 | ||
Конкретно с этим случаем ведь не нужен никакой особый межмодульный анализ. Достаточно повесить атрибут на функцию. Это может сделать автор кода или статический анализатор. Причём последний может это делать даже не правкой сорцов, а правкой своей собственной базы тегов, которую можно хранить в формате типа расщиренного ctags/etags (единственное, что анализатор от этого станет двупроходным). Вероятно, можно и другие атрибуты хранить, типа non-null, для функции возвращающей гарантированно не нулевой указатель. Или что-нибудь о том, как функция обходится с переданными ей указателями -- может быть она на них free вызывает, или, скажем, сохраняет в какой-нибудь структуре данных со временем жизни большим, чем время жизни стекового фрейма этой функции. Или функция полагается на то, что переданные ей аргументы не нули. А может быть она функция хорошая, и пользуется указателями не создавая никаких экзистенциальных рисков. | ||
Ответить | Правка | ^ к родителю #92 | Наверх | Cообщить модератору |
101. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 15-Дек-17, 19:15 | ||
То, про что вы говорите, мы называем базой разметки функций. Про это я писал в статье "Как PVS-Studio ищет ошибки: методики и технологии": https://habrahabr.ru/company/pvs-studio/blog/319382/ (см. раздел Method annotations). Анализатор черпает информацию из этой базы, или пытается сам создать информацию о функции, изучив её тело, или берет некоторую информацию, основываясь на атрибутах функций, таких как __declspec() / __attribute__(()) / [[attribute]] и наконец, следуя особым комментариям пользователей (см. например. "Дополнительные возможности" в описании диагностики V576 https://www.viva64.com/ru/w/v576/ ). | ||
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору |
103. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –1 +/– | |
Сообщение от anonymous (??) on 15-Дек-17, 19:44 | ||
> А проверить любую функцию с именем abort на предмет того, не является ли она no-return, как abort? | ||
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору |
105. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Ordu (ok) on 15-Дек-17, 20:01 | ||
>> А проверить любую функцию с именем abort на предмет того, не является ли она no-return, как abort? | ||
Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору |
102. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от anonymous (??) on 15-Дек-17, 19:40 | ||
Это частный пример. Если для каждого ошибочного срабатывания набирать по 5%, то тогда ой. Как-то сложно пытаться потом вытащить из сотни ложных срабатываний реальные ошибки. И заметим, ценник на продукт весьма хорош. | ||
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору |
104. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 15-Дек-17, 19:47 | ||
Анализатор PVS-Studio часто требует настройки. Как и любой другой анализатор. После настройки количество ложных срабатываний становится низким и с ними можно точечно бороться комментариями или изменением кода. Пример: Характеристики анализатора PVS-Studio на примере EFL Core Libraries, 10-15% ложных срабатываний - https://www.viva64.com/ru/b/0523/ | ||
Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору |
71. "Голосование" | –7 +/– | |
Сообщение от Andrey_Karpov (ok) on 14-Дек-17, 20:50 | ||
Пользуясь случаем, приглашаю всех почитать статью "PVS-Studio 2018: CWE, Java, RPG, macOS, Keil, IAR, MISRA" и принять участие в голосовании: https://habrahabr.ru/company/pvs-studio/blog/344734/ | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
93. "Голосование" | +2 +/– | |
Сообщение от Аноним (??) on 15-Дек-17, 10:55 | ||
> Пользуясь случаем | ||
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору |
82. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +1 +/– | |
Сообщение от лютый жабист__ on 15-Дек-17, 05:24 | ||
По-моему надо было Монгу проверить, у неё рыночная доля 80%, а FireBird видел 1 раз в махровом недоынтырпрайзе. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
108. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Гоги on 16-Дек-17, 19:56 | ||
Монга - лютая хипстота, хайп из пука. Фиребирд - какой-никакой, а коммерческий движок стандартных реляционных СУБД. Так что нет, тестирование вполне адекватное с серьёзным перевесом FB. | ||
Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору |
83. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –2 +/– | |
Сообщение от Аноним (??) on 15-Дек-17, 07:18 | ||
sqlite не включили чтобы сильно не ползорить остальных? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
84. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от лютый жабист__ on 15-Дек-17, 07:59 | ||
>sqlite не включили чтобы сильно не ползорить остальных? | ||
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору |
109. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от пох on 17-Дек-17, 23:47 | ||
бгг... но на самом деле в sqlite половина кода - автогенеренная, там пользы от статического анализатора будет мало, а ложных срабатываний дофига. | ||
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору |
94. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karp0v on 15-Дек-17, 11:46 | ||
А что насчёт https://scan.coverity.com/ | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
98. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | –2 +/– | |
Сообщение от Andrey_Karpov (ok) on 15-Дек-17, 16:36 | ||
Хороший и очень дорогой инструмент. Впрочем, не так уж он и хорош. Иначе, не было бы статей, например, про проверку Clang (который проверяется с помощью Coverity): https://www.viva64.com/ru/b/0108/ , https://www.viva64.com/ru/b/0155/ , https://www.viva64.com/ru/b/0446/ | ||
Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору |
95. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +1 +/– | |
Сообщение от Аноним (??) on 15-Дек-17, 11:46 | ||
мне больше cppcheck нравится | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
96. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Casm (??) on 15-Дек-17, 12:03 | ||
Для достоверности не хватает анализа кода самого PVS-Studio | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
97. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Andrey_Karpov (ok) on 15-Дек-17, 16:33 | ||
Проверяем исходный код плагина PVS-Studio с помощью PVS-Studio - https://habrahabr.ru/company/pvs-studio/blog/279437/ | ||
Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору |
110. "Сравнение качества кода Firebird, MySQL и PostgreSQL в анали..." | +/– | |
Сообщение от Мирон on 18-Дек-17, 06:12 | ||
Всё хорошо, но Постгресс глубокая база. Там по - настоящему знать надо, чтобы толком писать. А на MySQL каждый выпускник тех вуза чет слепит, посчитает расходы ресурсов, и вроде про. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |