3696 Commits (a91e7dda500288985c9765e9b83cf00eb61cb78d)

Author SHA1 Message Date
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
Dulma Churchill acbf6c90fe [linters] Add example of checking whether a parameter passed to a function is initialized with a selector only
7 years ago
Dulma Churchill 0b5c992a93 [linters] Add an example of checking for an empty map in the argument of a method call
7 years ago
Sam Blackshear b15e4846c3 [quandary] only enable expensive buffer/allocation sinks in developer mode
7 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
7 years ago
Sam Blackshear 028a28752b [access trees] function for computing depth
7 years ago
Jules Villard 56b4348970 [jbuild] keep beta11 for now
7 years ago
Sam Blackshear 76b2fece85 [quandary] better printing of sources
7 years ago
Sam Blackshear a207243a3c [quandary] better printing for access trees
7 years ago
Sam Blackshear 5d578cf196 [quandary] make it possible to report taint errors on footprint sources again
7 years ago
Jules Villard b1b7cc0b9d [make] better way of limiting concurrency and better jbuilder concurrency
7 years ago
Jules Villard c16884b97f [jbuilder] turn I{Std,List} and atd-generated files into libraries
7 years ago
Martino Luca e8a0599850 [AL] add `--linters-validate-syntax-only` to check whether there are any syntax errors in AL files
7 years ago
Martino Luca 3576f2f7cc [AL] New exception ALFileException with source-location info
7 years ago
Martino Luca 98b1f74071 Refactor AL parser's exception into a separate module
7 years ago
Sam Blackshear f821d8948f [quandary] add memcpy, memset, and similar as sinks
7 years ago
Sam Blackshear 3b56b93ae5 [quandary] apply summary for sinks
7 years ago
Sam Blackshear fc828640ea [quandary] remove concept of a footprint source
7 years ago
Sam Blackshear 94ceebfef8 [quandary] represent footprint as unified set of access path rather than conjunction of special sources
7 years ago
Sam Blackshear 3e6e76a2b2 [quandary] fix widening bug
7 years ago
Dulma Churchill df1063b9eb [linters] Adding example of checking a parameter for empty struct
7 years ago
Jules Villard a34fcebc59 [models] avoid race conditions when building and installing the models
7 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0
7 years ago
Dulma Churchill a3309926b3 [linters] Add transition parameter with label for ObjC method declarations or method calls
7 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape
7 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path
7 years ago
Jeremy Dubreil 9e217ea1b1 [infer][java] add mli for the JConfig module to automatically remove dead code
7 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
7 years ago
Jules Villard 8fd9d40ca8 [cleanup] use constant strings in `Config` for dir names
7 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
7 years ago
Jeremy Dubreil 9d67b6c07d [infer][java] make the code more consistent to detect that constructor is a creating a resource
7 years ago
Greg Nisbet 7fc5cb7930 exinferbo] check end of procedure for unreachability
7 years ago
Jules Villard 7847c154d8 [merlin] use `S **` instead of listing each directory
7 years ago
Jeremy Dubreil 02ec9c6571 [infer][build] detect unused code at compile time
7 years ago
Sam Blackshear 2876f50703 [quandary] popen as sink
7 years ago
Sam Blackshear e0ad650dcd [thread-safety][cleanup] use record for summary type
7 years ago
Dulma Churchill 336f6f8dff [linters] Support reference types in the linters type parser
7 years ago
Jeremy Dubreil 54eaaa9573 [infer][biabduction] remove the check for null test after dereference on Java
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Jules Villard 117a7364be [merlin] disable warning 60 (unused module declaration)
7 years ago
Jules Villard 4bc6fd92ba [jbuild] avoid paths mentioning "." needlessly
7 years ago
Jules Villard 888ca46371 [make] fix issue that breaks build incrementality
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
Jia Chen 3e82890d6d Teach the prover and the normalizer aliasing rules between pointers and integers
7 years ago
Jules Villard d6ab087a4a [make] ignore files in _build for mod_dep
7 years ago
Dulma Churchill 3589773bf7 [buck integration] Add a dependency depth option
7 years ago
Dulma Churchill 79105952d6 [linters] Avoid a perdiod in mid sentence in the error messages
7 years ago
Jules Villard ebbc202342 [help] in infer --help, show in which manual each option can be found
7 years ago
Dulma Churchill cb4cf39d49 [buck integration] Pass targets to buck in a file
7 years ago
Sam Blackshear 3a7d50e15b [thread-safety] more precise ownership domain
7 years ago
Sam Blackshear d0ee36b3a8 [thread-safety] add ownership domain: map of access paths to a lattice of ownership predicates
7 years ago
Sam Blackshear 41fb45f388 [thread-safety] add OwnedIf attribute to all formals at the beginning
7 years ago
Sam Blackshear f738a7186a [quandary] fix assertion failure due to unexpected operator=
7 years ago
Jules Villard 52746fd9eb [checkers] add --<checker>-only options
7 years ago
Jules Villard 6505fa694d [help] add --long-reset for list and optional options
7 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL
7 years ago
Jules Villard 8de2b88783 [make] s/ocamlbuild/jbuilder/g
7 years ago
Jia Chen 4733f878a4 [infer][backend] Extend the scope of NULL_TEST_AFTER_DEREFERENCE check
7 years ago
Jules Villard 5074388e25 [buck] always create multilinks for attribute files
7 years ago
Dulma Churchill 931d4442c8 [buck integration] Add buck flavor option to use for getting dependencies
7 years ago
Andrzej Kotulski de6c396800 [docs] Extend src/clang/README.md with info about AST
7 years ago
Andrzej Kotulski 8523577bae [C++] update fcp to deal with template specializations
7 years ago
Jules Villard f5ee50e7b5 [graphql] kill unused files
7 years ago
Alexander Slesarev a3452e5119 [infer][PR] Updated fix for the gradle capture issue regarding projects with space-containing paths
7 years ago
Sam Blackshear 1157364a09 [preanalysis] kill copy-propagation code
7 years ago
Sam Blackshear 557faa4a46 [bi-abduction] use ProcCfg instead of file CFG
7 years ago
Andrzej Kotulski 6ca447fa6a [C] Fix issue with enum initialization lists
7 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
7 years ago
Andrzej Kotulski 5847dd3fe9 [C++] Fix model of std::vector::size
7 years ago
Dulma Churchill c435ba2c76 [linters] Add a reset option for linters-def-folder
7 years ago
Sam Blackshear 7be5df384e [quandary] stack allocation of array as sink
7 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink
7 years ago
Sam Blackshear 9c99c38b22 [quandary] handle procedures that have name conflict with sinks, but different number of args
7 years ago
Sam Blackshear d850492ffe [cleanup] kill condition_is_assignment check
7 years ago
Jules Villard 679b125ac4 [trace] infer subcommand for inferTraceBugs
7 years ago
Jules Villard b2ee1152fe [prover] do destructive normalization to prove more
7 years ago
Sam Blackshear 91d518979b [quandary] log internal error when taint sink index doesn't match
7 years ago
Sam Blackshear 4b8a5683aa [java] fix noexcept hack
7 years ago
Dulma Churchill 76629ee9a4 [buck integration] Implement a way of getting the compilation database for dependencies of given targets
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
Jeremy Dubreil 34d10fdede [infer][cleanup] remove some left-over use of the Eradicate analyzer entry
7 years ago
Sam Blackshear 73dba57e45 [cleanup] remove useless append_instrs on empty instruction list
7 years ago
Jia Chen b68770d592 [infer][backend] Teach the biabduction analysis more simplification rules
7 years ago
Sam Blackshear 6d001ee566 [access paths] optional index expression for arrays
7 years ago
Sam Blackshear b61a68e859 [quandary] HTML creation as a sink
7 years ago
Jia Chen 5deffbce24 Teach the prover more simplification rules
7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
7 years ago
Jules Villard 766a73d80c [buck flavors] make `infer run ...` use #infer-capture-all
7 years ago
Andrzej Kotulski c473f21f81 [C++] fix std::vector::empty model
7 years ago
Daiva Naudziuniene 7a3decf7f7 [ThreadSafety] Treating lock_guard destructor as Unlock.
7 years ago
Jeremy Dubreil 93ad3773fc [infer][biabduction] no longer catch the Unix errors during the symbolic execution
7 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored
7 years ago
Jeremy Dubreil 99b412e165 [infer][checkers] remove the Eradicate analyzer option
7 years ago
Sam Blackshear f83284ad7c [access paths] make raw access paths the default, move abstraction into AccessPath.Abs module
7 years ago
Sam Blackshear 25d9f940fe [dead stores] fix FPs due to capture by ref
7 years ago
Sam Blackshear 36ea71a983 [HIL] add function for getting type of HIL expression
7 years ago
Jeremy Dubreil 15a8848502 [infer][biabduction] always reuse the same abduced return variable for unknown methods in Java
7 years ago
Jules Villard 4958130297 [reportdiff] take key into account for file renamings
7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
7 years ago
Jules Villard 6f3cdd462d [report] make --report-hook show up in `infer --help`
7 years ago
Dulma Churchill 00c1b354e1 [linters] Improve to_string method for boxed values
7 years ago
Dulma Churchill d0858c7770 [linters] Improve the to_string method for string constants
7 years ago
Jeremy Dubreil a292620a69 [infer][backend] No longer swallow the process failures unless --keep-going is passed from the command line
7 years ago
Mehdi Bouaziz 5ea80fdb82 [inferbo] Remove temporary logical variables
7 years ago
Jeremy Dubreil 53278f780c [infer][biabduction] simplify the symbolic execution of the execute load instruction
7 years ago
Jeremy Dubreil 7680c83f45 [infer][build] enable the OCaml compiler unused value declaration warning
7 years ago
Sam Blackshear c6ee53de50 [thread-safety] relax treatment of array aliasing
7 years ago
Jules Villard 854b8f30bd [CLI] always pass --issues-txt to the report hook script
7 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
7 years ago
Jules Villard 0793e0ff40 [make] move inferTraceBugs tests to build systems, hide more output
7 years ago
Sam Blackshear 6b792e0015 [thread-safety] track container reads and report read/write races
7 years ago
Jules Villard 0bd5ef8d0f [report-hook] take location of bugs.txt from the command line
7 years ago
Jules Villard cfecff03c3 [reportdiff] allow "current" and "previous" to be specified in any order and among other fields in file_renamings.json
7 years ago
Jules Villard 0c7f08d29d [wibble] `driver_mode` -> `mode` in `Driver` module
7 years ago
Jules Villard 833b093174 [diff] make use of --changed-file-index
7 years ago
Jules Villard a5393e9a37 [diff] set reactive when `infer-diff` is invoked
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 f2cb85e3ab [infer][backend] remove unused code
7 years ago
Sam Blackshear 8fde27014a [absint] add widening threshold to crash hard in the face of likely divergence
7 years ago
Josh Berdine b36eaa2618 [clang] Disable -fembed-bitcode
7 years ago
Jules Villard 4792e37a73 [make] kill PATH hack
7 years ago
Sam Blackshear c2acc670ef [cleanup] remove unused param from supertype_find_map_opt
7 years ago
Jia Chen f658690846 Whitelist more iterator-related functions and classes
7 years ago
Sam Blackshear 1b35411a5f [thread-safety] fix understanding of non-atomic writes to doubles/longs
7 years ago
Sam Blackshear 8ab998acf5 [obj-c] don't warn that self might be null
7 years ago
Sam Blackshear e43090bdc2 [java] translate `final` keyword as annotation
7 years ago
Jia Chen 7642d86c68 Oversized shift no longer produce an assertion failure
7 years ago
Radu Grigore e52b3f22b5 [infer][PR] Flush output after printing bugs in txt format.
7 years ago
Jules Villard ed0da85f6c [python] kill unused --android-harness option
7 years ago
Sam Blackshear df3590c407 [thread-safety] refactoring to make it easier to add container reads
7 years ago
Andrzej Kotulski c2207f5b06 small fixes to infer/src/*/README.md files
7 years ago
Jeremy Dubreil 51028b730d [infer][tests] Run the tests with the option --no-keep-going
7 years ago
Jeremy Dubreil 9cf8d0fd3b [infer][java] fail early on broken CFGs
7 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
7 years ago
Jeremy Dubreil 7dc3232f5f [infer][biabduction] no longer catch the exceptions by default during the symbolic execution
7 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda
7 years ago
Jeremy Dubreil ff30afac8b [infer][al] fix the linters test output
7 years ago
Jia Chen c9a2dcf7b1 Added constant-folding support for shifting
7 years ago
Dino Distefano a386ef5e83 Adding predicate for identify a selector with a particular name
7 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
7 years ago
Jules Villard fb2fa5c5ce [python] return more errors when external commands fail
7 years ago
Jia Chen c4f153947b Removed unused option `allow_missing_index_in_proc_call`
7 years ago
Sam Blackshear 2dcde3a812 [thread-safety] make a distinguished access kind for container writes
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
7 years ago
Jeremy Dubreil fd4fbe163c [infer] make sure we never swallow the failures when analyzing the models
7 years ago
Sam Blackshear 9246d1357c [thread-safety] temporarily disable non-threadsafe interface checks
7 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
7 years ago
Jia Chen bd90e80859 Added model for std::shared_ptr's aliasing constructor
7 years ago
Sam Blackshear 853d476f13 [liveness] fix bug in usage of OneInstrPerNode CFG
7 years ago
Sam Blackshear ecf9c1b402 [quandary] expose actuals to Source.get
7 years ago
Jules Villard 845114f570 [al] precompute regexps
7 years ago
Sam Blackshear 73f3eee9cd [checkers] use liveness analysis to create dead store checker
7 years ago
Sam Blackshear 1fb9fb48f5 [thread-safety] warning when interface method is called from thread-safe context without annotation
7 years ago
Jules Villard 54fdab889a [driver] do not complain if results directory is empty
7 years ago
Jules Villard fb9cad4ea7 [utils] `Utils.dir_is_empty` was always returning `false`
7 years ago
Jules Villard a6632d8039 [make] restore incrementality of builds
7 years ago
Sam Blackshear 58a7cc48c1 [java integration] use argfile when trying to store a lot of data in the environment
7 years ago
Sam Blackshear 03120a337e [thread-safety] refactor ThreadSafetyDomain.Access to make it easier to add new access kinds
7 years ago
Mehdi Bouaziz 30e1f4295b [c++] weak_ptr model
7 years ago
Sam Blackshear 5784357322 [thread-safety] make Pool subclasses return ownership
7 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
7 years ago
Jia Chen 217363f5d6 Whitelist comparison operators and their equivalent functors in <functional>
7 years ago
Jia Chen 6c874957d0 Turn the analysis on for std::pair
7 years ago
Jia Chen 3bacba762a Whitelist the constructors+conversion operators+destructors for classes listed on whitelisted_cpp_classes
7 years ago
Jia Chen c80812453f Fix a corner case in Normalize.normalize where it could drop useful information during normalization
7 years ago
Sam Blackshear 72e778d094 [thread-safety] tests for escape analysis
7 years ago
Jules Villard 4d7742fd68 [javac][wrapper] specify which infer binary to use
7 years ago
Mehdi Bouaziz e828b0bf8a [pp] hv box for printing collections
7 years ago
Sungkeun Cho 2091a529b1 [inferbo] Avoid precision loss on pruning
7 years ago
Sam Blackshear 52577c0a69 [CLI] don't allow the Java buck integration to store too much data in an environment var
7 years ago
Kyriakos Nikolaos Gkorogiannis 410728d18f [thread-safety] Interprocedural escape analysis for formals/locals (essentially step (3) in Sam's list).
7 years ago
Andrzej Kotulski d4c728913a [clang] Ignore all -mllvm args passed to clang -cc1
7 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
7 years ago
Mehdi Bouaziz be0c53ddf3 [cpp] Fix failure with c++14 init-capture
7 years ago
Sam Blackshear 29f686d245 [buck] include hash of .inferconfig in cache key
7 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
7 years ago
Jules Villard 297254d15e [buck] create log files erase at the end of the run
7 years ago
Jules Villard 5dd4b1c870 [build] avoid race condition, and do not run atdgen twice, add ocaml_clean
7 years ago
Jules Villard d07c8a0403 introduce new "diff" command
7 years ago
Jules Villard b0c2cfd7d4 [config] kill --bugs-json option
7 years ago
Jules Villard 9a2746c143 [make] fix javac capture
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Josh Berdine 8c6615963f Revert "[infer][PR] Fixed the gradle capture for the projects with spaces in their path."
7 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
7 years ago
Jules Villard 36b6ab1779 [log] die in a proper fashion
7 years ago
Jeremy Dubreil ad54126dab [infer][ondemand] add a `--keep-going` command line option to specify when to catch the exceptions raised during the analysis
7 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
7 years ago
Sungkeun Cho 1531a3d538 [inferbo] Pruning return value of function call
7 years ago
Pavel Grafov 82f7104ff7 [infer][PR] Fix javac wrapper
7 years ago
Dulma Churchill 4a6652faef [linters] Do not report mutable local variable in components advice on static locals
7 years ago
azhdar 34d6a43cdb [infer][PR] add cursorClosedCheckNullCheckClosed test
7 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
7 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
7 years ago
Josh Berdine bf2a0cfc53 Prepare to format OCaml and convert Reason code
7 years ago
Jeremy Dubreil 927a6cfbb6 [infer][quandary] add the tests from the bi-abduction based taint analysis to the Quandary tests
7 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
7 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
7 years ago
Dulma Churchill 8e078c33d7 [linters] Print active linters to the stdout when --print-active-checkers is passed
7 years ago
Jules Villard e79f3837c3 [CLOpt] allow to override the subcommand in infer sub-processes
7 years ago
Jia Chen c1905b87b1 Making the report blacklist configurable through command line
7 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
7 years ago
Jules Villard 3ed48e3196 [mvn] handle weird xml
7 years ago
Jules Villard 50dc0bcad4 [driver] refuse to nuke suspicious results directories
7 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
7 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
7 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
8 years ago
Jia Chen 89de9504bb Fixed a (supposed) typo in objc test
8 years ago
Andrzej Kotulski e5556949d3 [backend] Introduce type substitution to expressions and instructions
8 years ago
Andrzej Kotulski 621ace48af [backend] Make Sil.subst type variant to allow more types of substitution
8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Josh Berdine a5c999db1e [threadsafety] Limited support for more access path forms
8 years ago
Mehdi Bouaziz 2ee8321456 [cpp][model] Do not define _LIBCPP_VECTOR or _GLIBCXX_VECTOR
8 years ago
Jules Villard 8b9a1f2582 add clang deps to a test
8 years ago
Jia Chen 89ef9356d0 Useful but insignificant changes in Prover
8 years ago
Mehdi Bouaziz d1bc510cd5 [biabduction][test] Repro of issue 680
8 years ago
Mehdi Bouaziz 42c224c224 [cpp][bufferoverrun] Regression test for folly/memory/UninitializedMemoryHacks.cpp
8 years ago
Mehdi Bouaziz d9b3b4d9ff [inferbo] Do not report location in model
8 years ago
Jules Villard 7e2b5dd161 [inferbo] printing every state of symbolic execution is verbose
8 years ago
Jia Chen 28b691d9fd [infer][backend] Perform deep match in Sil.exp_replace_exp
8 years ago
Josh Berdine 3161206534 [quandary] Continue past unbindable return values
8 years ago
Josh Berdine 926c6fee97 [threadsafety] Skip indirect calls in C++
8 years ago
Jia Chen 77c56de7a9 [infer][backend] Do not create abduced var for addresses of local variables that are marked as Aundef
8 years ago
Jia Chen 10f1969bcf [infer][cpp] Fixed the error message for dangling pointer dereference when the dereference comes from C++ `delete` operator
8 years ago
Jia Chen afc8c1b762 [infer][backend] Deallocate local variables before formal parameters
8 years ago
Josh Berdine a98f5ab244 unbreak build
8 years ago
Josh Berdine b83ab88b65 [multilinks] do not warn when the multilink does not exist
8 years ago
Josh Berdine 8ce531b3de [threadsafety] Fix divergence due to indexing string literal in loop
8 years ago
Kihong Heo 94d6efb83a [Inferbo] Add traces for buffer overrun bug report
8 years ago
Jia Chen 257e684392 [infer][checker] Put AnnotationSpec.sink_predicate and AnnotationSpec.sanitizer_predicate into actual use for annotation reachability checker
8 years ago
Martino Luca bfb8ca78a8 Fix the test command that checks the interesting_paths_filter feature
8 years ago
Jeremy Dubreil 987347ceca [infer][java] Infer should not suggest to add @Nullable for the field nullified on Fragement onDestroyView
8 years ago
Jia Chen f9e03681f8 Fix test
8 years ago
Jia Chen b5b9c28a02 Add --write-html-regex-whitelist option that prints out debugging html only for selected source files
8 years ago
Daiva Naudziuniene 8e91932be2 [ThreadSafety] Do not report on private C++ methods
8 years ago
Alexander Slesarev c2f7ee9337 [infer][PR] Fixed the gradle capture for the projects with spaces in their path.
8 years ago
Radu Grigore 8c98bee660 [infer][PR] Make --java-jar-compiler visible in `infer capture --help`.
8 years ago
Daiva Naudziuniene 250449e08a [ThreadSafety] Treating unique_lock.
8 years ago
Sungkeun Cho c45c9c745f [inferbo] Instantiate pointer parameters to structures
8 years ago
Daiva Naudziuniene 77e3110adc Propagating access of Decl from clang plugin to ProcAttributes.
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Jia Chen 301ebd4cd5 Teach do_imply additional aliasing rules
8 years ago
Jules Villard 068622ce1b [-notest] goodnight, sweet prince
8 years ago
Jules Villard b9c59b2b1d [vector] model beginPtr and endPtr separately
8 years ago
Jules Villard 2f569e2b97 [driver] move things around
8 years ago
Jules Villard 83148a71aa [rundiff] thread the changed files list through the code instead of using the Config-time value
8 years ago
Jules Villard 6388910b96 [inferbo] vector::get() returns an allocated value
8 years ago
Andrzej Kotulski a864b4068f [clang IR] Change Fieldname.t to store typename
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Jia Chen a8ad84b9d3 Prevent addresses of local vars from appearing in function summary
8 years ago
Kihong Heo 7176fc936a [inferbo] fix the semantics of unknown library calls
8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols
8 years ago
Jules Villard cd83a24381 [merge] only try to read/create multilink files when --merge is specified
8 years ago
Jia Chen 806585db26 Fix aliasing rules about local variables introduced before
8 years ago
Jeremy Dubreil e200b6cdcc [infer][java] Simplify some of the models
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Sungkeun Cho f8b8dd1abb [infer] Parse unsigned short (uint16_t) as IUShort
8 years ago
Dulma Churchill 2d1a8f4940 [linters] Remove leftover code related to paths
8 years ago
Jules Villard f38462407e [utils] make `read_file` return a `Result.t`
8 years ago
Jules Villard b158f5cd30 [reportdiff] add filtered out bugs to preexisting
8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list.
8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Jia Chen f7927cadda Teach the frontend to recognize STL throw wrappers
8 years ago
Jia Chen 62cfd554c7 Teach the Prover additional aliasing rules about local variables
8 years ago
Sam Blackshear cb95bde659 [labs] clean up lab document
8 years ago
Sam Blackshear 4f54fabf4f [absint] move the framework bits/utilities of Infer.AI to a separate directory from the clients (checkers ~= transfer functions + domains)
8 years ago
Mehdi Bouaziz 63fcddb4a7 [inferbo] Do not store dummy idents into stack
8 years ago
Sungkeun Cho 00390d367a [inferbo] Refactor new symbol generation
8 years ago
Sungkeun Cho f45f4cb4c0 [Bufferoverrun] symbolic value for parameter
8 years ago
Sungkeun Cho 52c0caafaf [inferbo] Declare unsigned typed parameters
8 years ago
Sungkeun Cho 1f721d0824 [inferbo] Revise modulo semantics for positive values
8 years ago
Kyriakos Nikolaos Gkorogiannis b4f6308495 [thread-safety] Restrict propagation of attributes in an assignment; treat ownership propagation more strictly.
8 years ago
Daiva Naudziuniene 0a786e9019 [ThreadSafety] Do not report if all accesses are unprotected.
8 years ago
Andrzej Kotulski 4ce997c8f0 [clang] blacklist -profile-guided-section-prefix
8 years ago
Mehdi Bouaziz 7e9f859896 More detailed error message for typ_get_recursive_flds
8 years ago
Mehdi Bouaziz aad66bc6f6 [inferbo] More tests
8 years ago
Jia Chen 108c865b20 [infer][checker] Put AnnotationSpec.report into actual use for annotation reachability checker
8 years ago
Jia Chen 1edcbce35b Whitelist std::swap in C++ analyses
8 years ago
Jeremy Dubreil 0806ac067b [infer][java] use a multi-target Buck project to test the Buck integration for Java
8 years ago
Dulma Churchill 855b87e5d9 [linters] Remove internal error warning that is not really an error
8 years ago
Jules Villard da82d94a12 [report] restore "no issues found" output
8 years ago
Dulma Churchill 45a8e48e00 [linters] Adapt the debugger and linters-developer-mode to the new logs
8 years ago
Martino Luca 04db7b6db2 Simple refactoring of issues.py
8 years ago
Marco Concetto Rudilosso d196c03434 [infer][PR] JMain link is broken
8 years ago
Martino Luca 20a6131ccf Compute differential of certain files only, if desired
8 years ago
Daiva Naudziuniene 336b7182c3 [ThreadSafety] Releasing lock at the end of the procedure if it has a lock_guard field.
8 years ago
Jules Villard e87e2b007d [AI] escape html output
8 years ago
Sam Blackshear 1f153d3e3f [absint] kill `AbstractInterpreter.Interprocedural` module
8 years ago
Dulma Churchill ad7028cb49 [printing] Make sure that error messages end in a dot.
8 years ago
Jules Villard 0554da99e7 [perfstats] do not register the same file twice in the same process
8 years ago
Jules Villard a84df4673a [flock] truncate locked files explicitly to prevent race conditions
8 years ago
Dulma Churchill 47f1c6ffac [linters] Global paths
8 years ago
Mehdi Bouaziz f8eb9c2466 @\n only for format strings
8 years ago
Jeremy Dubreil 29d42a5e32 [infer][backend] Only call the prover to check that an expression being dereferenced is not null after checking if the expression is associated with @Nullable
8 years ago
Martino Luca acb7cf8dfe Remove unused `--filter-report-paths` argument
8 years ago
Mehdi Bouaziz 69e0063593 [vector] Define _LIBCPP_VECTOR / _GLIBCXX_VECTOR
8 years ago
Sam Blackshear 2a3032d0e3 [absint] rename confusing compute_and_store_post function
8 years ago
Dulma Churchill 99a0f894b6 [linters] Add option to blacklist the unavailable api check for some files
8 years ago
Sam Blackshear 03703e316c [thread-safety] understand that Pools.Pool.acquire returns ownership
8 years ago
Dulma Churchill d4d8db4025 [linters] Adding some missing dots to the suggestion sentences in the default linters.
8 years ago
Andrzej Kotulski 1c8ce44042 [Fieldname] Kill equal_modulo_parent
8 years ago
Sam Blackshear 5a420f7aee [quandary] only report code injection via endpoints on strings
8 years ago
Kihong Heo 8567afdf55 [inferbo] add instantiation for parameters (call-by-ptr/ref)
8 years ago
Daiva Naudziuniene 5938c6331d [ThreadSafety] Extending lock model with lock_quard.
8 years ago
Dulma Churchill dfca0cdcf7 [linters] Introduce whitelist and blacklist path, also multiple paths
8 years ago
Jia Chen 938425020d [infer] Do not treat static locals as stack-allocated in the biabduction analysis
8 years ago
Sam Blackshear 4fe9110ad3 [quandary] SQL sinks
8 years ago
Martino Luca f2728f5592 Suppress warnings on SourceFile creation, if desired
8 years ago
Jules Villard e8ce7d7cad [infer] fix make clean on the buck_flavors_deterministic test
8 years ago
Kyriakos Nikolaos Gkorogiannis cfe79cf1ca [thread-safety] Add SimplePool as container, mild refactoring of container handling.
8 years ago
Josh Berdine fdad9f552b [threadsafety] Check @ThreadSafe annotation per class instead of per file
8 years ago
Martino Luca 392ae928f1 Add unit folder to merlin
8 years ago
Don Stewart 35ac57c378 Typo in message.
8 years ago
Sam Blackshear 3cd7fa1c62 [quandary] remember name of tainted parameter for endpoint source
8 years ago
Jeremy Dubreil 7dd7b460e0 [infer][java] skip reports on generated methods
8 years ago
Jeremy Dubreil c51458f7a8 [infer][ondemand] no longer use deprecated reporting function for the suggest nullable checker
8 years ago
Jeremy Dubreil cddd1b4ca2 [infer][ondemand] rename the logging functions to outline the deprecated ones
8 years ago
Sam Blackshear 7b8eef52f8 [thread-safety] fix bad read/write race traces
8 years ago
Jia Chen 73aa7fe212 [infer] Initial attempt to cleanup and generalize the annotation reachability checker
8 years ago
Sam Blackshear 08586f3e81 [checkers] logging to summary in printf args checker
8 years ago
Sam Blackshear d4ee640dd6 [thread-safety] better error messages
8 years ago
Martino Luca b7d0c3d45b Limit creation of TV links
8 years ago
Kyriakos Nikolaos Gkorogiannis bee8e21633 [thread-safety] Add model and tests for SimpleArrayMap container.
8 years ago
Andrzej Kotulski cf8d5483db [C++] Add option to exclude header models from compilation
8 years ago
Jules Villard bfccb5222e [buck] do not generate non-deterministic data inside buck-out
8 years ago
Jules Villard 8f50c9dd3b [buck] do not pass unused --buck to python
8 years ago
Dulma Churchill 57dd45dd82 [linters] Improve the error message in implicit cast error
8 years ago
Sam Blackshear 0714b93b14 [quandary] use sink index info when expanding traces
8 years ago
Jules Villard 334c68771b [tests] add test for Buck flavors integration
8 years ago
Daiva Naudziuniene 093a00af9b [ThreadSafety] Do not report for c++ classes that do not have mutex member.
8 years ago
Jules Villard d1ef5ae27f [log] fix issue with --print-logs
8 years ago
Jules Villard ba5e04cf39 [clang] save temporary clang commands into /tmp
8 years ago
Dino Distefano 55da0055c9 Predicate for `using namespace`
8 years ago
Jeremy Dubreil 8917536944 [eradicate] model System.getenv as @Nullable
8 years ago
Jia Chen bbed46de47 [infer][java] Suggest @Nullable on fields that are compared to null
8 years ago
Sam Blackshear 24d541d403 [quandary] move some utility functions for manipulating footprint vars/access paths into appropriate modules
8 years ago
Sam Blackshear 3135560283 [quandary] move trace expansion logic into Quandary
8 years ago
Jules Villard b449b8c735 [wibble] refactor error output
8 years ago
Jules Villard 6435e6b001 [build] put clang plugin files inside src/clang_plugin/ instead of src/clang/
8 years ago
Jules Villard e24bffef98 [police] open IStd automatically
8 years ago
Jules Villard 7a1f1d93ad [log] --stats sets debug level to 1
8 years ago
Sam Blackshear 97bf3324c8 [quandary] add indexes to sinks
8 years ago
Sam Blackshear 2089cd8a34 [thread-safety] container models for SparseArray/SparseArrayCompat
8 years ago
Sam Blackshear 56201964ca [cleanup] make `PatternMatch.is_subtype` reflexive
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard 03bd3f1df1 [log] append ERROR in front of `failwith` toplevel messages
8 years ago
Jules Villard b50f9f2695 [police] open IStd everywhere
8 years ago
Jules Villard a121e4bb01 [oops] do not report in analysis sub-processes
8 years ago
Jules Villard 6f0911c157 [CLI] do not generate --command options by default
8 years ago
Peter O'Hearn ddcbb419be [threadsafety] Thumbs up step 1
8 years ago
Jules Villard 644066f4be [driver] make clear when the results dir becomes available
8 years ago
Jules Villard 5fae8ca712 [CLI] deprecate `-a capture/compile` and `-- analyze`
8 years ago
Jules Villard 1727bd4125 [clang] clang pointer map becomes a clang pointer hashtbl
8 years ago
Sam Blackshear aa50d90a7d [quandary] get rid of report_reachable bool in taint specifications
8 years ago
Sam Blackshear 3e45a249d5 [thread-safety] fix infinite loop in quotient_access_map
8 years ago
Mehdi Bouaziz ec7b096ff6 [inferbo] Add warnings and errors for unreachable code
8 years ago
Kyriakos Nikolaos Gkorogiannis 7be1bfa89f [threadsafety] Fix some FPs added by may-alias analysis.
8 years ago
Jia Chen c0e20e0880 Propagate C++ noexcept annotation from frontend to backend
8 years ago
Jia Chen 2720716b95 Prettier error message for NullabilitySuggest
8 years ago
Sam Blackshear 7d828fff93 [quandary] make it possible to specify code that should be modeled even if we have a summary
8 years ago
Jules Villard 84b9901b22 [driver] run analysis and reporting for "analyze" commands
8 years ago
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer
8 years ago
Jules Villard 2608ec67c3 [CLOpt] add option `f` argument to a bunch more `mk_*` functions
8 years ago
Jules Villard 0404641ab3 [utils] move parts of utils into their own submodules to avoid future dependency cycle
8 years ago
Daiva Naudziuniene f4b9bb3e3b [ThreadSafety] Do not report unprotected writes for c++.
8 years ago
Mehdi Bouaziz 5bed343280 [commandline] Fix error option '' expects one of
8 years ago
Jia Chen 6fc287656f Transitively track null assignment in NullabliltySuggest
8 years ago
Martino Luca 2e8e5733f6 [AL] Load AL files from a directory
8 years ago
Jules Villard f9c146ced1 [log] pardon my french
8 years ago
Mehdi Bouaziz 70c4aec26e [inferbo] Fix vector model
8 years ago
Dino Distefano 0809279b3b Extending type parser to deal with typedefs
8 years ago
Sam Blackshear 4ef487928c [quandary] make passthroughs optional
8 years ago
Sam Blackshear 38d3946c71 [quandary] support for basic return value sanitizers
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Mehdi Bouaziz 2d73c71845 [debug] Links to non-visited nodes
8 years ago
Dulma Churchill 46a539df82 [linters] Specify path in linters
8 years ago
Kihong Heo 485814a75a [Inferbo] remove redundant alarm message
8 years ago
Mehdi Bouaziz cc6b0f1e0b [inferbo] Print skipped warnings only with bo_debug >= 4
8 years ago