Skip to content
  1. Dec 22, 2010
  2. Oct 10, 2010
  3. Sep 10, 2010
    • Tom Care's avatar
      Added AnalyzerStatsChecker, a path sensitive check that reports visitation... · 4545b2df
      Tom Care authored
      Added AnalyzerStatsChecker, a path sensitive check that reports visitation statistics about analysis. Running clang with the -analyzer-stats flag will emit warnings containing the information. We can then run a postanalysis script to take this data and give useful information about how much the analyzer missed in a project.
      
      llvm-svn: 113568
      4545b2df
  4. Aug 07, 2010
  5. Jul 24, 2010
  6. Jul 16, 2010
    • Tom Care's avatar
      Improved false positive rate for the idempotent operations checker and moved... · 826e6b40
      Tom Care authored
      Improved false positive rate for the idempotent operations checker and moved it into the default path-sensitive analysis options.
      - Added checks for static local variables, self assigned parameters, and truncating/extending self assignments
      - Removed command line option (now default with --analyze)
      - Updated test cases to pass with idempotent operation warnings
      
      llvm-svn: 108550
      826e6b40
  7. Jul 07, 2010
  8. Jul 06, 2010
    • Tom Care's avatar
      Added a path-sensitive idempotent operation checker... · 3ff08a8e
      Tom Care authored
      Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect.
      
      Example:
      {
      int a = 1;
      int b = 5;
      int c = b / a; // a is 1 on all paths
      }
      
      - New IdempotentOperationChecker class
      - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker
      - Minor refactoring of SVal to allow checking for any integer
      - Added command line option for check
      - Added basic test cases
      
      llvm-svn: 107706
      3ff08a8e
  9. Jun 16, 2010
  10. Jan 25, 2010
    • Ted Kremenek's avatar
      Split libAnalysis into two libraries: libAnalysis and libChecker. · d6b87086
      Ted Kremenek authored
      (1) libAnalysis is a generic analysis library that can be used by
          Sema.  It defines the CFG, basic dataflow analysis primitives, and
          inexpensive flow-sensitive analyses (e.g. LiveVariables).
      
      (2) libChecker contains the guts of the static analyzer, incuding the
          path-sensitive analysis engine and domain-specific checks.
      
      Now any clients that want to use the frontend to build their own tools
      don't need to link in the entire static analyzer.
      
      This change exposes various obvious cleanups that can be made to the
      layout of files and headers in libChecker.  More changes pending.  :)
      
      This change also exposed a layering violation between AnalysisContext
      and MemRegion.  BlockInvocationContext shouldn't explicitly know about
      BlockDataRegions.  For now I've removed the BlockDataRegion* from
      BlockInvocationContext (removing context-sensitivity; although this
      wasn't used yet).  We need to have a better way to extend
      BlockInvocationContext (and any LocationContext) to add
      context-sensitivty.
      
      llvm-svn: 94406
      d6b87086
  11. Nov 13, 2009
  12. Nov 12, 2009
Loading