Мой коллега Сергей Васильев продолжает делать мир открытых программ немного лучше. Если кто-то хочет пообщаться с ним лично, то приглашаю на конференцию Юкон-2016, где Сергей выступит с докладом «Теория и практика использования статического анализа кода». Желающие смогут с ним пообщаться вживую и задать животрепещущие вопросы.
В этот раз Сергей проверил с помощью анализатора PVS-Studio проект Mono. Это проект по созданию полноценного воплощения системы .NET Framework. Реализации Mono существуют для следующих операционных систем: Windows, Linux, Solaris, FreeBSD и так далее. Думаю, не все знают, что Mono написан на языке C#. Это несколько необычно для Linux-мира.
Исходный код Mono доступен для загрузки в репозитории на GitHub. Количество строк кода при проверке загруженного с GitHub репозитория составило около 6.3 миллионов (исключая пустые строки). Соответственно и ошибок в такой огромной кодовой базе превеликое множество. Проверив кое-как проект (почему, станет ясно из статьи), Сергей насчитал 167 ошибок, о которых и рассказал.
Приглашаю всех желающих ознакомиться с длинной статьёй. Из неё станет понятно, что C# не сильно безопасней C++ и позволяет делать все те же опечатки и ляпы. И конечно, статья должна в очередной раз продемонстрировать, какую пользу может приносить статический анализа кода. Например, предлагаю всем скачать и попробовать PVS-Studio для проверки своих C# проектов (ну или C, C++).
С уважением, Андрей Карпов. И не забываем подписывать девушек и жён на наш инстаграм pvsstudio. Пусть к программированию приобщаются.
Статья: ищем ошибки в Mono: сотни их...
Перемещено Aceler из opensource