• Publications
  • Influence
Feedback-Directed Random Test Generation
Experimental results indicate that feedback-directed random test generation can outperform systematic and undirectedrandom test generation, in terms of coverage and error detection. Expand
The SLAM project: debugging system software via static analysis
This work has successfully applied the SLAM toolkit to Windows XP device drivers, to both validate behavior and find defects in their usage of kernel APIs. Expand
Efficient path profiling
  • T. Ball, J. Larus
  • Computer Science
  • Proceedings of the 29th Annual IEEE/ACM…
  • 2 December 1996
A new algorithm for path profiling is described, which selects and places profile instrumentation to minimize run-time overhead and identifies longer paths than a previous technique, which predicted paths from edge profiles. Expand
Use of relative code churn measures to predict system defect density
  • N. Nagappan, T. Ball
  • Computer Science
  • Proceedings. 27th International Conference on…
  • 15 May 2005
A technique for early prediction of system defect density using a set of relative code churn measures that relate the amount of churn to other variables such as component size and the temporal extent of churn, which shows that while absolute measures of code chum are poor predictors of defect density, these measures are highly predictive of defectdensity. Expand
Finding and Reproducing Heisenbugs in Concurrent Programs
For each bug, CHESS consistently reproduces an erroneous execution manifesting the bug, thereby making it significantly easier to debug the problem. Expand
Automatically validating temporal safety properties of interfaces
A process for validating temporal safety properties of software that uses a well-defined interface is presented, and it is found that the process converges on a set of predicates powerful enough to validate properties in just a few iterations. Expand
Mining metrics to predict component failures
Using principal component analysis on the code metrics, this work built regression models that accurately predict the likelihood of post-release defects for new entities and can be generalized to arbitrary projects. Expand
Exploiting hardware performance counters with flow and context sensitive profiling
This paper extends previous work on efficient path profiling to flow sensitive profiling, which associates hardware performance metrics with a path through a procedure, and describes a data structure, the calling context tree, that efficiently captures calling contexts for procedure-level measurements. Expand
Bebop: A Symbolic Model Checker for Boolean Programs
Bbop represents control flow explicitly, and sets of states implicitly using BDDs, and is able to model check boolean programs with several thousand lines of code, hundreds of procedures, and several thousand variables in a few minutes. Expand
Thorough static analysis of device drivers
The Static Driver Verifier tool (SDV) uses this engine to find kernel API usage errors in a driver, and discusses the techniques used in SDV to meet these requirements, and empirical results from running SDV on over one hundred Windows device drivers. Expand