Ми знайшли 10000 помилок в різних відкритих проектах

Так, 10000 помилок!З метою популяризації методології статичного аналізу в цілому і аналізатора PVS-Studio зокрема ми регулярно перевіряємо різні відкриті проекти. Знайдені в них баги відмінно демонструють, що ніхто не застрахований від помилок, неуважність та інших помилок. Саме ніхто, і підтвердження тому ми знаходимо в таких проектах, як Microsoft Code Contracts, Qt, ядро Linux, CryEngine, VirtualBox, LibreOffice, Firefox, Boost, Tor і так далі. На даний момент нами перевірено 262 проекту. І ось сталося, ми знайшли і виписали в базу 10000 багів.

Як правило, коли ми знаходимо в проекті достатня кількість помилок, ми пишемо про це статтю. Зі списком цих статей можна познайомитися тут. Якщо ж знаходиться всього кілька помилок, ми просто повідомляємо про них розробникам проекту і продовжуємо займатися іншими справами.

Звичайно, 10000 помилок на 262 проекту – це не багато. Виходить, що в середньому ми знайшли 38 помилок у проекті. Варто відзначити, що насправді це число нічого не значить. Розмір і якість проектів буває дуже різним. Наприклад, де-то ми знаходимо тільки одну помилку, а де-то їх сотні.

Ще важливо відзначити, що для популяризації статичного аналізу і PVS-Studio нам не потрібно знайти як можна більше помилок. Нам потрібно знайти кількість помилок, достатню для написання статті. Тому ми завжди пропонуємо авторам проектів перевірити їх код більш ретельно. Та й взагалі, разові перевірки проекту добре використовувати для демонстрації можливостей аналізатора, але користі від них мало. Весь сенс статичного аналізу в його регулярному використанні. Тоді багато помилок можна виявляти ще на етапі написання коду, а не через 50 годин налагодження або після скарг користувачів.

Прийшов час дати посилання на зібрані помилки:

База помилок, виявлених в Open Source проектах

Ця база може стати унікальним матеріалом для роздумів про розробку стандартів кодування, написання статей про правила програмування, і допомогти в інших дослідженнях, пов'язаних з підвищенням надійності програмного забезпечення. Приклад: "The Last Line Effect". Бажаємо цікавих досліджень.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.