Skip to content
  1. Mar 24, 2012
  2. Mar 11, 2012
  3. 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
  4. Feb 28, 2012
  5. Feb 23, 2012
  6. Feb 21, 2012
  7. Feb 05, 2012
  8. Feb 04, 2012
  9. Jan 26, 2012
  10. Jan 12, 2012
  11. 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
  12. Dec 01, 2011
  13. Nov 16, 2011
  14. Oct 26, 2011
  15. Oct 25, 2011
    • 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
  16. Sep 15, 2011
    • Anna Zaks's avatar
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of... · 3a769bd9
      Anna Zaks authored
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?):
      - Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext.
      - Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function).
      
      llvm-svn: 139763
      3a769bd9
  17. Aug 29, 2011
  18. Aug 25, 2011
  19. Aug 24, 2011
  20. Aug 23, 2011
  21. Aug 18, 2011
    • Anna Zaks's avatar
      Remove EnhancedBugReport and RangedBugReport - pull all the extra... · 3a6bdf8f
      Anna Zaks authored
      Remove EnhancedBugReport and RangedBugReport - pull all the extra functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME.
      
      llvm-svn: 137894
      3a6bdf8f
  22. Aug 16, 2011
  23. Aug 15, 2011
  24. Aug 13, 2011
  25. Aug 12, 2011
    • Anna Zaks's avatar
      MacOSKeychainAPIChecker: · fdd0aca0
      Anna Zaks authored
      Report errors earlier: on checkDeadSymbols() and clear the state after the symbol we are tracking goes out of scope. 
      
      Also, perform lazy error checking. Instead of forcing the paths to be split depending one the return value of the allocator, make the return symbol depend on the allocated data symbol, which prolongs its life span to the time when the allocated data symbol becomes dead.
      
      llvm-svn: 137523
      fdd0aca0
    • Anna Zaks's avatar
      MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent... · c94894fb
      Anna Zaks authored
      MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent the allocated data symbol, we can just use the symbol corresponding to the SymbolicRegion. This simplifies tracking of the symbol, for example, SymbolMetadata needs to go through extra hoops to stay alive.
      
      Make AllocationState internal to the MacOSKeychainAPIChecker class.
      
      llvm-svn: 137514
      c94894fb
  26. Aug 06, 2011
Loading