作者: Ding Ye , Yulei Sui , Jingling Xue
关键词: Value (computer science) 、 A priori and a posteriori 、 Parallel computing 、 Binary number 、 Overhead (computing) 、 Graph (abstract data type) 、 Instrumentation (computer programming) 、 Computer science 、 Reachability 、 Pointer analysis
摘要: Uninitialized variables can cause system crashes when used and security vulnerabilities exploited. With source rather than binary instrumentation, dynamic analysis tools such as MSan detect uninitialized memory uses at significantly reduced overhead but are still costly.In this paper, we introduce a static value-flow analysis, called Usher, to guide accelerate the performed by tools. Usher reasons about definedness of values using graph (VFG) that captures def-use chains for both top-level address-taken interprocedurally removes unnecessary instrumentation solving reachability problem. works well with any pointer (done priori) facilitates advanced instrumentation-reducing optimizations (with two demonstrated here). Implemented in LLVM evaluated all 15 SPEC2000 C programs, reduce slowdown from 212% -- 302% 123% 140% number configurations tested.