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.