Automated Statistical Debugging using Path Profiles
Holmes is a statistical tool for automatically root causing failures from code coverage data. Holmes is particularly suited for a scenario where the application has a large test suite and the cause of the failing tests needs to be found. Holmes uses statistical analysis of coverage data to identify program features (blocks, arcs or paths) that strongly correlate with failure. The analysis is designed to detect and eliminate features that just happen to correlate with failure but are not the cause (such as error handling code). The final result of the analysis is a set of bug predictors, features that are likely to be the cause of failures.
Collaborators
-
Trishul Chilimbi (MSR Redmond)
-
Ben Liblit (Wisconsin)
-
Aditya Nori (MSR India)
- Trishul Chilimbi, Ben Liblit, Krishna Mehra, Aditya V. Nori, and Kapil Vaswani, Holmes: Effective Statistical Debugging via Efficient Path Profiling, in Proceedings of the International Conference on Software Engineering (ICSE), May 2009
- Trishul Chilimbi, Ben Liblit, Krishna Mehra, Aditya Nori, and Kapil Vaswani, Holmes: Effective Statistical Debugging via Efficient Path Profiling, no. MSR-TR-2008-131, August 2008
- Kapil Vaswani, Aditya Nori, and Trishul Chilimbi, Preferential Path Profiling: Compactly Numbering Interesting Paths, in Proceedings of the Symposium on Principles of Programming Languages (POPL), January 2007
Download
Holmes Beta 1.0 is now available for download! Click the following links for the download.
x86 | x64
*The download is available under a non-commercial license.
News
- Holmes is being demoed at PDC 09! Check http://microsoftpdc.com for details.
- Follow the Holmes blog on http://blogs.msdn.com/holmes, comment about Holmes and give us your feedback.



