The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Результаты анализа системой Coverity безопасности и качества..., opennews (??), 25-Фев-12, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


59. "Результаты анализа системой Coverity безопасности и качества..."  +/
Сообщение от жабабыдлокодер (ok), 25-Фев-12, 21:43 
Положим, студентов никто и не допускает ни до ядра и до СУБД. Там есть специальные люди, которые решают, внести патч или нет. И все патчи проходят контроль - хотя бы на отсутствие закладок. Нет, раз ни авторы, ни те, кто в продукт включал код, не нашли ошибок, значит они крайне неочевидны.
Проблема гораздо глубже.
С появился, как ответ на определенную ситуацию, в точности также, как позднее и С++. Все новые и новые языки придумывают не просто так: многих системных архитекторов уже не устраивают возможности этих языков. Но из-за огромной массы уже написанного и отлаженного кода перейти на D или что-то иное тоже невозможно...
Я думаю, что  разработчикам С/С++ компиляторов нужно делать больший упор на анализ, чтобы такие ошибки можно было отлавливать если не прямо в IDE, то хотя бы на этапе компиляции.
Ответить | Правка | Наверх | Cообщить модератору

61. "Результаты анализа системой Coverity безопасности и качества..."  +/
Сообщение от Аноним (-), 25-Фев-12, 22:24 
> Нет, раз ни авторы, ни те, кто в продукт включал код, не нашли ошибок, значит они крайне неочевидны.

По собственному опыту могу сказать, что в большинстве случаев, т.н. "ревью" кода
другим человеком, не выявляет большинство ошибок в работе этого кода.
(кроме элементарных случаев, типа проверки на NULL).
Т.к. для того, чтобы проверить чужой код от и до, ревьюер должен полностью понять,
что этот код должен делать и как он работает на самом деле. Зачастую, на это нужно еще
больше времени, чем ушло на написание кода у автора. А время, как известно - деньги.
Так что чаще всего, ревьюинг как раз проверками на NULL и ограничивается.

> Я думаю, что  разработчикам С/С++ компиляторов нужно делать больший упор на анализ, чтобы такие ошибки можно было отлавливать если не прямо в IDE, то хотя бы на этапе компиляции.

Согласен. И попытки это сделать уже предпринимаются: например LLVM, уже может сам расставлять
retain/release для Objective-C кода, и показывать прочие чудеса анализа.
И такие проекты как Coverity должны помочь.

Ответить | Правка | Наверх | Cообщить модератору

196. "Результаты анализа системой Coverity безопасности и качества..."  +/
Сообщение от anonymous vulgaris (?), 27-Фев-12, 06:18 
> С появился, как ответ на определенную ситуацию,

Си появился поскольку у авторов было желание запустить убогий простаивающий в углу никому не нужный комп. Лучше бы оно потратили время на выбивание у начальства денег на мейнфрейм с нормальными языками от IBM.

>в точности также, как позднее и С++.

Конечно же совсем не так.

> Я думаю, что  разработчикам С/С++ компиляторов нужно делать больший упор на  анализ, чтобы такие ошибки можно было отлавливать если не прямо в IDE, то хотя бы на этапе компиляции.

Системам статического анализа 100 лет. Посмотрите lint например. Lint first appeared (outside of Bell Labs) in the seventh version (V7) of the Unix operating system in 1979.  Не помогает.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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