Skip to content
  1. Mar 17, 2012
  2. Mar 11, 2012
  3. Mar 10, 2012
  4. Mar 09, 2012
    • Ted Kremenek's avatar
      [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. · 1e809b4c
      Ted Kremenek authored
      Essentially, a bug centers around a story for various symbols and regions.  We should only include
      the path diagnostic events that relate to those symbols and regions.
      
      The pruning is done by associating a set of interesting symbols and regions with a BugReporter, which
      can be modified at BugReport creation or by BugReporterVisitors.
      
      This patch reduces the diagnostics emitted in several of our test cases.  I've vetted these as
      having desired behavior.  The only regression is a missing null check diagnostic for the return
      value of realloc() in test/Analysis/malloc-plist.c.  This will require some investigation to fix,
      and I have added a FIXME to the test case.
      
      llvm-svn: 152361
      1e809b4c
  5. Mar 06, 2012
  6. Feb 28, 2012
  7. Feb 25, 2012
  8. Feb 18, 2012
  9. Feb 14, 2012
    • Anna Zaks's avatar
      [analyzer] Make Malloc Checker optimistic in presence of inlining. · 3d34834b
      Anna Zaks authored
      (In response of Ted's review of r150112.)
      
      This moves the logic which checked if a symbol escapes through a
      parameter to invalidateRegionCallback (instead of post CallExpr visit.)
      
      To accommodate the change, added a CallOrObjCMessage parameter to
      checkRegionChanges callback.
      
      llvm-svn: 150513
      3d34834b
  10. Feb 07, 2012
  11. Feb 05, 2012
  12. Feb 04, 2012
  13. Jan 26, 2012
  14. Jan 17, 2012
  15. Jan 06, 2012
    • Ted Kremenek's avatar
      [analyzer] Make the entries in 'Environment' context-sensitive by making entries map from · 632e3b7e
      Ted Kremenek authored
      (Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals.
      
      This is needed to support basic IPA via inlining.  Without this, we cannot tell
      if a Stmt* binding is part of the current analysis scope (StackFrameContext) or
      part of a parent context.
      
      This change introduces an uglification of the use of getSVal(), and thus takes
      two steps forward and one step back.  There are also potential performance implications
      of enlarging the Environment.  Both can be addressed going forward by refactoring the
      APIs and optimizing the internal representation of Environment.  This patch
      mainly introduces the functionality upon when we want to build upon (and clean up).
      
      llvm-svn: 147688
      632e3b7e
  16. Jan 04, 2012
  17. Dec 22, 2011
  18. Dec 05, 2011
  19. Dec 01, 2011
  20. Nov 14, 2011
  21. Nov 01, 2011
  22. Oct 26, 2011
  23. Oct 25, 2011
    • Anna Zaks's avatar
      [analyzer] Remove getEngine() form CheckerContext · 58734db0
      Anna Zaks authored
      A step toward making sure that diagnostics report should only
      be generated though the CheckerContext and not though BugReporter
      or ExprEngine directly.
      
      llvm-svn: 142947
      58734db0
    • Anna Zaks's avatar
      [analyzer] Simplify CheckerContext · b473816b
      Anna Zaks authored
      Remove dead members/parameters: ProgramState, respondsToCallback, autoTransition.
      Remove addTransition method since it's the same as generateNode. Maybe we should
      rename generateNode to genTransition (since a transition is always automatically
      generated)?
      
      llvm-svn: 142946
      b473816b
    • Anna Zaks's avatar
      [analyze] Convert EndOfPath callback to use CheckerContext · 3eae3341
      Anna Zaks authored
      Get rid of the EndOfPathBuilder completely.
      Use the generic NodeBuilder to generate nodes.
      Enqueue the end of path frontier explicitly.
      
      llvm-svn: 142943
      3eae3341
  24. Oct 19, 2011
    • Anna Zaks's avatar
      [analyzer] Remove dead code. · e83ddcc4
      Anna Zaks authored
      ExprEngineBuilders is not used.
      
      llvm-svn: 142450
      e83ddcc4
    • Anna Zaks's avatar
      [analyzer] Node Builder refactoring: Introduce a simple Node Builder... · fc0189aa
      Anna Zaks authored
      [analyzer] Node Builder refactoring: Introduce a simple Node Builder responsible for generating the node frontier.
      
      Currently we have a bunch of different node builders which provide some common
      functionality but are difficult to refactor. Each builder generates nodes of
      different kinds and calculates the frontier nodes, which should be propagated
      to the next step (after the builder dies).
      
      Introduce a new NodeBuilder which provides very basic node generation facilities
      but takes care of the second problem. The idea is that all the other builders
      will eventually use it. Use this builder in CheckerContext instead of
      StmtNodeBuilder (the way the frontier is propagated to the StmtBuilder
      is a hack and will be removed later on).
      
      llvm-svn: 142443
      fc0189aa
  25. Oct 14, 2011
  26. Oct 06, 2011
  27. Oct 05, 2011
Loading