Как стать автором
Обновить

Комментарии 26

Призывается Andrey2008 для тестирования инструмента для тестирования :-) (извините за рекурсию)

Это пока не рекурсия, а каламбур. Рекурсией станет в тот момент, когда PVS Studio станет опенсорсом и эти два инструмента начнут тестировать друг друга.

Первая попытка впечатляет :)
Начинания похвальные, но этим ребятам не помешало бы проанализировать собственный код.
Двойное приведение к float в этой строке явно избыточно:
int percentCompleted = (int)((float)totalFilesReviewed / (float)_appProfile.MetaData.TotalFiles * 100);
Ну и очепятки в ресурсах.

Наконец-то дождался вывода — он довольно подробный, попробую разобраться.
«processededd» это скорее всего недоочистка терминала при укорачивании строки.

Здесь и так и так приведение к float, просто во втором случае можно опустить из-за неявного приведения. Это стилистическая вещь, по аналогии с использованием var, ничего серьезного.

А если его самого собой?
74 тега с предупреждениями :)
Нет, меньше. В анализ попал файл предыдущего анализа другого проекта.
43 предупреждения по проекту самого анализатора. Возможно, что часть предупреждения появляется из-за того, что сам код анализатора содержит наборы подозрительных кусков кода (правила), но могу ошибаться.
Это было бы интересно. Взаимный анализ исходников самих анализаторов + сравнительный анализ обоих инструментов на одном проекте.
Проверил при помощи PVS-Studio. Ничего интересного не нашлось. Это объяснимо, так как проект очень маленький: 5 непустых КLOC в 44 файлах cs. В общем, пока что искать там нечего.
Тестирования чего? PVS Studio и этот анализатор созданы для разных целей и выполняют разные функции, причём последний не предназначен для нахождения потенциальных уязвимостей или ошибок в коде.

В 2020 бы заниматься разработкой поиска уязвимостей по регулярным выражениям…
Еще в 2012 году такое было.

Приложение для анализа исходного кода на каком языке? C#? Все .net языки? Все языки мира?

Либо C# не завезли, либо я что-то не то делаю:


Analyze command running
100% source files processed
Preparing report
No pattern matches were detected for files in source path```
При этом NodeJS-проект проанализировало.
не вижу pascal и kotlin
Ого — там не только .NET языки
Основной целью Application Inspector является систематическая и масштабируемая идентификация функций исходного кода, которых нет в других типичных статических анализаторах.
Т.е. другие анализаторы это делают не систематически и не масштабируемо?
А другие анализаторы говорят вам какие функции выполняет код? Например, что в каком-то проекте используется доступ к базам данных, криптография, работа с файлами etc?

Компания Positive Technologies уже давно разрабатывает продукт для выявления уязвимостей и ошибок в приложениях PT Application Inspector. Интересно, в Micorosft перед окончательным именованием искали продукты с аналогичными названиями?

… кросс-платформенный опенсорсный (!) инструмент...
Доброе утро, Майкрософт уже лет шесть-восемь как выпускает кросс-платформенные опенсорсные инструменты.
Ну я бы так не сказал… всё-таки более менее регулярно кросс-платформенные опенсорсные инструменты мелкомягкие стали выпускать всего пару лет назад — ну как началась эпопея с .NET Core и вышла версия 2.0
Соглсен, но всё-таки в 2012 это было лишь начало пути.
.NET Foundation стараниями Микрософта так и не стал кросс-платформенным
Поэтому именно со времён анонсирования проекта .NET Core Микрософт стал активно развивать и опенс сорс и кросс (не только в рамках .NET Core, просто видимо в это время топ менеджеры окончательно утвердили данный курс вообще в разных областях)
Вы перепутали .NET Foundation (благотворительный фонд развития открытого ПО) и .NET Framework (среда исполнения программ).
НЛО прилетело и опубликовало эту надпись здесь
This report represents the analysis results for the specified source code. It contains features identified from a large variety of common characteristics including security and privacy characteristics, and other attributes to answer the question 'What is in the code?'.

Интересные идея и тула. Может помочь при ревью кода нового проекта. Это не замена SAST-решению, а скорее инструмент аудитору для быстрого понимания из чего (каких функциональных блоков) состоит проект.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации