Simian is a UI-level testing tool for collaborative web applications. It has found numerous bugs in Google Docs and similar systems. The implementation has been artifact-evaluated for PLDI'17.
FuzzDroid helps analyzing malicious Android apps by generating an execution environment that exposes malicious behavior not obvious when running, e.g., in the Android emulator.
ConTeGe, SpeedGun, and CovCon
ConTeGe (short for Concurrent Test Generator) is a framework for generating sequential and concurrent unit tests. It is a research platform to build tools for finding correctness and performance problems in sequential and concurrent Java classes. In particular, ConTeGe has detected various bugs in widely used thread-safe classes, e.g., classes in the JDK.
ArgumentAnalyzer detects incorrect or confusing method arguments by comparing identifier names of arguments and parameters with each other. The basic idea is simply but very effective. Our work has inspired Google to include argument analysis into their Error Prone code checker for Java.
MemoizeIt is a performance profiler to detects methods that would benefit from software caching (or memoization). The implementation has been artifact-evaluated at OOPSLA'15.
EventBreak and WebAppWalker
EventBreak is a UI-level testing tool for web applications that detects situations where a web site becomes unresponsive. EventBreak is implemented within WebAppWalker, a general framework for UI-level testing of web applications.
API Protocol Mining
Our work on API protocol mining resulted in 223 mined specification for the Java standard library and 32 manually specified reference specifications.