FastCheck takes a light-weight, pragmatic approach to error detection for C programs. Currently, the tool analyzes source-sink problems, where a program resource (e.g. heap block, file) produced at a source point (e.g. malloc, file open) is consumed at a sink point (e.g. free, file close), exactly once on each program path. The tool finds and reports:
- resource leaks (e.g., memory leaks, files not closed)
- multiple resource deallocations (double frees, files closed more than once)
Key features of FastCheck include:
- efficient analysis using a sparse value-flow program representation;
- concise, user-friendly error reports;
- error classification into several categories with decreasing priorities (high, medium, and low).
- Sigmund Cherem, Lonnie Princehouse, Radu Rugina; proceedings of ACM SIGPLAN PLDI 2007.
Contributors to FastCheck are:
FastCheck uses some external tools. Notably,