Существует ли библиотека статического анализа CIL, такая как ASM for Java Bytecode?
Я ищу библиотеку для пользовательского статического анализа кода на CIL-коде. ЧИТАЙТЕ: я не заинтересован в инструменте, который уже делает статический анализ как показанные здесь.
Для пользовательского анализа с помощью Java Bytecodes я использовал ASM, и мне нравятся предлагаемые им функции и хорошая документация. Быстрый поиск в Google по запросу "Библиотека статического анализа CIL" не дает ничего похожего на функции ASM.
3 ответа
Mono.Cecil - лучшая библиотека для анализа CIL. Это бесплатно, с открытым исходным кодом, полный, легкий, надежный и быстрый. В дополнение к чтению CIL, это может также написать CIL. Он также поддерживает файлы PDB.
Многие инструменты статического анализа годами полагаются на Сесила.
Самая близкая вещь, которую я нашел, - это утилита Microsoft FxCop. (Автономная ссылка для скачивания здесь, 1,36, похоже, исчезла, но кто - то повторно загрузил ее в свой Dropbox на другой вопрос SO)
Это, конечно, не так уж близко к инструментам статического анализа C/C++, но, опять же, C# - это управляемый язык, в котором многие распространенные ошибки, которые проверяют инструменты статического анализа, невозможны.
Кроме того, в Википедии есть небольшой список инструментов статического анализа для.NET, который, возможно, стоит посмотреть.