3575 Commits (d8be5e0874068df19873398ca95cf232fd514473)

Author SHA1 Message Date
Daiva Naudziuniene 3001cb6323 [threadsafety] Add ownership on stack-allocated variables in cpp
7 years ago
Sam Blackshear b57084902d [thread-safety] better error messages for write-write races that are distinct, but conflicting writes rather than self-races
7 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages
7 years ago
Sam Blackshear 4255d918ad [thread-safety][cleanup] clean up error messages/comments
7 years ago
Jeremy Dubreil 5741dbf2a5 [infer][java] remove unused list of dynamic dispatch policies
7 years ago
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro.
7 years ago
Jules Villard 485ece7ef1 [sql] bump busy timeout from 1s to 10s
7 years ago
Jeremy Dubreil f81aafc9cf Fix ObjC frontend tests
7 years ago
Dino Distefano 86bfe674ff Fix ObjC frontend tests
7 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations
7 years ago
Jeremy Dubreil 6f0c4cda4a [infer][java] disable the cache of specs files used to speed up the analysis of Buck Java projects
7 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr)
7 years ago
Mehdi Bouaziz 093bf285cc [inferbo] Do not report subsumed issues
7 years ago
Sungkeun Cho 54de59919e [inferbo] Prune vector's size by vector::empty() condition check
7 years ago
Mehdi Bouaziz a1451c5a3a pp_instr_list should end with ;
7 years ago
Kyriakos Nikolaos Gkorogiannis d179c4ccb5 [threadsafety] Address issue arising from actuals and formals having different lengths at call sites (this time for ObjC).
7 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes
7 years ago
Kyriakos Nikolaos Gkorogiannis 9e1d96c1f2 [threadsafety] Fix exception thrown by list of actuals and formals not having the same length in some cases (C++?)
7 years ago
Kyriakos Nikolaos Gkorogiannis a64034fbf9 [threadsafety] Fix make-excluder uses which potentially incorrectly assume a lock is held.
7 years ago
Dulma Churchill 3924d25a25 [clang] Remove two more cases of assert false cases that happen in the apps
7 years ago
Mehdi Bouaziz 6c39c2ccd3 Fix pp_instr_list nontailrecursiveness
7 years ago
Josh Berdine 7b891e45eb [thread-safety] Remove some dead code
7 years ago
Josh Berdine e9cd0872ed [thread-safety][c++] Do not quotient by may_alias when analyzing non-Java code
7 years ago
Josh Berdine c081cef5a5 [thread-safety][c++] Skip folly::detail::SingletonHolder::createInstance
7 years ago
Josh Berdine b92909fe71 [thread-safety][c++] Add models for several synchronization operations
7 years ago
Kyriakos Nikolaos Gkorogiannis 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible.
7 years ago
Jules Villard da8333718a [biabduction] catch exceptions more broadly
7 years ago
Jules Villard 810d756f79 [clang] split StringLiterals into chunks
7 years ago
Jules Villard e5ee17e8aa [buck] do not bin the contents of buck-out if --continue is passed
7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 4873e78440 Buckets comments and cosmetics
7 years ago
Martino Luca 929c9c07a1 Use Spawn.spawn instead of Unix.fork_exec to avoid swallowing exceptions while invoking execve
7 years ago
Sam Blackshear c3564c94be [cleanup] Remove L.progress printing of creating results database
7 years ago
Sam Blackshear 32583aa876 [thread-safety] Change meaning of @ThreadSafe to "can run in parallel with any thread including itself"
7 years ago
Josh Berdine 96af301910 [thread-safety] More informative printing of access paths
7 years ago
Sam Blackshear 983bcbbae7 [traces] add matches function for extra flexibility in expanding traces
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
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues
7 years ago
Mehdi Bouaziz d5c08ee752 [inferbo] Move proof obligations to their own module and split them
7 years ago
Sam Blackshear 76bf0a7819 [thread-safety][cleanup] get rid of thumbs_up
7 years ago
Sam Blackshear 768d6e4f3d [thread-safety] better error message for actuals/formals mismatch
7 years ago
Martino Luca 7bd2cedb1d [fcp] Add ooti_ prefix to objc_object_type_info type
7 years ago
Dulma Churchill c9be3c9f94 [integration] Support buck integration with compilation db when passing @mode/... arguments
7 years ago
Jules Villard b54c44e5a0 [cli] enable --fail-on-issue for commands other than run
7 years ago
Jules Villard 65a53a0c63 [cli] do not regenerate report.json when printing specs to stdout
7 years ago
Jules Villard f3d98eb807 [time] do not rely on gettimeofday for measuring time
7 years ago
Jules Villard 97efcd426f [sql] clean up temp files after running
7 years ago
Jules Villard 1b6c77b624 [clang] mark crash sites as `unimplemented` or `incorrect_assumption`
7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Sam Blackshear d70babb871 [thread-safety] eliminate escape analysis
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Jules Villard b8a4147744 [term] do not apply terminal colour codes if the output is not a tty
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
7 years ago
Mehdi Bouaziz ea4d97ecf8 [inferbo] No bottom bound
7 years ago
Mehdi Bouaziz 26f847f381 [inferbo] Conditions should not have bottom intervals
7 years ago
Mehdi Bouaziz 39ff045569 [ai] No need to create a domain for a bottom_lifted type
7 years ago
Jules Villard 8012d61b0f [sql] do not generate the source file for attribute store if they are no-op
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Jules Villard b00451d23e [sql] Cache key blobs
7 years ago
Jules Villard 40c44b0378 [sql] reuse prepared statements
7 years ago
Jules Villard 993ee56fa1 [sql] disable compaction while merge results
7 years ago
Mehdi Bouaziz cfd6148dab [inferbo] Better pp
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Martino Luca 03a727143a Remove previous_decl field from ast_expressions.ml
7 years ago
Mehdi Bouaziz f37339bd38 Use SymOp.try_finally to avoid swallowing timeouts
7 years ago
Mehdi Bouaziz e8ca44c808 Ensures retry is tailrec
7 years ago
Josh Berdine 959665f5bd [backend] Fix and cleanup uses of sorted lists in substitution operations
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Jeremy Dubreil 37bdf46967 [infer][objc] example of HIL translation using Objective C closure
7 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap
7 years ago
Jeremy Dubreil 3c09ae953d [infer][objc] Run the biabduction test using the checkers analyzer
7 years ago
Dulma Churchill de162c86ab [cleanup] Do not create captured folders when only linting
7 years ago
Dulma Churchill 652af47da7 [linters] Add transition to parameters by position in the parameters list
7 years ago
Dino Distefano d694038abd New test for the tableaux method.
7 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
7 years ago
Jeremy Dubreil ba6ef4f5b2 [infer][clang] run the C++ tests using the checkers analyzer
7 years ago
Jeremy Dubreil 5e18a19bfd [infer][test] the ThreadSafety cpp tests should not run in debug mode
7 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions
7 years ago
Jeremy Dubreil e17e157ae1 [infer][java] no longer combine the type environment with the type environment of the models
7 years ago
Sam Blackshear dfc15372c4 [checkers] make get_proc_desc usable from cluster checkers
7 years ago
Jeremy Dubreil 243fd57eb7 [infer] Add an option to specify the name of the nullable annotation
7 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
7 years ago
Jeremy Dubreil f05cc6385c [infer][cleanup] remove old Eclipse project files
7 years ago
Jeremy Dubreil 14d01620d2 [infer][objc] example of nullable annotation suggestion on Objective C
7 years ago
Sungkeun Cho 9f9dbdb914 [Inferbo] Extend abstract domain for vector::empty
7 years ago
Dulma Churchill 234d3627b6 [clang] Support the new @available expression in ObjC in the unavailable API check
7 years ago
Jules Villard abee644b91 [clang] update clang plugin to hash mangled names
7 years ago
Jules Villard cb8e75be85 [clang] do without unstructured type strings
7 years ago
Sam Blackshear ece8678417 [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 39a71d607c [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 18a9e52752 [cleanup] remove Idenv from checkers callbacks
7 years ago
Sam Blackshear 6a76bc6c7a [checkers] move aggregation by class out of cluster checker callbacks
7 years ago
Jules Villard f1b97d5a89 [make] do not accidentally build the -O3 infer when running `make test_build`
7 years ago
Jules Villard e02f6ab39f [exceptions] make more efforts to preserve backtraces
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 8740e8a11a [infer][java] no longer report the resource leaks when using the tracing mode
7 years ago
Jeremy Dubreil 2f0068d180 [infer][java] modeling more methods for HashMap
7 years ago
Jeremy Dubreil 7b8c46a04e [infer][biabduction] remove the flag to trigger on/off the angelic mode in the backend
7 years ago
Sam Blackshear 45dbb42705 [absint] make InvertedSet/InvertedMap functors consistent non-inverted versions
7 years ago
Sam Blackshear ca51c72f3a [thread-safety] support assertOnBackgroundThread and similar
7 years ago
Sam Blackshear 1e605bdd94 [thread-safety] new threads domain
7 years ago
Sam Blackshear b3e8e972d6 [thread-safety] separate warning type for interfaces called in non-threadsafe context
7 years ago
Sam Blackshear f93e500232 [thread-safety] gate de-duplication with Config.filtering
7 years ago
Jeremy Dubreil 41451743f7 [infer][biabduction] Minor simplification of the load symbolic execution code
7 years ago
Jules Villard 5b55179cbf [python] do not fail when trying to log the Java version
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
Jeremy Dubreil 2294bfda8f [infer][test] update the shared pointer test names
7 years ago
Martino Luca 35ad7dd8bf [AL] Use Parmap to schedule parallel processes on compilation-database-based analyses
7 years ago
Dulma Churchill 5569ee751a [linters] Add transitions Fields and FieldName
7 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields
7 years ago
Dino Distefano f3b158a158 Fix use of SEL in AL
7 years ago
Jeremy Dubreil 4ec5440692 [infer][clang] port the nullable suggestion on fields on C++
7 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes
7 years ago
Sam Blackshear b61a34007a [thread-safety] re-enable check for calling non-threadsafe interface
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
7 years ago
Jules Villard f8d7c81045 [build] switch to 4.05.0+flambda by default
7 years ago
Jules Villard 16dcae58fa [buck] display the time it took to merge Buck targets (--flavors)
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Jeremy Dubreil f8d04b4717 [infer][java] quick patch to fix the assertion failure when the path of a context leak cannot be found
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
Sam Blackshear ca3e454481 [reporting] aggregate issues from all procedures before reporting
7 years ago
Dulma Churchill 59be79a81e [linters] Improve the linters-doc-url flag, by splitting the url from the left, so we allow urls with colons
7 years ago
Jules Villard 2fff3b0733 [clang] distinguish genuine internal failures from unimplemented features
7 years ago
Sam Blackshear faf04af1f4 [cleanup] kill some debug code
7 years ago
Sam Blackshear 6533aa65c6 [quandary] deserialization as sink
7 years ago
Daiva Naudziuniene 81c0fe6754 [clangplugin] Updating infer to work with the latest clang plugin version
7 years ago
Dulma Churchill d8765d1d44 [linters] Include only base name of ObjC methods in the linters bug hash
7 years ago
Dulma Churchill b99b653ffa [linters] Fix the computing of the successors of method declarations
7 years ago
Jules Villard d7057ece2b [log] disable --keep-going in strict mode
7 years ago
Jules Villard 0cc371d0a2 [driver] remove infer-clang fake command
7 years ago
Jeremy Dubreil bb85b24f0a [infer][java] simplify the process of java.lang.Process
7 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters
7 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
7 years ago
Jules Villard b740533945 [pp] refactor Pp functions and make them more flexible
7 years ago
Jules Villard b3b4e42067 [threadsafety] watch out for non-Java pnames
7 years ago
Dino Distefano 8cad1b5e69 Remove ETX operator from AL
7 years ago
Sam Blackshear 375b808394 [access tries] max width config
7 years ago
Sam Blackshear 5ff6e2c786 [quandary] EditText.getText() as source
7 years ago
Jeremy Dubreil f7258c2ab4 [infer][java] fix the translation of the finally branch
7 years ago
Josh Berdine 0da92c24ea [thread-safety][c++] Add models for some std::map operations
7 years ago
Jules Villard c07cd81392 [log] better exception reraising
7 years ago
Jules Villard 24a9e44dd1 [log] log to toplevel log file in infer subprocesses
7 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
7 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
7 years ago
Dulma Churchill 7e3298711c [AL] Compute a witness child node when computing formulas to be used for more precise bug hashing
7 years ago
Sungkeun Cho e5ee27af20 [Inferbo] Bugfix: incorrect pruning for unary negation
7 years ago
Sam Blackshear fd105802db [thread-safety] don't use Map.choose or Set.choose
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
Jeremy Dubreil 84f7732b21 [infer][java] fix inconsistent treatment of the --skip-implementation option
7 years ago
Jules Villard 5b3c2c0901 [clang] fix evaluation order bug discovered by building with OCaml 4.05.0
7 years ago
Martino Luca 740e9973d6 Replace existing calls to `exit` with InferExit exceptions to better control flow of executions
7 years ago
Martino Luca e247492901 [AL] Validate AST node names in AL source files
7 years ago
Jeremy Dubreil dd51a2e22b [infer][java] the skip-implementation option should preserve the line number information, which is not the case when translated those methods as native methods
7 years ago
Jules Villard adca07d815 [make] fix issues with `make clean && make -j test-replace`
7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Jules Villard 003777fa44 simpler logic for determining if an attribute is "fresher" than another
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 8cee4fefd5 [infer][biabduction] remove unused skip flag
7 years ago
Jeremy Dubreil d0d78aae7b [infer][biabduction] no longer exchange the expressions associated to an attribute
7 years ago
Jeremy Dubreil 9a3ab41371 [infer][java] the translation was no adding the fields from the implemented interfaces
7 years ago
Jules Villard b5ff17825f [log] print sensible backtrace and message on `Logging.die`
7 years ago
Sam Blackshear b2edf17b21 [quandary] better logging
7 years ago
Sam Blackshear 81c68a34cd [infer] python integration: parser, cfg support
7 years ago
Sam Blackshear 4065b1d120 [dead stores] recognize lambdas with `auto` parameter
7 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
7 years ago
Sam Blackshear 9ab89025a8 [utils] only make copies of strings that need to be escaped
7 years ago
Jules Villard c42431115f [make] clean more
7 years ago
Jules Villard 62853bbd72 [config] make --<checker>-only actually work
7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
7 years ago
Daiva Naudziuniene 5ee61a4019 [destructors] Refactoring destructor translation.
7 years ago
Dulma Churchill d5be23f1b6 [backend] Do not add return annotations to parameters of functions that are skipped
7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
7 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
7 years ago
Sam Blackshear b4c0ddcff3 [cleanup] kill `Config.frontend_debug`
7 years ago
Dulma Churchill 47221ab273 [linters] Add support for Cxx structs when querying types
7 years ago
Dulma Churchill ecd79a56d3 [linters] Support transition Parameters also by ObjC method calls
7 years ago
Dulma Churchill 47088e078e [linters] Use the sdk version by path in the error message of unavailable api check
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
Jeremy Dubreil a03f765d8f [infer][biabduction] no longer drop the atoms that are referring to footprint variables
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
7 years ago
Daiva Naudziuniene 19d1b25919 Adding changes to objc issues to fix tests.
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
Sam Blackshear 81fbcf7501 [access trie] make max depth configurable
7 years ago
Jeremy Dubreil 04d3142f6b [infer][java] translate the unsingned shift operator as standard shift operator
7 years ago
Jeremy Dubreil 1d8d6e3ceb [infer][java] remove the hack around virtual calls on arrays
7 years ago
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
7 years ago
Daiva Naudziuniene 02c2e2b5bf Added a function to test if procdesc is a destructor.
7 years ago
Dulma Churchill 9f19f12a1b [linters] Fix incorrect assert false in Component linters
7 years ago
Daiva Naudziuniene a2c67afe6c [threadsafety] Testing if a race that happened in a private method is reported in a caller public method.
7 years ago