761 Commits (bcfcb5d405e43e4b87d66a7acdbbc0f978349d6d)

Author SHA1 Message Date
Jeremy Dubreil 21a568aba8 [infer][java] Fix spurious class cast excpetion reports when casting arrays of primitive types
9 years ago
Dino Distefano 6ffaded4be Modified the hardcoded CTL formulas in preparation to dispatcher removal
9 years ago
Jules Villard 0085417e0d [siof] better error reports using `Errlog.loc_trace`s
9 years ago
Jules Villard 5bd8b7fa95 [make] compatibility with Debian testing
9 years ago
Sam Blackshear e8b61f6dbb [quandary] fix false positives from procedures that are both sources and sinks
9 years ago
Sam Blackshear 4b4e4e6f4d [quandary] understand that parameters are passed by value in Java
9 years ago
Jeremy Dubreil eb197a1cd4 [infer][tests] Make was always exiting with exit code 0 even in the case of test failures
9 years ago
Jeremy Dubreil 274851fc53 [infer][java] mark all methods as defined
9 years ago
Sam Blackshear 8784b9b946 [backend] fix cursor leak FPs
9 years ago
Sam Blackshear ba7cef4657 [backend] differentiate unknown methods and methods with empty summaries
9 years ago
Jeremy Dubreil 9921e3c427 [infer] Unbreak the build integration tests
9 years ago
Peter O'Hearn be977e7318 Turn GuardedBy Reporting on by default
9 years ago
Sam Blackshear fcf57c6e09 [siof] add fancy interprocedural reporting
9 years ago
Jules Villard c49b9e272d [tests] turn assembly build system test into a Makefile
9 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions
9 years ago
Jules Villard 2cd0151e30 [python] restore project_root option and use it to find source files
9 years ago
Andrzej Kotulski 80f25d17fd [tests] Create simple compilation database integration test
9 years ago
Jules Villard c9bac51b81 [tests] make clang tests Makefile more functional
9 years ago
Sam Blackshear 0b9727214d [quandary] support `StringBuilder`'s and other methods for propagating `String` taint
9 years ago
Sam Blackshear fde7a6ecf3 [quandary] support for full interprocedural traces
9 years ago
Josh Berdine 32a60e05f4 Unbreak master
9 years ago
Sam Blackshear 768a60caca [quandary] support for full interprocedural traces
9 years ago
Andrzej Kotulski 28827b461a [clang] Get translation unit language from AST dump
9 years ago
Jules Villard b876364340 [tests] convert ant integration test to a Makefile
9 years ago
Jules Villard c93bbbbbc5 [clang] run assembly commands with the fcp clang
9 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated
9 years ago
Peter O'Hearn 2d424b7779 skipping ReadWrite Locks
9 years ago
Sam Blackshear 874e7f000d [quandary] functions that transitively return sources are sources, not passthroughs
9 years ago
Andrzej Kotulski 71b73368ec Add basic integration test for assembly code
9 years ago
Sam Blackshear d76a7ef43a [quandary] functions that transitively call sinks are sinks, not passthroughs
9 years ago
Peter O'Hearn e91742afea Support @SuppressLint("InvalidAccessToGuardedField")
9 years ago
Sam Blackshear d7ae77c7c2 [quandary] make intent/logging private data tests intraprocedural
9 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code
9 years ago
Sam Blackshear 678d0ff4e9 [quandary] don't double-report when applying summaries
9 years ago
Sam Blackshear 21f9bd1ed6 [quandary] fix crash from returning exceptions that read from the environment
9 years ago
Sam Blackshear 7ae58d78c3 [infer] fix .class synchronization false-positive in guarded-by check
9 years ago
Dino Distefano 622366269d Simplified semantics of ET and EH
9 years ago
Sam Blackshear 8f68f61ec9 [quandary] remove stripped logging sinks
9 years ago
Ryan Rhee aac14999b0 [componentkit] Whitelist Native Templates
9 years ago
Ryan Rhee a45d59e478 [componentkit] Don't count unavailable initializers
9 years ago
Jules Villard bc6226942e fix tests
9 years ago
Peter O'Hearn ec45b44dfd [threadsafety] Better error message when warning on subclasses of @ThreadSafe classes
9 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
9 years ago
Sam Blackshear 3ba67bac1a [quandary] more privacy sources
9 years ago
Josh Berdine 175e85525d [tests] Convert java tests to avoid phony targets
9 years ago
Ryan Rhee 5752b14d9c [componentkit] Skip implicit variables during MLV check
9 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer
9 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization
9 years ago
Sam Blackshear 319463b3bc [quandary] propagating taint from unknown procedures and constructors
9 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
9 years ago
Josh Berdine a9192cffd6 [config] Eliminate ad hoc environment variables
9 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH
9 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods
9 years ago
Ryan Rhee e73350598a [componentkit] Unconventional superclass rule
9 years ago
Ryan Rhee a4501462cc [componentkit] Reference fake header in build system test
9 years ago
Sam Blackshear 6fc1a7e20f [quandary] reporting on array passed to sink when contents of array are tainted
9 years ago
Peter O'Hearn 2601af5ade [threadsafety] don't report on class initializers
9 years ago
Jules Villard 9535c4d89e [clang] convert filter_args_and_run_fcp_clang to OCaml
9 years ago
Jeremy Dubreil cde74b4043 [infer][test] always run the Buck integration test with the option --no-cache
9 years ago
Peter O'Hearn 69f7ed5f6d [threadsafe] fix the code for recognizing constructors
9 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof
9 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
9 years ago
Sam Blackshear 08509fb2ab [quandary] don't double-report flows
9 years ago
Sam Blackshear 512de69e13 [quandary] handle dynamic dispatch
9 years ago
Peter O'Hearn 6423ec74ad Writing errors for Threadsafe checker
9 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions
9 years ago
Sam Blackshear 072fe0994f [quandary] reporting on getenv -> exec flows
9 years ago
Peter O'Hearn 07da8f36d1 don't warn on GuardedBy self reference
9 years ago
Andrzej Kotulski 2deeb3673a [C++] Don't put model includes on -isystem path in test
9 years ago
Dulma Churchill 98afe25b54 [linters] Take the attributed types into account when finding pointer types
9 years ago
Sam Blackshear 3624fea737 [quandary] tests for C++ analysis
9 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
9 years ago
Sam Blackshear 715e521ead [quandary] making summaries smaller
9 years ago
Josh Berdine 6697ed781f [tests] Rerun test without swallowing output on failure
9 years ago
Josh Berdine ac0084019c [tests] Use $(MAKE) for recursive invocations
9 years ago
Josh Berdine d8336ea906 [backend] Keep common constraints in pure join
9 years ago
Josh Berdine 30541ec329 [tests] Add test for suboptimal join of attributes
9 years ago
Jules Villard eb391d7875 [llvm] delete llvm frontend
9 years ago
Jules Villard 7d49e16d63 [clang] rewrite hijack_and_normalize_clang_command in OCaml
9 years ago
Sam Blackshear 4a35862aa8 [quandary] dont add passthroughs from callee to caller
9 years ago
Sam Blackshear 5e2e7b88aa [quandary] allow trace-specific rules for handling unknown code
9 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer
9 years ago
Jeremy Dubreil e38e16c948 [infer][java] Remove the deprecated genrule from the BUCK files
9 years ago
Ryan Rhee 967532ea2e [componentkit][test] Rename test files
9 years ago
Ryan Rhee df988dd051 [componentkit][test] Import proper fake header in second test
9 years ago
Jeremy Dubreil 2e2e9c89d6 [infer][java] Removing the models for com.squareup.okhttp.internal.StrictLineReader
9 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
9 years ago
Martino Luca 051fbd779c [Buck] Emit xml stub during `buck_test_xml` target
9 years ago
Sam Blackshear df8a4f6481 [quandary] tests for divergence
9 years ago
Sam Blackshear af9f34bb60 [quandary] checking for flows from Intents parsed via Uris -> startActivity (and similar)
9 years ago
Ryan Rhee 6475e358c4 [componentkit][const] Ignore NSError
9 years ago
Ryan Rhee 7a434adea8 [componentkit][const] Whitelist certain classes
9 years ago
Ryan Rhee d2ac2242c4 [componentkit][test] typedef struct -> class
9 years ago
Ryan Rhee f54b84c751 [componentkit][test] Move mock CK imports to own .h file
9 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
9 years ago
Cristiano Calcagno 717b61192e [tests] Convert java harness and crashcontext tests to new direct format.
9 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
9 years ago
Sam Blackshear fbfece20af [quandary] using exceptional procCFG to explore exceptional control-flow
9 years ago
Sam Blackshear 4b9899d6b2 [quandary] handling globals in function summaries
9 years ago
Sam Blackshear b1039f51f8 [quandary] add summaries for footprint traces associated with locals
9 years ago
Sam Blackshear ae759ee21f [quandary] fixing crashes when running on recursive code
9 years ago
Sam Blackshear 31e6849ec0 [quandary] using summaries part 2: the relational cases
9 years ago
Cristiano Calcagno 847c141912 [tests] Clean up test files shared between frontend and endtoend tests
9 years ago
Sam Blackshear e4beca3779 [quandary] using summaries part 1: return
9 years ago
Sam Blackshear cf8c957483 [quandary] use preanalysis for abstract GC
9 years ago
Cristiano Calcagno c134eac91e [tests] Convert objective-c frontend tests to new direct format
9 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
9 years ago
Cristiano Calcagno da01c2b94a [tests] Fix detection of changes in frontend tests
9 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
9 years ago
Cristiano Calcagno 25cd7dbe89 [tests] Activate objective-c tests in the new format, and remove old junit tests.
9 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format
9 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
9 years ago
Sam Blackshear 27cfb141da richer sink specifications
9 years ago
Sam Blackshear bcacd95176 tests for arrays
9 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o
9 years ago
Josh Berdine f3cdf87181 Sort test results by file then line
9 years ago
Sam Blackshear 1e4b4df427 fixing handling of aliasing for frontend tmp vars
9 years ago
Sam Blackshear 6ca990be8c adding tests for manipulating fields
9 years ago
Cristiano Calcagno c613820a98 Convert c tests to the new testing format
9 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
9 years ago
Sam Blackshear f2487513c5 adding tests for basic var stuff, casts
9 years ago
Sam Blackshear 3ff6622c9c setup e2e test skeleton
9 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences
9 years ago
Andrzej Kotulski 41e51bc28c Clean up smart pointer header models
9 years ago
Andrzej Kotulski 4637bf877e model unique_ptr<T> as T*
9 years ago
Cristiano Calcagno 257f4976f0 Convert java tracing tests to new direct format.
9 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format
9 years ago
Cristiano Calcagno 2cb595b8c9 Convert Eradicate and Checkers tests to direct format.
9 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
9 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
9 years ago
Ryan Rhee e19550a43b Handle l-value refs correctly
9 years ago
Sam Blackshear c5088f44a7 adding tests for context leaks via weak reference
9 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
9 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code
9 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
9 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
9 years ago
Dulma Churchill 07bf714d91 Put current method in context
9 years ago
Jules Villard 2da8940a80 test that running infer deletes the previous infer-out folder
9 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
9 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
9 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
9 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
9 years ago
Martino Luca 6840efdd1c fix imports in MutableLocalVariableTest
9 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
9 years ago
Ryan Rhee e81e43456b Test mutable local variables in CK files
9 years ago
Ryan Rhee 957bdde05e Test that component kit headers skips imported headers
9 years ago
Ryan Rhee d594a525ac Test that CK rules don't fire in non-component files
9 years ago
Andrzej Kotulski 185f6493bc Update fcp with new naming fixes
9 years ago
Martino Luca 3dae9dc4f6 Use Guava's Optional in tests
9 years ago
Ryan Rhee 3d719a24d9 Matcher w/ explicit error name
9 years ago
Ryan Rhee e2ff6e58a5 `buck test componentkit` boilerplate
9 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
9 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
9 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
9 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
9 years ago
Ryan Rhee d2a4028881 Call decl checkers on DeclStmt statements
9 years ago
Lázaro Clapp Jiménez Labora 85add041d4 CI Tests for crashcontext handling of native methods
9 years ago
Lázaro Clapp Jiménez Labora 5296688c1f Match classname for stackframes in crashcontext checker.
9 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
9 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
9 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
9 years ago
Martino Luca f64be4596b Implement containsOnlyLines matcher for tests
9 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
9 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
9 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
9 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
9 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
10 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
10 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
10 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
10 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
10 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
10 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
10 years ago
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
10 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
10 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
10 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
10 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
10 years ago
Andrzej Kotulski 9cda4ca6bf Add models of shared_ptr comparison operators
10 years ago
Andrzej Kotulski 046654a9c0 Fix translation of unary operator! for all integral types
10 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.
10 years ago
Jules Villard b95b71fa85 add option to assume that malloc never returns null
10 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
10 years ago
Jules Villard 959730de2f modify API to be able to hook extra infer options easily
10 years ago
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
10 years ago
Andrzej Kotulski e46cddb52b Use mangling in function parameters to encode its position
10 years ago
Dulma Churchill c06795e631 Fixing the treatment of annotations in the clang frontend
10 years ago
Andrzej Kotulski c7d6d904f7 Whitelist std::min and std::max
10 years ago
Dulma Churchill edc57f70f5 Translate CXXNoexceptExpr
10 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr
10 years ago