Вопрос

Мы планируем использовать Sprint в качестве анализатора кода для нашей базы C кода. Но мы никогда не пробовали Splint Tool раньше, чтобы мы хотим, чтобы ваш вклад его беседы, плюсы и минусы.

Это было полезно?

Решение

Читать этот блог пост а также эти слайды Для быстрого обзора того, что он может сделать для вас.

Другие советы

Инструменты Lint полезны для поиска общих проблем и ошибок, которые обзоры кода имеют тенденцию пропустить. Мое мнение состоит в том, что вам нечего терять при выполнении статического анализа кода. Единственная сторона внизу состоит в том, что вы можете получить много ложных позитивов или предупреждений, которые могут быть неважными (т.е. рекомендация в стиле кодирования). Вы просто должны разработать хорошие навыки фильтрации. Статические анализаторы могут также не засчитать все, но эй, это лучше, чем ничего.

Вот белая бумага от института SAN, которые могут заинтересовать вас:http://www.sans.org/reading_room/whitepapers/securecode/secure-software-development-code-analysiS-tools_389.

Шина Excels при создании вашего кода более идиоматически (и, следовательно, проще читать, для различных компиляторов для анализа, более портативных и проще для рефакторов). Splint может найти тонкие ошибки, такие как неявные отливки между Ints и floats. Splint отслеживает утечки памяти и другие уязвимости безопасности.

Попытайся: splint hello.c.

Как предложил Вафлеман, предложил статические анализаторы, производит много ложных сигналов тревоги. Я нашел, чтобы помешать дать лучшие тревоги, чем воробей. Это два, которые мы используем для статического анализа.

Пример типичной ложной тревоги и хорошей тревоги:

bar (char **output) 
{
  *output = malloc(100);
}
foo()
{
  char *output=NULL;
  bar(&output)   
}

В функциональной панели он сообщил бы утечку памяти для вывода указателя. В функции Foo он сообщает NULLEFERELEMENT, когда вызывается функциональная панель. Но тем не менее его выбор между нахождением настоящей тревоги между 100сами ложных аварийных сигналов.

Таким образом, мы можем найти утечки памяти, которые можно пропустить во время отзывов кода. Предотвращение лицензии дорого, и после того, как сигнал тревоги помечен FALSE, он не появляется в последующем анализе. Следовательно, вы должны найти, если шин делает то же самое.

Инструмент ищет шаблон, который мог бы быть ошибками. Преимущество состоит в том, что инструмент может найти скрытые ошибки и недостаток в том, что он может найти целую кучу на ложных срабатывании.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top