Comments 28
Спасибо за статью, удачи с проектом! Как выпустите — напишите сюда еще пост — программистам нужны такие инструменты, особенно бесплатные.
Вопрос на засыпку? Этот самый хваленый анализатор можно просто на папку с сырцами натравить или же на makefile или он гвоздями к студии прибит?
ЗЫ
Юзаю scanbuild, входящий в состав clang'а
ЗЫ
Юзаю scanbuild, входящий в состав clang'а
Просто так натравить невозможно. Мы должны знать пути до библиотек. Должны знать, где лежит компилятор Visual C++, чтобы воспользоваться его препроцессором. К сожалению, мы все никак не можем перейти на препроцессор из библиотеки boost, так как он имеет как минимум одну критических для нас ошибку. Еще мы должны знать препроцессорные директивы. Для всего этого нам и нужен проект Visual Studio.
Для тек у кого проекта нет в принципе, пока существует только сложный путь вида: "Использование PVS-Studio из командной строки".
Промежуточный вариант по сложности — можно создать простенький проект. Не обязательно, чтобы он компилировался. Он должен только смочь пройти препроцессинг.
Для тек у кого проекта нет в принципе, пока существует только сложный путь вида: "Использование PVS-Studio из командной строки".
Промежуточный вариант по сложности — можно создать простенький проект. Не обязательно, чтобы он компилировался. Он должен только смочь пройти препроцессинг.
Хорошо, вот я могу сгенерить makefile для nmake'а. Его то можно подцепить?
Хотя впрочем я то могу и для студии проект сгенерить. Вообще cmake рулит.
Но разве у вас нет желания другие компиляторы поддерживать?
Хотя впрочем я то могу и для студии проект сгенерить. Вообще cmake рулит.
Но разве у вас нет желания другие компиляторы поддерживать?
У нас много желаний, но мало ресурсов.
Если сгенерируете и пришлете проект для qutim, то попробую его пощупать.
Если сгенерируете и пришлете проект для qutim, то попробую его пощупать.
У меня есть, но он стопроцентов поломается при копировании: пути там абсолютные прописаны. Поэтому я могу лишь полный пакет сырцов залить, ссылку на cmake и краткую инструкцию по сборке. :)
Ну может обойдется — положу все туда, куда нужно. Или заменю пути в файле проекта. В общм пришлите, а я посмотрю, что там.
И вообще, посмотрите на работу утилиты scanbuild из состава clang, которая вообще может любым компилятором пользоваться и любой средой сборки.
Второй вопрос. Как у нас дела обстоят с динамическим анализом кода, то бишь с поиском ошибок в коде путем анализа работы приложения?
У меня вопрос. Вы осуществляете синтаксический разбор кода и строите AST для анализа? Если не секрет, конечно.
<сарказм> Нет, мы методом Монте-карло разыгрываем наугад диагностические сообщения и номера строк в файлах. </сарказм>
Конечно же строим. Если есть вопросы — расскажем как, почему и зачем.
Конечно же строим. Если есть вопросы — расскажем как, почему и зачем.
Если быть точнее, мы строим не AST, а дерево разбора. То есть не выбрасываем некоторые лишние узлы, которые для нас совсем не лишние. Они помогают выполнять ряд специфических проверок. После построения дерева ходим по нему и собираем различные данные, выполняем проверки.
а для других языков будет что-нибудь?
Сформировали письмо с результатами тестирования для команды WinMerge? :)
а вы авторам об ошибках сообщили?
и сделайте плагин для intellij idea
и сделайте плагин для intellij idea
К стати не делать ошибки на этапе кодирования помогает стиль кода, например вставлять в сравнения lvalue справа и тому подобное.
А анализатор кода хорошо бы иметь в IDE. NB, которым я пользуюсь, иногда пишет замечания и изредка за ними стоят ошибки или опечатки.
А анализатор кода хорошо бы иметь в IDE. NB, которым я пользуюсь, иногда пишет замечания и изредка за ними стоят ошибки или опечатки.
для java существует похожий проект: FindBugs, есть в виде плагина к Eclipse.
Статический анализ хорош :-)
Для C# сделаете? ;)
Для C# сделаете? ;)
Sign up to leave a comment.
Статический анализ исходного кода на примере WinMerge