Causes and Effects in Computer Programs
<|reference_start|>Causes and Effects in Computer Programs: 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.<|reference_end|>
@article{zeller2003causes,
    title={Causes and Effects in Computer Programs},
    author={Andreas Zeller},
    journal={arXiv preprint arXiv:cs/0309047},
    year={2003},
    archivePrefix={arXiv},
    eprint={cs/0309047},
    primaryClass={cs.SE}
}