Johnson. Understanding and Debugging Novice Programs. Elsevier BV, 1990, doi:10.1016/0004-3702(90)90094-g.