6 stages of debugging