Software reliability is heavily impacted by soft- ware changes. How do these changes relate to each other? By analyzing the impacted method definitions and usages, we determine dependencies between changes, resulting in a change genealogy that captures how earlier changes enable and cause later ones. Model checking this genealogy reveals temporal process patterns that encode key features of the software process such as pending development activities: “Whenever class A is changed, its test case is later updated as well.” Such patterns can be validated automatically: In an evaluation of four open source histories, our prototype would recommend pending activities with a precision of 60–72%.
Reference
BibTeX Entry
@inproceedings{herzig-issre-2011,
title = {Mining Cause-Effect-Chains from Version Histories},
author={Kim Herzig and Andreas Zeller},
year = {2011},
month = {November},
booktitle={Proceedings of the 22nd International Symposium on Software Reliability Engineering}
}

