Когда я запускаю инструмент статического анализа над моим кодовым, и я получаю результаты, как это:Работы с движением коды при сравнении статического анализа отчетов
...
arch/powerpc/kernel/time.c:102:5: warning: symbol 'decrementer_max' was not declared. Should it be static?
arch/powerpc/kernel/time.c:138:1: warning: symbol 'rtc_lock' was not declared. Should it be static?
arch/powerpc/kernel/time.c:361:37: warning: implicit cast to nocast type
...
Я хочу, чтобы следить за количество предупреждений и где они находятся в коде, когда люди вносят изменения.
Я мог бы просто diff
результаты статического анализа, но если кто-то вставляет какой-то код в time.c
в строке 50, предупреждения, указанные выше, будут перемещаться, а поскольку номера строк изменены, diff скажет мне, изменилось.
Как мне сравнить их так, чтобы они касались перемещения кода внутри файла?
Googling для «умных различий» и т. Д. Не был продуктивным: они в основном умные различия кода, а не умные различия в журналах. Инструменты анализа журналов, такие как Greylog или Kibana, также кажутся плохими, разработаны больше для разного и более общего анализа, а не для этой довольно конкретной задачи.
Есть ли что-то очевидное, что мне не хватает? Или это проблема, когда я должен ожидать, что буду писать собственные инструменты?
Чтобы иметь «умный дифференциал», он должен понимать структуру сообщений, так что можно сравнить различные части структуры разумно. Кто собирается создать такой инструмент для каждого отдельного инструмента статического анализа? –
Из раздела [help/on-topic]: * Вопросы, предлагающие нам ** рекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебник или другой ресурс вне сайта, не относятся к теме ** для переполнения стека, поскольку они, как правило, привлекают самоуверенные ответы и спам. * –
Ира и Кен - я отредактировал вопрос, чтобы уточнить. – dja