443 Commits (5d8b4947fe1399811a59a7430cea6820b1dfc563)

Author SHA1 Message Date
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin
7 years ago
Jules Villard 1f3cae9fa4 [make] some missing dependencies
7 years ago
Mehdi Bouaziz 78120bc9e2 Fix tests
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash
7 years ago
Jeremy Dubreil 10eef3bb1f [infer][java] add model for ImmutableList$Builder.add which crashes when given a null value
7 years ago
Jeremy Dubreil bff96f1d75 [infer] remove the use of the deprecated --stats option
7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
7 years ago
Dulma Churchill b9a56a6c52 [clang] Specialize also c functions with blocks as parameters
7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks
7 years ago
Jeremy Dubreil 0a1971a08d [infer][biabduction] keep the files in the trace even when the exact location of the method is not known
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Jules Villard 38804101d9 [buck] newer Buck passes tests in STRICT_MODE
7 years ago
Sam Blackshear 47ab1a2e67 [thread-safety] skip reporting on truncated traces
7 years ago
Mehdi Bouaziz a2f69050ac [buck] Unify buck command line arguments recognition, buck query invocation, and support target patterns and aliases
7 years ago
Jules Villard df0491272c [compilation db] add support for commands with `"arguments" and no `"command"` field
7 years ago
Dulma Churchill 3c48a3f38a [objc] Do not fail in the bi-abduction with missing fields in ObjC
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
7 years ago
Jules Villard b1841c6699 [checkers] make all models and tests use checkers
7 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements
7 years ago
Dulma Churchill ca23ed5f5f [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE when the variable has __block attribute
7 years ago
Dulma Churchill bb3201a8e8 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for variables of type std:vector
7 years ago
Dulma Churchill e5007cf2e0 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for the loop indices
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions
7 years ago
Jules Villard abee644b91 [clang] update clang plugin to hash mangled names
7 years ago
Jeremy Dubreil 4c88e986b7 [infer][java] transfer the resource ownership to the container when sorting a Closeable into a HashMap
7 years ago
Jeremy Dubreil 2f0068d180 [infer][java] modeling more methods for HashMap
7 years ago
Sam Blackshear f93e500232 [thread-safety] gate de-duplication with Config.filtering
7 years ago
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir
7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Sam Blackshear d08bebe563 [reporting] don't report duplicate warnings on different instantiations of the same template
7 years ago
Jeremy Dubreil 42fc24ebfd [infer][biabduction] fix the dynamic resolution of non virtual calls
7 years ago
Jeremy Dubreil f7258c2ab4 [infer][java] fix the translation of the finally branch
7 years ago
Jeremy Dubreil 94ff44ed57 [infer][biabduction] add skipped functions to the trace when known
7 years ago
Jeremy Dubreil 20c57ad549 [infer][biabduction] add more context information about the reason to skip a method during the symbolic execution
7 years ago
Jules Villard adca07d815 [make] fix issues with `make clean && make -j test-replace`
7 years ago
Dulma Churchill 5f9c020570 [buck integration] Support passing targets by file to buck in both the compilation database integration and the flavors integration
7 years ago
Jeremy Dubreil 9a3ab41371 [infer][java] the translation was no adding the fields from the implemented interfaces
7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
7 years ago
Jeremy Dubreil 32d462b778 [infer][java] add an option to only translate the signature of the methods and skip the body
7 years ago
Jeremy Dubreil 1a221e798c [infer][java] make the translation and analysis of abstract methods and native methods consistent
7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
7 years ago
Jeremy Dubreil d4565107f6 [infer][biabduction] add the name of the skipped methods to the trace to make them more readable
7 years ago
Jeremy Dubreil f814eb40b8 [infer][java] add more example of inter-target NPEs for the Buck integration
7 years ago
Jules Villard c16884b97f [jbuilder] turn I{Std,List} and atd-generated files into libraries
7 years ago
Martino Luca 17cc5ec7be Remove unsupported `index-store-path` argument from clang commands
7 years ago
Jia Chen 674068996b Add model for <atomic>
7 years ago
Jules Villard 8de2b88783 [make] s/ocamlbuild/jbuilder/g
7 years ago
Jules Villard 679b125ac4 [trace] infer subcommand for inferTraceBugs
7 years ago
Jules Villard de86c12a9a [diff] suppress console output in report called from diff analysis
7 years ago
Jules Villard 6a4e4d4b6a [diff] support for --gen-previous-build-command-script
7 years ago
Jules Villard 766a73d80c [buck flavors] make `infer run ...` use #infer-capture-all
7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
7 years ago
Jules Villard 0793e0ff40 [make] move inferTraceBugs tests to build systems, hide more output
7 years ago
Jules Villard 833b093174 [diff] make use of --changed-file-index
7 years ago
Jules Villard 3c215b8484 [diff] run driver prologue and epilogue before diff analysis
7 years ago
Jeremy Dubreil e0ad3a9d75 [infer][differential] remove the option to prevent the conflicts between Eradicate and Biabduction
7 years ago
Jeremy Dubreil 51028b730d [infer][tests] Run the tests with the option --no-keep-going
7 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
8 years ago
Mehdi Bouaziz 30e1f4295b [c++] weak_ptr model
8 years ago
Jules Villard d07c8a0403 introduce new "diff" command
8 years ago
Jules Villard 9a2746c143 [make] fix javac capture
8 years ago
azhdar 34d6a43cdb [infer][PR] add cursorClosedCheckNullCheckClosed test
8 years ago
Jules Villard 3ed48e3196 [mvn] handle weird xml
8 years ago
Jules Villard 8b9a1f2582 add clang deps to a test
8 years ago
Martino Luca bfb8ca78a8 Fix the test command that checks the interesting_paths_filter feature
8 years ago
Jules Villard b158f5cd30 [reportdiff] add filtered out bugs to preexisting
8 years ago
Jeremy Dubreil 0806ac067b [infer][java] use a multi-target Buck project to test the Buck integration for Java
8 years ago
Martino Luca 20a6131ccf Compute differential of certain files only, if desired
8 years ago
Jules Villard e8ce7d7cad [infer] fix make clean on the buck_flavors_deterministic test
8 years ago
Jules Villard bfccb5222e [buck] do not generate non-deterministic data inside buck-out
8 years ago
Jules Villard 334c68771b [tests] add test for Buck flavors integration
8 years ago
Jules Villard 5fae8ca712 [CLI] deprecate `-a capture/compile` and `-- analyze`
8 years ago
Jeremy Dubreil d470ed6edc [infer][models] model java.io.BufferedReader as a wrapper
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Sam Blackshear fe8142deb8 [tests] tests for reporting cross-module errors with buck
8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments
8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full
8 years ago
Martino Luca 233d6a53c0 [Infer] Emit potential exception lines into qualifier's message
8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed
8 years ago
Jules Villard 724a592c34 [toplevel] do not read inferconfig location from the command line
8 years ago
Andrzej Kotulski 62d1d74d74 [Typ] Change Typ.pp_full to not include class keywords
8 years ago
Andrzej Kotulski fc7b427126 update fcp
8 years ago
Paco Estevez Garcia 5482f110c1 Add type path_exec to represent an skipped path of execution. Add logic to symExec to report skipped paths
8 years ago
Jules Villard 3ab6c43fb6 [tests] awesomize make output
8 years ago
Jules Villard 41d615c351 [lint] copyright linter lints Makefiles
8 years ago
Jules Villard cd421b4a5f [make] print @ commands when passed VERBOSE=1
8 years ago
Jules Villard 4ec3690413 [tests] add a `replace` target to all tests
8 years ago
Jules Villard 22c3c26359 unprout
8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr
8 years ago
Jules Villard 86656b2db0 [tests] make sure buck-clang-db test doesn't use the Buck cache
8 years ago
Jules Villard 0548b7bd5e [buck-db] add flavour more robustly
8 years ago
Jules Villard dac8906d86 [make] make sure makefile uses config-time values
8 years ago
Andrzej Kotulski 24b56de0e9 Populate mangled file only if it's not empty
8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme
8 years ago
Andrzej Kotulski 6c67c850d5 [clang capture] Don't attach plugin when clang is invoked in preprocessor mode
8 years ago
Andrzej Kotulski 95a8ca2d3e [tests] Run build system tests with --no-failures-allowed
8 years ago
Jules Villard 6125632af3 [subcommands] read subcommand args from .inferconfig and the env
8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code
8 years ago
Martino Luca f8a65e698c Add differential and filtering functionalities to Infer, to compare two analyses
8 years ago
Jules Villard ee9a2aa38c [python] more UTF-8 fun
8 years ago
Juergen Hoetzel fbaa1988b3 [infer][PR] [mvn] Handle recursive modules
8 years ago
Jeremy Dubreil b63a656dc4 [infer][tests] cleanup of the Cursor NPE test file
8 years ago
Jules Villard 9c61a4a035 Revert "[infer][tests] use Buck target output instead of hard copies of the paths under buck-out"
8 years ago
Jules Villard a8be4f1f4f [clang] options rename: --compilation-database -> --buck-compilation-database, --clang-compilation-db-files -> --compilation-database
8 years ago
Dulma Churchill e7fc96148a [ios] Fix xcodebuild integration with xcpretty, add test.
8 years ago
Jeremy Dubreil 4ed185e557 [infer][java] for the buck integration, remove the files that are invalidating the Buck cache
8 years ago
Jules Villard cfd3770a8b [clangdb] support shell-escaped compilation databases
8 years ago
Jules Villard 08aad39050 [clangdb] support relative paths in compilation databases
8 years ago
Jeremy Dubreil 61b49553b5 [infer][java] Add @SuppressLint as part of the Infer annotations
8 years ago
Jeremy Dubreil 266686457a [infer][java] Simplify some of the models of Java resources [2/n]
8 years ago
Jeremy Dubreil 0139ca211b [infer][java] Add an example of dynamic dispatch handling on fields
8 years ago
Jeremy Dubreil 13cdff1532 [infer][java] Dynamic dispatch: fix wrong level of indirection on pointers when specialzing methods
8 years ago
Jeremy Dubreil c2b967d27b [infer] Dynamic dispatch: use the OCaml type system to implement the invariant that the method specialization should only happen on object types
8 years ago
Jeremy Dubreil 4e02b3c525 [infer][tests] rescue ghost file for Cursor NPE test
8 years ago
Jeremy Dubreil 90f4c83ef2 [infer][java] Add some more test cases for dynamic dispatch
8 years ago
Jules Villard 2e96caac42 [mvn] new integration
8 years ago
Jules Villard ca784cdb41 [cli] warn about deprecated options, clean up infer repo
8 years ago
Jeremy Dubreil 219d5b3883 [infer][tests] use Buck target output instead of hard copies of the paths under buck-out
8 years ago
Jules Villard c10126d0fd [DB] return resolved path when path cannot be made relative
8 years ago
Gautam Korlam fe24209c3d Cleanup DEFS file for generating infer genrules
8 years ago
Jules Villard 4bf4ba1c59 [tests] make sure we delete infer-out at the start of the reactive test
8 years ago
Josh Berdine 52174fdc33 Avoid race between cmake and utf8_in_pwd tests
8 years ago
Sam Blackshear 504735e548 [java] update android.jar version to 23
8 years ago
Jeremy Dubreil 4a3573b60e [infer][java] Use lazy dynamic dispatch by default
8 years ago
Jules Villard 72d065017b [tests] run "diff" from infer/tests
8 years ago
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Jules Villard ec2cde7020 [tests] serialize buck tests
8 years ago
Sam Blackshear cd1c9750f4 [infer] models for common types of Java Lists
8 years ago
Martino Luca d044809b32 [CTL] Filter linters through a visibility flag
8 years ago
Jules Villard a2193005a9 [tests] less phony genrule test
8 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations
8 years ago
Jules Villard bcac924e7f register checkers in monocore mode
8 years ago
Jules Villard a9d5b5afdb [tests] kill empty build_integration_tests.py
8 years ago
Jules Villard c6ed7ad489 [tests] convert waf test to Makefile
8 years ago
Jules Villard b4bd78bb05 [tests] convert utf8 in pwd test to Makefile
8 years ago
Jules Villard 4c34509f6d [tests] convert unknown ext test to Makefile
8 years ago
Jules Villard c40dfc950e [tests] convert reactive test to Makefile
8 years ago
Jules Villard 25e35e8bec [tests] convert pmd-xml test to Makefile
8 years ago
Jules Villard dece9f1386 [tests] convert ndk-build test to Makefile
8 years ago
Jules Villard facdcbe6f2 [tests] convert clang multiple files test to Makefile
8 years ago
Jules Villard f57154372f [tests] move make test to a Makefile
8 years ago
Jules Villard d80c9c742d [tests] move utf8 in procname test to a Makefile
8 years ago
Jules Villard de8356e4b0 [tests] move javac test to a Makefile
8 years ago
Jules Villard 5ffd9e3a7b [tests] port gradle test to a Makefile
8 years ago
Jules Villard ebb75d6171 [tests] port --fail-on-issue test to a Makefile
8 years ago
Jules Villard 674e3c86ea [tests] port delete infer-out test to a Makefile
8 years ago
Jules Villard 241b4b04fa [tests] port ck imports test to a Makefile
8 years ago
Jules Villard 6c056f535a [tests] port ck analytics test to a Makefile
8 years ago
Jules Villard eafe1158a6 [tests] convert cmake test to a Makefile
8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional
8 years ago
Andrzej Kotulski 9fb0636ca1 [compilation db] Remove special module for compilation db
8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony
8 years ago
Cristiano Calcagno ec1a07f445 Unbreak --continue option by passing it down to the python files
8 years ago
Andrzej Kotulski c9d254c084 Initial version of reactive capture
8 years ago
Andrzej Kotulski 13fcb27431 [C++] Fix compilation errors coming from smart pointer models
8 years ago
Jeremy Dubreil 027bdc32e8 [infer][genrule] Add example of Buck DEFS macro to generate Infer analysis targets
8 years ago
Jeremy Dubreil a0b83ed693 [infer][test] The command should change directory outside the call to silent_on_success
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Andrzej Kotulski 0479720c91 [C++] Don't ignore header files passed in --changed-files-index
8 years ago
Andrzej Kotulski bd0f0cc7fc [DB] Don't fail hard when realpath fails
8 years ago
Jeremy Dubreil 532621def1 [infer][tests] No longer rely on Infer being in the PATH for the genrule integration test
8 years ago
Jeremy Dubreil 7b884144b5 [infer][tests] More complete test cases for the models of the Java Integer class
8 years ago
Jeremy Dubreil cead43b731 [infer][genrule] run the genrule integration as part of the Buck integration test
8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file
8 years ago
Andrzej Kotulski 9d6a6510e8 [clang] Translate everything coming from <X>.h files when translating <X>.cpp source
8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path
8 years ago
Andrzej Kotulski 0aa93c97bd [tests] Extend compilation database tests to handle multiple scenarios
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
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 2d846d89a6 [build tests] migrate buck integration test to Makefiles
8 years ago
Jules Villard 70720798d8 [tests] share javac.make more broadly
8 years ago
Sam Blackshear 75d6fb30e4 [frontend] support Java 8
8 years ago
Jeremy Dubreil 9921e3c427 [infer] Unbreak the build integration tests
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 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
Andrzej Kotulski 71b73368ec Add basic integration test for assembly code
8 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code
8 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH
8 years ago
Ryan Rhee a4501462cc [componentkit] Reference fake header in build system test
8 years ago
Jeremy Dubreil cde74b4043 [infer][test] always run the Buck integration test with the option --no-cache
8 years ago
Jeremy Dubreil e38e16c948 [infer][java] Remove the deprecated genrule from the BUCK files
8 years ago
Martino Luca 051fbd779c [Buck] Emit xml stub during `buck_test_xml` target
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
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
Ryan Rhee 957bdde05e Test that component kit headers skips imported headers
8 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
8 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
9 years ago
Lázaro Clapp Jiménez Labora 95a12d9706 model String.equals(...) as '=='
9 years ago
Daiva Naudziuniene 6054b4c6d4 Improved ndk-build integration.
9 years ago
Andrzej Kotulski 8d3e7e774e Move location of clang installation
9 years ago
Peter O'Hearn 508d6a3ae7 optional model
9 years ago
Daiva Naudziuniene d707c717f0 ndk-build integration test
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
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
Jules Villard 6bb3b30c36 do not crash when pygments crashes
9 years ago
Sam Blackshear 36ee3730aa reporting error on unprotected access to field annotated with @GuardedBy
9 years ago
Sam Blackshear 83f511107b stop reporting handler leaks
9 years ago
Sam Blackshear 258e765d4e adding integrity source/sink annotations
9 years ago
Sam Blackshear 4fd2f52fe8 new analysis for adding nullify's
9 years ago
Jules Villard d4521fd70d handle utf8 PWD
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
Peter O'Hearn 50081c7ccb alloc/dealloc model for locks
9 years ago
Sam Blackshear a10d7099c7 warning on deref of nullable retvals
9 years ago
Sam Blackshear e1e62be243 supporting new @PrivacySource/PrivacySink annotations
9 years ago
Jules Villard 9f10b09688 add cmake to the list of make-like tools
9 years ago
Jules Villard bc5dc80df6 waf support
9 years ago
Jules Villard d95ed8e9a7 write filenames as ascii only
9 years ago
Jules Villard 588cdcde42 options to run selective tests in build_integration_tests
9 years ago
jrm e734c1873d Fix cases of resource leaks not detected when the resource indirectly implements Closeable
9 years ago
Jules Villard 73d5a355f6 add mock gradle for e2e test
9 years ago
Jules Villard 09f5605a6e move build integration tests to infer/tests/
9 years ago