Causes and Effects in Computer Programs

Andreas Zeller
DOI: https://doi.org/10.48550/arXiv.cs/0309047
2003-09-24
Abstract:Debugging is commonly understood as finding and fixing the cause of a problem. But what does ``cause'' mean? How can we find causes? How can we prove that a cause is a cause--or even ``the'' cause? This paper defines common terms in debugging, highlights the principal techniques, their capabilities and limitations.
Software Engineering
What problem does this paper attempt to address?