debugging

5 статей

Назад ко всем статьям

Ваш трекер ошибок знает, где всё упало. Это не поможет вам воспроизвести баг.

Стектрейсы говорят, где произошёл краш, а не что его вызвало. Вот паттерн захвата и воспроизведения, который превращает продакшен-краши в локальные тест-кейсы, которые можно реально отладить.

Корреляции крашей лгут. Вот как заставить их указывать на реальный баг.

Statistical debugging находит predicates, коррелированные с крашами, но корреляция — это не файл и номер строки. Вот как ранжировать, фильтровать и триангулировать свой путь от корреляционного score к реальному месту бага.

Statistical debugging должен был покончить с отладкой через printf. Большинство команд так и не заставило его работать.

Statistical debugging обещал точно находить баги, коррелируя поведение программы с отказами. Вот почему эта идея так и не перешла из научных статей в продакшен-системы.

Как убить выжившего мутанта, когда вы не понимаете, что он изменил

Мутационное тестирование нашло выжившего, и вы понятия не имеете, что делает мутация. Вот пошаговый метод написания правильного теста без предварительного понимания мутанта.