作者: Stephen Kell
关键词: Type (model theory) 、 Type checking 、 Programmer 、 Computer science 、 Static analysis 、 Pointer (computer programming) 、 Liveness 、 Computer engineering 、 Code (cryptography) 、 Real-time computing 、 Overhead (computing)
摘要: Existing approaches for detecting type errors in unsafe languages are limited. Static analysis methods imprecise, and often require source-level changes, while most dynamic check only memory properties (bounds, liveness, etc.), owing to a lack of run-time information. This paper describes libcrunch, system binary-compatible checking unmodified code, currently focusing on C. Practical experience shows that our prototype implementation is easily applicable many real codebases without modification, correctly flags programmer with very low rate false positives, offers overhead, covers classes error caught by no previously existing tool.