Acm algorithmic debugging dissertation distinguished program