Главная » Разработка для Android » Ограничения, связанные со статическим анализом – ECLIPSE

0

 

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

Одной из наиболее слабых сторон статических анализаторов является поиск кода, в котором не соблюдаются соглашения по написанию кода (coding conventions). Например, предупреждение Class names should start with an upper case letter (Имена классов всегда должны начинаться с заглавной буквы), показанное на рис. 5.15, спровоцировано автоматически сгенерированным кодом, который программист вообще не проверяет – за исключением случаев, когда подозревается ошибка в самом генераторе кода.

Многие опытные программисты зачастую скептически относятся к статическим анализаторам, поскольку в создаваемом ими коде содержится относительно мало проблем, которые такой анализатор способен идентифицировать. Поэтому анализ дает лишь множество ложноположительных результатов. Общеизвестно, что при статическом анализе кода, написанного опытным программистом, удается найти лишь часть багов. Следовательно, статический анализ не заменяет модульного тестирования и хороших навыков проведения отладки. Однако если вы относительно недолго работаете с Java, а также с Android, то статические анализаторы будут для вас значительным подспорьем, наряду с теми предупреждениями, кото-рые выдает компилятор.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

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