2.6 ACI debugging technique
This paragraph could be misunderstood for a joke. On the contrary it is serious and I
invite the reader not to underestimate the power of this technique with a funny name. ACI is the
acronym of Automobile Club d'Italia, an Italian organization that helps with car troubles. If a car
gets stuck while driving on the motorway, all the driver has to do is to call ACI and a helpful
mechanic will quickly come to drag him out of troubles. What does all this have to do with a
debugging technique?
When a programmer is in big troubles, and does not really see a way out, he should
remember the following golden rule: the best way to learn something is to teach it. This very
simple principle is the key of the ACI technique. In ACI debugging the programmer must find a
bystander and explain to him how the code works. Believe it or not, it is a successful technique,
because calling a "mechanic" and illustrating the problem to him forces the programmer to
rethink his assumptions and explain what it is really happening inside his code. Finally this
technique may be employed as a form of peer review.