1222 Commits (e3e2fb22a159c329237ca96d74077b7d795707ae)

Author SHA1 Message Date
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 652af47da7 [linters] Add transition to parameters by position in the parameters list
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
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
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
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
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
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 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
Sam Blackshear 6533aa65c6 [quandary] deserialization as sink
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
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
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
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
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
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Jeremy Dubreil 9a3ab41371 [infer][java] the translation was no adding the fields from the implemented interfaces
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
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
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
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
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
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
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
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
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
7 years ago
Sam Blackshear 5d578cf196 [quandary] make it possible to report taint errors on footprint sources again
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 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
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
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
7 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
7 years ago
Greg Nisbet 7fc5cb7930 exinferbo] check end of procedure for unreachability
7 years ago
Sam Blackshear 2876f50703 [quandary] popen as sink
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
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
Sam Blackshear 3a7d50e15b [thread-safety] more precise ownership domain
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
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
Andrzej Kotulski 8523577bae [C++] update fcp to deal with template specializations
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
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
Jules Villard b2ee1152fe [prover] do destructive normalization to prove more
7 years ago
Jia Chen b68770d592 [infer][backend] Teach the biabduction analysis more simplification rules
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
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 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 25d9f940fe [dead stores] fix FPs due to capture by ref
7 years ago
Jeremy Dubreil 15a8848502 [infer][biabduction] always reuse the same abduced return variable for unknown methods in Java
7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
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
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
Sam Blackshear c6ee53de50 [thread-safety] relax treatment of array aliasing
7 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
7 years ago
Sam Blackshear 6b792e0015 [thread-safety] track container reads and report read/write races
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
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
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
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
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 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
Mehdi Bouaziz 30e1f4295b [c++] weak_ptr model
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
Sam Blackshear 72e778d094 [thread-safety] tests for escape analysis
7 years ago
Sungkeun Cho 2091a529b1 [inferbo] Avoid precision loss on pruning
7 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
8 years ago
Mehdi Bouaziz be0c53ddf3 [cpp] Fix failure with c++14 init-capture
8 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
8 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
8 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
8 years ago
Sungkeun Cho 1531a3d538 [inferbo] Pruning return value of function call
8 years ago
Dulma Churchill 4a6652faef [linters] Do not report mutable local variable in components advice on static locals
8 years ago
azhdar 34d6a43cdb [infer][PR] add cursorClosedCheckNullCheckClosed test
8 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
8 years ago
Jeremy Dubreil 927a6cfbb6 [infer][quandary] add the tests from the bi-abduction based taint analysis to the Quandary tests
8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
8 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
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Mehdi Bouaziz 2ee8321456 [cpp][model] Do not define _LIBCPP_VECTOR or _GLIBCXX_VECTOR
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
Jia Chen 28b691d9fd [infer][backend] Perform deep match in Sil.exp_replace_exp
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
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
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
Daiva Naudziuniene 8e91932be2 [ThreadSafety] Do not report on private C++ methods
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
Jules Villard b9c59b2b1d [vector] model beginPtr and endPtr separately
8 years ago
Jules Villard 6388910b96 [inferbo] vector::get() returns an allocated value
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
Jia Chen 806585db26 Fix aliasing rules about local variables introduced before
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 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
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
Mehdi Bouaziz aad66bc6f6 [inferbo] More tests
8 years ago
Jia Chen 1edcbce35b Whitelist std::swap in C++ analyses
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
Dulma Churchill 47f1c6ffac [linters] Global paths
8 years ago
Mehdi Bouaziz 69e0063593 [vector] Define _LIBCPP_VECTOR / _GLIBCXX_VECTOR
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
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