670 Commits (fc976bc3efa77398a0c244d7b79a73a5a3a89d90)

Author SHA1 Message Date
Ryan Rhee 7a434adea8 [componentkit][const] Whitelist certain classes
8 years ago
Ryan Rhee d2ac2242c4 [componentkit][test] typedef struct -> class
8 years ago
Ryan Rhee f54b84c751 [componentkit][test] Move mock CK imports to own .h file
8 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
8 years ago
Cristiano Calcagno 717b61192e [tests] Convert java harness and crashcontext tests to new direct format.
8 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
8 years ago
Sam Blackshear fbfece20af [quandary] using exceptional procCFG to explore exceptional control-flow
8 years ago
Sam Blackshear 4b9899d6b2 [quandary] handling globals in function summaries
8 years ago
Sam Blackshear b1039f51f8 [quandary] add summaries for footprint traces associated with locals
8 years ago
Sam Blackshear ae759ee21f [quandary] fixing crashes when running on recursive code
8 years ago
Sam Blackshear 31e6849ec0 [quandary] using summaries part 2: the relational cases
8 years ago
Cristiano Calcagno 847c141912 [tests] Clean up test files shared between frontend and endtoend tests
8 years ago
Sam Blackshear e4beca3779 [quandary] using summaries part 1: return
8 years ago
Sam Blackshear cf8c957483 [quandary] use preanalysis for abstract GC
8 years ago
Cristiano Calcagno c134eac91e [tests] Convert objective-c frontend tests to new direct format
8 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
8 years ago
Cristiano Calcagno da01c2b94a [tests] Fix detection of changes in frontend tests
8 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
8 years ago
Cristiano Calcagno 25cd7dbe89 [tests] Activate objective-c tests in the new format, and remove old junit tests.
8 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format
8 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
8 years ago
Sam Blackshear 27cfb141da richer sink specifications
8 years ago
Sam Blackshear bcacd95176 tests for arrays
8 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o
8 years ago
Josh Berdine f3cdf87181 Sort test results by file then line
8 years ago
Sam Blackshear 1e4b4df427 fixing handling of aliasing for frontend tmp vars
8 years ago
Sam Blackshear 6ca990be8c adding tests for manipulating fields
8 years ago
Cristiano Calcagno c613820a98 Convert c tests to the new testing format
8 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
8 years ago
Sam Blackshear f2487513c5 adding tests for basic var stuff, casts
8 years ago
Sam Blackshear 3ff6622c9c setup e2e test skeleton
8 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences
8 years ago
Andrzej Kotulski 41e51bc28c Clean up smart pointer header models
8 years ago
Andrzej Kotulski 4637bf877e model unique_ptr<T> as T*
8 years ago
Cristiano Calcagno 257f4976f0 Convert java tracing tests to new direct format.
8 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format
8 years ago
Cristiano Calcagno 2cb595b8c9 Convert Eradicate and Checkers tests to direct format.
8 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
8 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
8 years ago
Ryan Rhee e19550a43b Handle l-value refs correctly
8 years ago
Sam Blackshear c5088f44a7 adding tests for context leaks via weak reference
8 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
8 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code
8 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
8 years ago
Dulma Churchill 07bf714d91 Put current method in context
8 years ago
Jules Villard 2da8940a80 test that running infer deletes the previous infer-out folder
8 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
8 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
8 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
8 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
8 years ago
Martino Luca 6840efdd1c fix imports in MutableLocalVariableTest
8 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
8 years ago
Ryan Rhee e81e43456b Test mutable local variables in CK files
8 years ago
Ryan Rhee 957bdde05e Test that component kit headers skips imported headers
8 years ago
Ryan Rhee d594a525ac Test that CK rules don't fire in non-component files
8 years ago
Andrzej Kotulski 185f6493bc Update fcp with new naming fixes
8 years ago
Martino Luca 3dae9dc4f6 Use Guava's Optional in tests
8 years ago
Ryan Rhee 3d719a24d9 Matcher w/ explicit error name
8 years ago
Ryan Rhee e2ff6e58a5 `buck test componentkit` boilerplate
8 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
8 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
8 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
8 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
8 years ago
Ryan Rhee d2a4028881 Call decl checkers on DeclStmt statements
8 years ago
Lázaro Clapp Jiménez Labora 85add041d4 CI Tests for crashcontext handling of native methods
8 years ago
Lázaro Clapp Jiménez Labora 5296688c1f Match classname for stackframes in crashcontext checker.
8 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
8 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
8 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
8 years ago
Martino Luca f64be4596b Implement containsOnlyLines matcher for tests
8 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
8 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
8 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
8 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
8 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing.
9 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable
9 years ago
Lázaro Clapp Jiménez Labora 76764c148a Output the callee sumaries of -a crashcontext to per-method files.
9 years ago
Lázaro Clapp Jiménez Labora cbd1b9c7ba Refactor common code on multiple methods of InferRestults
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Jules Villard fb7aed07c6 typo and whitespace cleanup in cFrontend_config
9 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
9 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
9 years ago
Andrzej Kotulski 0aa5101a05 Replace space with _ in type names
9 years ago
Andrzej Kotulski 5ed50f5a97 Keep more precise information in constructor's var_exp_typ
9 years ago
Dulma Churchill 102f61e2a7 Move a few missing tests to the new location
9 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
9 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
9 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
9 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
9 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
9 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
9 years ago
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
9 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
9 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Andrzej Kotulski 9cda4ca6bf Add models of shared_ptr comparison operators
9 years ago
Andrzej Kotulski 046654a9c0 Fix translation of unary operator! for all integral types
9 years ago
Dulma Churchill cf72de9460 Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped.
9 years ago
Jules Villard b95b71fa85 add option to assume that malloc never returns null
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Jules Villard 959730de2f modify API to be able to hook extra infer options easily
9 years ago
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
9 years ago
Andrzej Kotulski e46cddb52b Use mangling in function parameters to encode its position
9 years ago
Dulma Churchill c06795e631 Fixing the treatment of annotations in the clang frontend
9 years ago
Andrzej Kotulski c7d6d904f7 Whitelist std::min and std::max
9 years ago
Dulma Churchill edc57f70f5 Translate CXXNoexceptExpr
9 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr
9 years ago
Lázaro Clapp Jiménez Labora 95a12d9706 model String.equals(...) as '=='
9 years ago
Dulma Churchill 52e037f77c Translate AttributedStmt and Fallthrough attribute
9 years ago
Peter O'Hearn 1edb492b70 One step closer to shipping initial GUARDEDBY
9 years ago
Andrzej Kotulski 3603fc3176 Modify cast_with_enforce.cpp test to not include <string>
9 years ago
Sam Blackshear 9d95a3a199 don't warn if procedure is marked VisibleForTesting
9 years ago
Sam Blackshear 03df3a0c47 supporting guarding on outer-class this in inner class
9 years ago
Sam Blackshear 7ae14d0bdf don't report on compiler-generated access$ methods
9 years ago
Sam Blackshear df257da918 supporting @GuardedBy(MyClass.class) idiom
9 years ago
Sam Blackshear 6304e30f5a don't warn on read-write locks
9 years ago
Daiva Naudziuniene 6054b4c6d4 Improved ndk-build integration.
9 years ago
Andrzej Kotulski 8d3e7e774e Move location of clang installation
9 years ago
Sam Blackshear b940c4dfac warning on guarded-by writes
9 years ago
Dulma Churchill b1e3d994bd Report more cases of null dereference as empty vector access
9 years ago
Andrzej Kotulski a825831625 Model vector::resize(n) as nonempty vector
9 years ago
Peter O'Hearn 508d6a3ae7 optional model
9 years ago
Daiva Naudziuniene d707c717f0 ndk-build integration test
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Peter O'Hearn 8613f16c19 drop GuardedBy ui_thread warnings
9 years ago
Dulma Churchill a68c45c2a9 Fix dyspatch_async calls
9 years ago
Jules Villard 596823bd32 support `clang -c file1.c file2.c`
9 years ago
Jeremy Dubreil 17da853fa8 Do not angelically remove the file attribute on the reciever for virtual calls
9 years ago
Jeremy Dubreil 707a9ae51b Fix resource leaks in the testing framework
9 years ago
Dulma Churchill 5ed970efa9 Fix the return stmt that would not be the last instruction in the path in some cases
9 years ago
Jeremy Dubreil 3a2a6c7c44 Do not run the unsafe guarded access in prod
9 years ago
Jules Villard 1dc636a971 more concise API for creating build integration tests
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Dulma Churchill 60d9a19ae0 Fix bucketing for variables passed by reference
9 years ago
Andrzej Kotulski 0f895b0684 Improve empty vector tests
9 years ago
Dulma Churchill bf9d194e43 Translate builtin_expect as its first argument. Avoids weird symb. exec. problems
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Jules Villard 6bb3b30c36 do not crash when pygments crashes
9 years ago
Sam Blackshear 7ec8f59998 adding find_in_node_or_preds to clean up errdesc
9 years ago
Dino Distefano daf043bff1 Fixing shortcircuit in binary operator.
9 years ago
Andrzej Kotulski 3699b9c0dc Fix translation of passing struct parameters by value
9 years ago
Dulma Churchill de615594df Skip whitelisted functions form trace
9 years ago
Cristiano Calcagno 56cfac14da Fix issue in join where the origin of a variable would be lost in a loop.
9 years ago
Sam Blackshear e3e80dd2f0 don't report on private unguarded accesses
9 years ago
Sam Blackshear 36ee3730aa reporting error on unprotected access to field annotated with @GuardedBy
9 years ago
Andrzej Kotulski 8ccdff649f Report empty vector access instead of null dereference
9 years ago
Andrzej Kotulski 058f4455dc Modify model of std::vector
9 years ago
Jules Villard e695e14ee1 add various filter options from inferconfig to the CLI
9 years ago
Dino Distefano aae1dbac3d Skipping reporting global variable warning on known non-expensive cases.
9 years ago
Dino Distefano f37ed66888 Added new taint source/sink for iOS
9 years ago
Sam Blackshear 83f511107b stop reporting handler leaks
9 years ago
Andrzej Kotulski bfce6bac47 Model empty vector access
9 years ago
Dulma Churchill 6c7c18e920 Model other functions from glog library
9 years ago
Dulma Churchill 9b1bd712b5 Marking getters/setters as builtins only inside the definition of the class
9 years ago
Sam Blackshear 258e765d4e adding integrity source/sink annotations
9 years ago
Sam Blackshear 3f49f3a1d4 using liveness to add removetemps instructions
9 years ago
Sam Blackshear 20925df57c removing unused deallocate param in nullify instr
9 years ago
Sam Blackshear 4fd2f52fe8 new analysis for adding nullify's
9 years ago
Dulma Churchill c3fbd5af29 Model CHECK macro and fix the model for builtin_expect
9 years ago
Dulma Churchill 3defb52e4e Fixing broken test + adding objcpp tests to make test target
9 years ago
Sam Blackshear 6f6da12b2c don't nullify params/locals at beginning of procedure
9 years ago
Jules Villard d4521fd70d handle utf8 PWD
9 years ago
Sam Blackshear c7c1588830 getting rid of string parameter on privacy annotations
9 years ago
Dulma Churchill 54a3bdd455 Load the attribute file to get the getter/setter info from the procdesc
9 years ago
Jeremy Dubreil 8072d2c1e5 report errors when all the postconditions are error states
9 years ago
Jeremy Dubreil 049c353f52 Add a model for gzdopen
9 years ago
Sam Blackshear ffc4e2d213 checking supertypes for annotations
9 years ago
Jeremy Dubreil 3a856aa6f0 Add example of lazy dynamic dispatch calling a method from the interface
9 years ago
Sam Blackshear 77791b7e8e warn on deref of nullable skip function
9 years ago
Sam Blackshear 843bcc1576 support tainting of annotated fields
9 years ago
Dino Distefano 83c1bbc832 Implementing a checker to warn initialization of global variables with mehod calls.
9 years ago
Peter O'Hearn 50081c7ccb alloc/dealloc model for locks
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Sam Blackshear a10d7099c7 warning on deref of nullable retvals
9 years ago
Dulma Rodriguez be91fb5429 Fix toll free bridging
9 years ago
jrm 9b6de7aeb0 Do not report @NoAllocation and @PerformanceCritical violations in "unlikely" branches
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dulma Rodriguez 8a1288860b Make alloc save a given procanem in the path
9 years ago
Sam Blackshear e1e62be243 supporting new @PrivacySource/PrivacySink annotations
9 years ago
Dino Distefano b7ab1760a6 Translation of lambda [part one]
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez d366bb970b Create the procdescs for frontend checks only when needed
9 years ago
jrm ad3e32d935 Fix resource leak false positive with the resource wrapper java.io.DataInputStream
9 years ago
Dulma Rodriguez 6b2b76d956 Translate dynamic arrays to cpp classes
9 years ago
Andrzej Kotulski 590f73b59f Translate functions/methods from headers when they are referenced
9 years ago
Sam Blackshear 15aaa39fea allowing class-level Expensive and PerformanceCritical annotations
9 years ago
Andrzej Kotulski 64bb3b62b3 Use variable stmt location info in init_res_trans
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Dulma Rodriguez 44491679cf Fix broken tests in master
9 years ago
Josh Berdine 6278dc7200 Additional modeling of NS collections
9 years ago
Sam Blackshear e9cb9f4352 assign pointer type checker
9 years ago
Dino Distefano 1b21869108 Disabling the NSNotification center error from the backend
9 years ago
Dulma Rodriguez bbd09d39dd Remove modelling of setObject:forKeyedSubscript: of NSMutableDictionary to mean a crash when object is nil
9 years ago
Andrzej Kotulski 19bc559440 Don't skip objc tests on unknown versions of xcode
9 years ago
Dulma Rodriguez cb45e38f7f Fix broken frontend test in master
9 years ago
Sam Blackshear 7166a4856c nullifying vars captured in blocks
9 years ago
Jules Villard 9f10b09688 add cmake to the list of make-like tools
9 years ago