Обмеження, пов’язані зі статичним аналізом – ECLIPSE

&nbsp

Статичні аналізатори часто дають хибнопозитивні результати Це пояснюється тими методами, які застосовуються в таких програмах для знаходження вразливостей в коді У цьому відношенні результати статичного аналізу не схожі на попередження компілятора Якщо повідомлення компілятора кваліфікує ситуацію як помилку, то вона вважатиметься помилкою, хоча фактично така ситуація може не представляти жодної проблеми

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

Багато досвідчені програмісти часто скептично ставляться до статичних аналізаторах, оскільки в створюваному ними коді міститься відносно мало проблем, які такий аналізатор здатний ідентифікувати Тому аналіз дає лише безліч хибнопозитивних результатів Загальновідомо, що при статичному аналізі коду, написаного досвідченим програмістом, вдається знайти лише частину багів Отже, статичний аналіз не замінює модульного тестування і хороших навичок проведення налагодження Однак якщо ви відносно недовго працюєте з Java, а також з Android, то статичні аналізатори будуть для вас значним підмогою, поряд з тими попередженнями, кото-які видає компілятор

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*