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.

xcode screenshot of deep & shallow static analysis options

(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

Popular posts from this blog

css - SVG using textPath a symbol not rendering in Firefox -

Java 8 + Maven Javadoc plugin: Error fetching URL -

datatable - Matlab struct computations -