xcode - What's the difference between deep and shallow static analysis? -
what's difference between shallow , deep static analysis? i'm using xcode @ moment, , noticed there's build setting distinguishes between two.
i'm curious in general case, , i'm wondering if there's difference in how clang implements distinction.
i tried google-foo , couldn't find answer. tried going through apple , clang docs see if explain didn't find anything. didn't miss obvious stone overturn in searching.
(1) talk apple's evan cheng (compilation tech) gives indication (see pages 157/158):
- shallow - quick analysis
- deep - more thorough analysis
recommendation: always analyze in deep mode part of qualifications
(2) more details can find in source code of analyzeroptions there usermodekind variable:
00184 /// \brief describes kinds high-level analyzer mode. 00185 enum usermodekind { 00186 umk_notset = 0, 00187 /// perform shallow fast analyzes. 00188 umk_shallow = 1, 00189 /// perform deep analyzes. 00190 umk_deep = 2 00191 }; 00192 00193 /// controls high-level analyzer mode, influences default 00194 /// settings of lower-level config options (such ipamode). 00195 /// \sa getusermode 00196 usermodekind usermode; 00197 00198 /// controls mode of inter-procedural analysis. 00199 ipakind ipamode;
without looking deep code see 1 difference deactivation of (timeconsuming) inter-procedural analysis...
Comments
Post a Comment