794 Commits (61b49553b59b7afd488cbda618f5c4fbf91c480c)

Author SHA1 Message Date
Sam Blackshear 9e9ca333f9 [thread-safety] use boolean domain to track locks
8 years ago
Andrzej Kotulski 0aa93c97bd [tests] Extend compilation database tests to handle multiple scenarios
8 years ago
Sam Blackshear ad5ff00dcd [quandary] making it easier to specify behavior for unknown functions
8 years ago
Andrzej Kotulski b6b7593cf6 [tests] Make project root infer/test/ for java tests
8 years ago
Andrzej Kotulski b0a0fbcc35 [tests] fix tests for open source
8 years ago
Andrzej Kotulski 2810740377 [tests] Make project root infer/test/ for clang tests
8 years ago
Sam Blackshear 935018ae9e [quandary] cheaper handling of unknown code
8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode
8 years ago
Dulma Churchill 616ee9276b [clang] Adding model for NSString length to avoid false positive npes.
8 years ago
Ryan Rhee 28b741e62c [componentkit] Compute Cyclomatic Complexity
8 years ago
Ryan Rhee ccb51912e1 [componentkit] Compute line count for main file
8 years ago
Ryan Rhee 661de290e7 [componentkit] Gate analytics behind flag
8 years ago
Dulma Churchill e8085d5996 [linters] Fix perf problem in the linters, added tests
8 years ago
Andrzej Kotulski 548918e524 [tests] extend compilation database test with changed-files-index options
8 years ago
Sam Blackshear bdfc7de48e [tests] fix buck integration tests
8 years ago
Sam Blackshear a6121a9fb0 [guarded-by] support `Classname.fieldname` syntax
8 years ago
Peter O'Hearn f2d86cb90c [GuardedBy] Model of trylock in ReentrantLock.java
8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types
8 years ago
Jules Villard b34e8fe192 [tests] fix clean targets
8 years ago
Peter O'Hearn 733646ba09 [GuardedBy] Fix Subclassing False positive
8 years ago
Sam Blackshear adacee51e2 [quandary] switch to --issues-tests printing
8 years ago
Jules Villard 17179d4275 [siof] take POD into account
8 years ago
Jules Villard b3209e2c18 [tests] convert clang_compilation_db test to Makefile
8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces
8 years ago
Andrzej Kotulski 4512fcd8ef [tests] Create integration tests for clang translation logic
8 years ago
Jules Villard ac47d115f5 [tests] include clang.make a bit later to fix compile target
8 years ago
Jules Villard 83f236451d [c] setlocale(3) accepts NULL as second argument
8 years ago
Jules Villard 2d846d89a6 [build tests] migrate buck integration test to Makefiles
8 years ago
Jules Villard 281d5b49fe [tests] sort bugs in InferPrint
8 years ago
Jules Villard 70720798d8 [tests] share javac.make more broadly
8 years ago
Peter O'Hearn 171d1d6d43 [threadsafety] run thread safety checker on its own
8 years ago
Andrzej Kotulski 6b083af4f3 [tests] small refactor of frontend makefiles
8 years ago
Sam Blackshear 75d6fb30e4 [frontend] support Java 8
8 years ago
Jeremy Dubreil 21a568aba8 [infer][java] Fix spurious class cast excpetion reports when casting arrays of primitive types
8 years ago
Dino Distefano 6ffaded4be Modified the hardcoded CTL formulas in preparation to dispatcher removal
8 years ago
Jules Villard 0085417e0d [siof] better error reports using `Errlog.loc_trace`s
8 years ago
Jules Villard 5bd8b7fa95 [make] compatibility with Debian testing
8 years ago
Sam Blackshear e8b61f6dbb [quandary] fix false positives from procedures that are both sources and sinks
8 years ago
Sam Blackshear 4b4e4e6f4d [quandary] understand that parameters are passed by value in Java
8 years ago
Jeremy Dubreil eb197a1cd4 [infer][tests] Make was always exiting with exit code 0 even in the case of test failures
8 years ago
Jeremy Dubreil 274851fc53 [infer][java] mark all methods as defined
8 years ago
Sam Blackshear 8784b9b946 [backend] fix cursor leak FPs
8 years ago
Sam Blackshear ba7cef4657 [backend] differentiate unknown methods and methods with empty summaries
8 years ago
Jeremy Dubreil 9921e3c427 [infer] Unbreak the build integration tests
8 years ago
Peter O'Hearn be977e7318 Turn GuardedBy Reporting on by default
8 years ago
Sam Blackshear fcf57c6e09 [siof] add fancy interprocedural reporting
8 years ago
Jules Villard c49b9e272d [tests] turn assembly build system test into a Makefile
8 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions
8 years ago
Jules Villard 2cd0151e30 [python] restore project_root option and use it to find source files
8 years ago
Andrzej Kotulski 80f25d17fd [tests] Create simple compilation database integration test
8 years ago
Jules Villard c9bac51b81 [tests] make clang tests Makefile more functional
8 years ago
Sam Blackshear 0b9727214d [quandary] support `StringBuilder`'s and other methods for propagating `String` taint
8 years ago
Sam Blackshear fde7a6ecf3 [quandary] support for full interprocedural traces
8 years ago
Josh Berdine 32a60e05f4 Unbreak master
8 years ago
Sam Blackshear 768a60caca [quandary] support for full interprocedural traces
8 years ago
Andrzej Kotulski 28827b461a [clang] Get translation unit language from AST dump
8 years ago
Jules Villard b876364340 [tests] convert ant integration test to a Makefile
8 years ago
Jules Villard c93bbbbbc5 [clang] run assembly commands with the fcp clang
8 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated
8 years ago
Peter O'Hearn 2d424b7779 skipping ReadWrite Locks
8 years ago
Sam Blackshear 874e7f000d [quandary] functions that transitively return sources are sources, not passthroughs
8 years ago
Andrzej Kotulski 71b73368ec Add basic integration test for assembly code
8 years ago
Sam Blackshear d76a7ef43a [quandary] functions that transitively call sinks are sinks, not passthroughs
8 years ago
Peter O'Hearn e91742afea Support @SuppressLint("InvalidAccessToGuardedField")
8 years ago
Sam Blackshear d7ae77c7c2 [quandary] make intent/logging private data tests intraprocedural
8 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code
8 years ago
Sam Blackshear 678d0ff4e9 [quandary] don't double-report when applying summaries
8 years ago
Sam Blackshear 21f9bd1ed6 [quandary] fix crash from returning exceptions that read from the environment
8 years ago
Sam Blackshear 7ae58d78c3 [infer] fix .class synchronization false-positive in guarded-by check
8 years ago
Dino Distefano 622366269d Simplified semantics of ET and EH
8 years ago
Sam Blackshear 8f68f61ec9 [quandary] remove stripped logging sinks
8 years ago
Ryan Rhee aac14999b0 [componentkit] Whitelist Native Templates
8 years ago
Ryan Rhee a45d59e478 [componentkit] Don't count unavailable initializers
8 years ago
Jules Villard bc6226942e fix tests
8 years ago
Peter O'Hearn ec45b44dfd [threadsafety] Better error message when warning on subclasses of @ThreadSafe classes
8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
8 years ago
Sam Blackshear 3ba67bac1a [quandary] more privacy sources
8 years ago
Josh Berdine 175e85525d [tests] Convert java tests to avoid phony targets
8 years ago
Ryan Rhee 5752b14d9c [componentkit] Skip implicit variables during MLV check
8 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer
8 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization
8 years ago
Sam Blackshear 319463b3bc [quandary] propagating taint from unknown procedures and constructors
8 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
8 years ago
Josh Berdine a9192cffd6 [config] Eliminate ad hoc environment variables
8 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH
8 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods
8 years ago
Ryan Rhee e73350598a [componentkit] Unconventional superclass rule
8 years ago
Ryan Rhee a4501462cc [componentkit] Reference fake header in build system test
8 years ago
Sam Blackshear 6fc1a7e20f [quandary] reporting on array passed to sink when contents of array are tainted
8 years ago
Peter O'Hearn 2601af5ade [threadsafety] don't report on class initializers
8 years ago
Jules Villard 9535c4d89e [clang] convert filter_args_and_run_fcp_clang to OCaml
8 years ago
Jeremy Dubreil cde74b4043 [infer][test] always run the Buck integration test with the option --no-cache
8 years ago
Peter O'Hearn 69f7ed5f6d [threadsafe] fix the code for recognizing constructors
8 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Sam Blackshear 08509fb2ab [quandary] don't double-report flows
8 years ago
Sam Blackshear 512de69e13 [quandary] handle dynamic dispatch
8 years ago
Peter O'Hearn 6423ec74ad Writing errors for Threadsafe checker
8 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions
8 years ago
Sam Blackshear 072fe0994f [quandary] reporting on getenv -> exec flows
8 years ago
Peter O'Hearn 07da8f36d1 don't warn on GuardedBy self reference
8 years ago
Andrzej Kotulski 2deeb3673a [C++] Don't put model includes on -isystem path in test
8 years ago
Dulma Churchill 98afe25b54 [linters] Take the attributed types into account when finding pointer types
8 years ago
Sam Blackshear 3624fea737 [quandary] tests for C++ analysis
8 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
8 years ago
Sam Blackshear 715e521ead [quandary] making summaries smaller
8 years ago
Josh Berdine 6697ed781f [tests] Rerun test without swallowing output on failure
8 years ago
Josh Berdine ac0084019c [tests] Use $(MAKE) for recursive invocations
8 years ago
Josh Berdine d8336ea906 [backend] Keep common constraints in pure join
8 years ago
Josh Berdine 30541ec329 [tests] Add test for suboptimal join of attributes
8 years ago
Jules Villard eb391d7875 [llvm] delete llvm frontend
8 years ago
Jules Villard 7d49e16d63 [clang] rewrite hijack_and_normalize_clang_command in OCaml
8 years ago
Sam Blackshear 4a35862aa8 [quandary] dont add passthroughs from callee to caller
8 years ago
Sam Blackshear 5e2e7b88aa [quandary] allow trace-specific rules for handling unknown code
8 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer
8 years ago
Jeremy Dubreil e38e16c948 [infer][java] Remove the deprecated genrule from the BUCK files
8 years ago
Ryan Rhee 967532ea2e [componentkit][test] Rename test files
8 years ago
Ryan Rhee df988dd051 [componentkit][test] Import proper fake header in second test
8 years ago
Jeremy Dubreil 2e2e9c89d6 [infer][java] Removing the models for com.squareup.okhttp.internal.StrictLineReader
8 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
8 years ago
Martino Luca 051fbd779c [Buck] Emit xml stub during `buck_test_xml` target
8 years ago
Sam Blackshear df8a4f6481 [quandary] tests for divergence
8 years ago
Sam Blackshear af9f34bb60 [quandary] checking for flows from Intents parsed via Uris -> startActivity (and similar)
8 years ago
Ryan Rhee 6475e358c4 [componentkit][const] Ignore NSError
8 years ago
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.
8 years ago