1788 Commits (80de1334823f1227410fae32fa71f1aca1eafce2)

Author SHA1 Message Date
Jeremy Dubreil 10eef3bb1f [infer][java] add model for ImmutableList$Builder.add which crashes when given a null value
7 years ago
Dulma Churchill 306a0a9182 [liveness] Do not report on variables with block attribute
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Daiva Naudziuniene 9e2ecac204 [LockConsistency] Add ownership to container accesses for cpp
7 years ago
Sam Blackshear 74670cb0ba [dead stores] don't warn on dead stores of ScopeGuard's
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
Sam Blackshear 8d0f141974 [dead stores] identify dead stores involving struct values
7 years ago
Sam Blackshear 427dad5aa6 [racerd] keep adding accesses after prefix of a path is owned
7 years ago
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary
7 years ago
Dino Distefano dfb8b421ac Extending uninit to struct
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Sam Blackshear 164fa457e9 [quandary] treat any non-primitive endpoint formal as a source
7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition
7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Jeremy Dubreil a991b98d02 [infer][nullable checker] also report a null dereference error when adding nil key or value to NSDictionary
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Sungkeun Cho 9deec6ffde [inferbo] Fix evaluation of Lindex
7 years ago
Jeremy Dubreil 354b46f8ca [infer][nullable checker] no report for objects created by URLWithString:
7 years ago
Jeremy Dubreil a4428a4cae [infer][nullable checker] report an error when a nullable value is stored into an NSArray without being checked for null
7 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code
7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables
7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL
7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++
7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators
7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted
7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'.
7 years ago
Sam Blackshear 7428f36fbd [quandary] turn off dynamic dispatch handling in Java
7 years ago
Daiva Naudziuniene e07a20ea6d [reporting] Report access path from the initial sink rather than the final sink.
7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct
7 years ago
Jeremy Dubreil 4a1eae048a [infer][clang] fix unitialized value false positive for values not initialized in the throw branch
7 years ago
Dulma Churchill 18782be7c9 [linters] Adding a new predicate for in an ObjC class that is subclass of some class
7 years ago
Dino Distefano 979c476fa3 Do not report when defining an array
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Dominic Cooney c542b65a42 Add a lint rule warning about ObjC custom setters for weak properties
7 years ago
Daiva Naudziuniene ff475e43e4 [LockConsistency] Do not merge read/write with container read/write
7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment
7 years ago
Sam Blackshear 29fe7d1689 [quandary] thrift services as sources + remote code execution risk issue type
7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
7 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file
7 years ago
Jeremy Dubreil 4283bf2602 [infer][java] re-use the Eradicate models for Preconditions.checkNotNull and the like
7 years ago
Jeremy Dubreil b3f75da37e [infer][nullable checker] only report once when the return of a nullable method is derferenced several times
7 years ago
Sam Blackshear d221a0ae42 [racerd] don't report INTERFACE_NOT_THREAD_SAFE on thread-confined interfaces
7 years ago
Dino Distefano ce711d7e8a [uninit] Reporting parameters calls which are not passed by reference
7 years ago
Jeremy Dubreil 8274453277 [infer][clang] the nullable checker should not warn on Objective C method call when the receiver is nullable
7 years ago
Jeremy Dubreil d85d185402 [infer][java] Enable the @Nullable checker on Java
7 years ago
Jeremy Dubreil 5e1b7faf97 [infer][clang] the nullable checker should not report on methods that have already been checked for null
7 years ago
Sam Blackshear ad522a8b19 [dead stores] don't warn on likely-harmless dead stores to default values
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
Sam Blackshear 4ee4ebb42a [hil] don't move any accesses across lock acquisition/release
7 years ago
Daiva Naudziuniene ccd2c76344 [LockConsistency] Adding ownership of locals for c-style functions
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Sungkeun Cho 042dd7d9cb [inferbo] revise semantics of vector::data
7 years ago
Sam Blackshear 5e910929be [quandary] handle taint propagation in copying of structs/via derefs of pointers to structs
7 years ago
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock
7 years ago
Josh Berdine 149deb97ed [thread-safety][c++] Model std::unique_lock::owns_lock
7 years ago
Josh Berdine 3bab37b261 [thread-safety][c++] Change to LOCK_CONSISTENCY_VIOLATION issue type
7 years ago
Sam Blackshear 67c45bed78 [quandary] fix invariant 1: "sink(s) with only non-footprint source" violations
7 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments
7 years ago
Dino Distefano a75073907c Fix uninit for temp variables
7 years ago
Sam Blackshear 5f6d3a0d7f [quandary] new issue type for untrusted variable length array creation
7 years ago
Sam Blackshear 6ea6c74a5c [quandary] add new issue types for sql injection and shell injection
7 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block
7 years ago
Dulma Churchill b95c4e34d6 [dead store objc] Whitelisting macro variables in dead stored checker for Objective-C
7 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section
7 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address
7 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks
7 years ago
Jeremy Dubreil c4949f372e [infer][clang] the nullability checker was not reporting when dereferencing a field of a nullable object
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Anders Papitto a92ba5a2a9 Eradicate: model get and remove as nullable for stdlib Map variants
7 years ago
Sam Blackshear d2433476a5 [quandary] fix heuristic for recognizing buffer access
7 years ago
Josh Berdine 6f8f7140bb [frontend][tests] Record test form ptr_mem.cpp
7 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store.
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
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 1bc62212ba [tests] Fix test broken in master
7 years ago
Dino Distefano f87447ba52 Uninitialized value/variable checker
7 years ago
Sam Blackshear 169df0fe80 [thread-safety] infer accesses that need to be safe from lock usage
7 years ago
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int
7 years ago
Sam Blackshear 3a5a0413bb [thread-safety] remove special treatment for immutable collections
7 years ago
Jules Villard 3790ca5487 [checkers] declare --resource-leak with the other checkers
7 years ago
Jules Villard b95f29c8d1 various minor improvements
7 years ago
Sam Blackshear c2c1679a5f [inferprint] fix template deduplication
7 years ago
Jeremy Dubreil 9282e30d72 [infer][checkers] move the tests for the lab in it own directory
7 years ago
Jeremy Dubreil 03cb052ad9 [infer][checkers] run the Java biabduction tests using the checkers framework
7 years ago
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
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro.
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
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
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 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible.
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
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
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
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
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 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
7 years ago
Mehdi Bouaziz be0c53ddf3 [cpp] Fix failure with c++14 init-capture
7 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
7 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
7 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
Sam Blackshear 4fe9110ad3 [quandary] SQL sinks
8 years ago
Kyriakos Nikolaos Gkorogiannis cfe79cf1ca [thread-safety] Add SimplePool as container, mild refactoring of container handling.
8 years ago
Don Stewart 35ac57c378 Typo in message.
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
Sam Blackshear 7b8eef52f8 [thread-safety] fix bad read/write race traces
8 years ago
Sam Blackshear 08586f3e81 [checkers] logging to summary in printf args checker
8 years ago
Kyriakos Nikolaos Gkorogiannis bee8e21633 [thread-safety] Add model and tests for SimpleArrayMap container.
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
Daiva Naudziuniene 093a00af9b [ThreadSafety] Do not report for c++ classes that do not have mutex member.
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 3135560283 [quandary] move trace expansion logic into Quandary
8 years ago
Sam Blackshear 2089cd8a34 [thread-safety] container models for SparseArray/SparseArrayCompat
8 years ago
Sam Blackshear aa50d90a7d [quandary] get rid of report_reachable bool in taint specifications
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
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer
8 years ago
Daiva Naudziuniene f4b9bb3e3b [ThreadSafety] Do not report unprotected writes for c++.
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
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
Dulma Churchill 46a539df82 [linters] Specify path in linters
8 years ago
Kihong Heo 485814a75a [Inferbo] remove redundant alarm message
8 years ago
Mehdi Bouaziz f521e5fbc0 [inferbo] Models for exit, fgetc
8 years ago
Mehdi Bouaziz c9803a6481 False negative tests for std::timed_mutex
8 years ago
Mehdi Bouaziz b2e03b1734 [inferbo] New test for call by ptr/ref
8 years ago
Josh Berdine bf504c5b70 Minimal thread safety analysis for C++
8 years ago
Jia Chen 07c6fbef81 Added an initial implementation of a checker that suggest the use of @Nullable
8 years ago
Peter O'Hearn 34ae89cf35 [threadsafety] Model more xThreadUtil methods
8 years ago
Kihong Heo de32a6728e [inferbo] remove bottoms in pointer arithmetic
8 years ago
Kyriakos Nikolaos Gkorogiannis 750cc65092 [threadsafety] fix false negative on locations that may alias.
8 years ago
Peter O'Hearn 0c8222cb2f [threadsafety] Model isMainThread()
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Sam Blackshear 927b08346e [SRI summer school] skeleton code for lab
8 years ago
Peter O'Hearn 0abceb730b [threadsafety] record threaded information alongside accesses and use disjunction for thread join
8 years ago
Sam Blackshear 54f1122bc0 [quandary] allowing specification of C++ endpoints
8 years ago
Dino Distefano 4e7c7f30c1 Extended transitions to universal quantified operators
8 years ago
Dino Distefano e77ca182a5 Added a lint for namespace
8 years ago
Jules Villard b964f6ab74 [CLI] options to unset default checkers and to print active checkers
8 years ago
Jeremy Dubreil 441bf7131a [infer][CLI] remove the Tracing analyzer option and only rely on the --tracing option for the biabduction analysis
8 years ago
Jeremy Dubreil d470ed6edc [infer][models] model java.io.BufferedReader as a wrapper
8 years ago
Dino Distefano bdd2395be6 Adding ability to get type of paramters.
8 years ago
Sam Blackshear 45aaa4da93 [quandary] gflag globals as source
8 years ago
Dino Distefano cfd0a9b038 Extending type parser to parse ObjC classes.
8 years ago
Jeremy Dubreil 64ab959486 [infer][java] model the Eradicate assertion utils for the biabduction analysis
8 years ago
Sam Blackshear abc5642c83 [quandary] tests for string functionality
8 years ago
Jules Villard 252c78bb0e [clang] initialize dynamically-size stack-allocated arrays
8 years ago
Sam Blackshear d5f4784e61 [quandary] add more exec sinks
8 years ago
Jeremy Dubreil 7d0375d9ee [infer][checkers] add missing command line flags to enable/disable the checkers enabled by default
8 years ago
Jeremy Dubreil a56ac06c7e [infer][tests] update the expected test results for bufferoverrun analysis
8 years ago
Kihong Heo 984a81413a [inferbo] Top for unanalyzed variables (e.g., global variables)
8 years ago
Sam Blackshear d446f0f800 [quandary] clipboard as a source
8 years ago
Jules Villard 06dfadecb7 [pmd] handle failure of decoding procedure ids as Java methods
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Sam Blackshear 9910391144 [quandary] improved handling of unknown code in C++
8 years ago
Sam Blackshear b7afa4727d [hil] fix crash when translating C code that indexes string literals like arrays or does pointer arithmetic
8 years ago
Sam Blackshear 4e97d1e991 [quandary] add support for C++ parameter passing modes that differ from Java
8 years ago
Mehdi Bouaziz 491cc2587b [infer] More mutex models
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Dino Distefano 99552edd7b Extending type parser to parse pointer types.
8 years ago
Dulma Churchill c9670d215d [linters] Add new predicate has_type and check for implicit cast
8 years ago
Sam Blackshear 30b3075d11 [quandary] allow specification of parameter sources via JSON
8 years ago
Sam Blackshear 6c8f3fe618 [quandary] allocation as a sink
8 years ago
Jeremy Dubreil 7e12885f98 [infer][checkers] remove the quandary analyzer option and rely on the --quandary flag only
8 years ago
Dino Distefano c6a29e5e8a Adding more builtin type to parser
8 years ago
Sam Blackshear 6af6ef35ec [quandary] support sources that taint a pointer arg or arg passed by ref rather than the return value
8 years ago
Sam Blackshear 28bc279cdc [quandary] tests for passthroughs
8 years ago
Jeremy Dubreil 9e4cbc919b [infer][checkers] Using the same filtering mechanisim for the biabduction analysis for the main Infer analysis and when using the checkers framework
8 years ago
Sam Blackshear a0377fe8c9 [quandary] treat call to unknown operator= as assignment
8 years ago
Sam Blackshear 9dc7e3d66f [quandary] handle return value passed by reference in sources
8 years ago
Mehdi Bouaziz 37896ff435 [inferbo] More errors on symbolic intervals
8 years ago
Mehdi Bouaziz 5a57be9003 [infer][checkers] remove the bufferoverrun analyzer option and rely on the --bufferoverrun flag only
8 years ago
Jeremy Dubreil 8064ac2614 [infer][checkers] remove the siof analyzer option and rely on the --siof flag only
8 years ago
Jeremy Dubreil ef354e6e2b [infer][checkers] remove the threadsafey as analyzer option and rely on the --threadsafety flag only
8 years ago
Jeremy Dubreil 0097d8a5cb [infer] First step to the biabduction analysis using the checkers framework
8 years ago
Dulma Churchill 1a141eddca [ObjC capture] Model functions related to dispatch sources
8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations
8 years ago
Dino Distefano 5bb41cc18c Removing predicates _strict
8 years ago
Dino Distefano 3c6f53c896 Adding predicate to get return type of a method and start a new parser for types
8 years ago
Sam Blackshear a02b37a03c [quandary] allow custom sources/sinks in C++
8 years ago
Mehdi Bouaziz 3131660ede [inferbo] Model-like test for vector
8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments
8 years ago
Sam Blackshear 7b44236874 [thread-safety] remove hacky special case for Builder's
8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full
8 years ago
Andrzej Kotulski aefbbe8680 [clang] Translate type qualifiers into Sil
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Peter O'Hearn 3db1f9e94c [threadsafety] Treat clone() as aquiring ownership
8 years ago
Mehdi Bouaziz 2dbde13335 [inferbo] Use Logging for logging
8 years ago
Jeremy Dubreil c0c813c657 [infer][java] only report one annotation reachability issue per end of call stack
8 years ago
Sam Blackshear 3c0cf115b3 [quandary] add option for parsing endpoints from inferconfig
8 years ago
Sungkeun Cho 7212890846 [Bufferoverrun] More prune to make some nodes unreachable
8 years ago
Sungkeun Cho b4b32f8d3e [Bufferoverrun] set uninitialized values in array as top
8 years ago
Sam Blackshear a4f2d99be9 [quandary] a few more ContentProvider sinks
8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed
8 years ago
Mehdi Bouaziz d20d71da50 [bufferoverrun][tests] Move bufferoverrun cpp tests to their own directory
8 years ago
Sam Blackshear 20aff78b36 [quandary] ContentProvider Uri's as sources/files as sinks
8 years ago
Kihong Heo 9cad51d00a [Bufferoverrun] add vector test for cpp
8 years ago
Sam Blackshear 3024d9aed2 [quandary] more IPC sources
8 years ago
Sam Blackshear bcbb032052 [quandary] WebView.postUrl is a sink
8 years ago
Sam Blackshear 3c7361a83d [thread-safety] assume findViewById returns ownership
8 years ago
Sam Blackshear b0216035f4 [frontend] don't treat Sawja-generated ternary operator vars as SSA tmps
8 years ago
Sam Blackshear 1f9c2cde85 [thread-safety] clean up error message printing
8 years ago
Peter O'Hearn 4c2ef788a1 [infer][threadsafety] Use disjunction in the join for threaded
8 years ago
Jules Villard 652cf81dab disable flaky generic model test
8 years ago
Sam Blackshear 00f948e924 [quandary] don't add callee-local state to the caller
8 years ago
Sam Blackshear 92011790c2 [quandary] optimize handling of unknown code by adding notion of 'taintable types'
8 years ago
Sam Blackshear d7f39970d1 [thread-safety] report both a read and write stack trace in R/W race reports
8 years ago
Dino Distefano 7cef8ae3b5 Making AL distinguish class methods from instance methods
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
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models
8 years ago
Sam Blackshear 899cfadfbd [access paths] don't compare types of bases
8 years ago
Sam Blackshear 52dbd129cd [quandary] don't complain about transferring extras between intents
8 years ago
Sam Blackshear 417ddb1bc0 [quandary] make params of WebViewClient methods sources where appropriate
8 years ago
Sam Blackshear 8c5b15f65b [thread-safety] report more warnings by inferring when state is accessed by methods marked `@ThreadSafe` and other methods.
8 years ago
Andrzej Kotulski 21af28619f [C++] Use annotate attribute instead of deprecated
8 years ago
Sam Blackshear 88430c3e51 [quandary] make index field optional for custom sinks specified in JSON
8 years ago
Sam Blackshear 615489a619 [thread-safety] don't report on protected reads
8 years ago
Dino Distefano 3ebf8c3277 Added the capability to import macros files in AL
8 years ago
Sam Blackshear c255823673 [quandary] clean up `Intent` sinks
8 years ago
Sam Blackshear ff3159953d [thread-safety] don't report read-write races when the write is in a private or autogenerated proc
8 years ago
Jeremy Dubreil f5adab59ec [infer][checkers] Prevent the race conditions between the summaries passed as parameter to the checkers and the summaries from the specs table
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 cd421b4a5f [make] print @ commands when passed VERBOSE=1
8 years ago
Andrzej Kotulski fbddeba8a7 [clang] Don't inline global var initializers
8 years ago
Sam Blackshear a5ee1f155c [thread-safety] tests for thread-safe methods
8 years ago
Sam Blackshear a800908797 [thread-safety] fix de-duplication logic
8 years ago
Sam Blackshear eccc3a8e4e [thread-safety] move reporting of unprotected reads into aggregation function
8 years ago
Sam Blackshear 5130952ee8 [thread-safety] move reporting of unprotected writes into aggregation function
8 years ago
Sam Blackshear 0f6439cf3c [thread-safety] report on write outside sync, read inside sync races
8 years ago
Sam Blackshear d5ed44994f [thread-safety] new SynchronizedCollection annotation
8 years ago
Dino Distefano 40e63aa42c Added the capability to define macros in AL
8 years ago
Andrzej Kotulski 5cfde325fd [C++] Fix matching of qualified cpp names
8 years ago
Jeremy Dubreil 0f70ca02e3 [infer][java] Simplify the abstract domain for the annotation reachability checker
8 years ago
Sam Blackshear 6a39585999 [thread-safety] treat non-interface methods with no summary as angelic
8 years ago
Sam Blackshear 31069dd1a7 [quandary] remove assignments to formals from summaries
8 years ago
Jules Villard 4ec3690413 [tests] add a `replace` target to all tests
8 years ago
Andrzej Kotulski 4da4949049 [clang][AST] Fix wrong type in translation of NoOp cast and MaterializeExpr
8 years ago
Peter O'Hearn c52054d3d1 [threadsafety] More races with main thread
8 years ago
Sam Blackshear 08a7f57731 [thread-safety] warn on private methods marked ThreadSafe
8 years ago
Sam Blackshear 68af2afb77 [quandary] more tests
8 years ago
Mehdi Bouaziz f65ac4f094 [infer] std::mutex model to detect simple double lock
8 years ago
Jeremy Dubreil 707d514386 [infer][java] do not report `return not nullable` on lambdas
8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr
8 years ago
Sam Blackshear e7e32b038b [thread-safety] classify protected-if reads/writes in callees as protected when a lock is held in the caller
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues.
8 years ago
Andrzej Kotulski c695616eff [Makefile][C++] Run c++ tests with native libs
8 years ago
Peter O'Hearn 089600bdcd [threadsafety] unsynched reading from main thread
8 years ago
Cristiano Calcagno 434cfbfb15 [eradicate] Add support for new annotation @PropagatesNullable
8 years ago
Sam Blackshear 779ec1f0ad [thread-safety] give full traces for read/write races
8 years ago
Sam Blackshear 9066e5bd08 [thread-safety] account for ownership via reflective allocation
8 years ago
Peter O'Hearn e023dddba2 [threadsafety] Races and non-races involving assertMainThread().
8 years ago
Sam Blackshear 9e293eaa64 [thread-safety] add choice variables to support partial path-sensitivity
8 years ago
Dino Distefano df543b900b Making easier to specify subclassing
8 years ago
Jeremy Dubreil 047bb6796a [infer][threadsafety] Run ThreadSafety as part of the checkers
8 years ago
Jeremy Dubreil e23b04180e [infer][ondemand] run all the registered checkers in sequence
8 years ago
Sam Blackshear 60dac45461 [quandary] don't call read_summary on the current procedure while creating a trace
8 years ago
Cristiano Calcagno 5c9b61877a [Eradicate] Code cleanup and add test cases
8 years ago
Peter O'Hearn 5062ac3173 [thread-safety] Model assertManThread and assertHoldsLock
8 years ago
Jules Villard dac8906d86 [make] make sure makefile uses config-time values
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
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
Jules Villard dba740632c [cli] deprecate multiletter short options
8 years ago
Sam Blackshear 56b057acb8 [thread-safety] assume formals of DI constructors are owned
8 years ago
Peter O'Hearn 11937cb076 [infer][threadsafety] model tryLock() for java.util.concurrent.locks.Lock
8 years ago
Peter O'Hearn 2cf3bfeea1 [infer][threadsafety] Stop Unprotected Write and Read/Write races from being reported on the same line
8 years ago
Sam Blackshear bd5eb3c5cf [quandary] don't allow projection of non-footprint idents
8 years ago
Sam Blackshear 0f74016ef5 [thread-safety] add callee write as protected-if if it's conditionally owned in caller
8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag
8 years ago
Andrzej Kotulski 4b620316d3 Update fcp
8 years ago
Cristiano Calcagno 5aa714b237 [Eradicate] Improve detection of circularities in field initialization
8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code
8 years ago
Sam Blackshear 5134ea36ed [thread-safety] enable defining aliases of @ThreadSafe in .inferconfig
8 years ago
Sam Blackshear 1ef7c253b2 [thread-safety] report on protected write/unprotected read races
8 years ago
Sam Blackshear ea8826599f [thread-safety] track protected writes
8 years ago
Jeremy Dubreil 08980b57e5 [infer][ondemand] make the Procname API more robust by using Typename.t for the class name part of a method name
8 years ago
Dulma Churchill 612e501dfc [ios] Model NSData initWithBytesNoCopy:data length:dataLength
8 years ago
Dulma Churchill 15a0662149 [clang] Adding annotations for ObjC instance variables
8 years ago
Dulma Churchill f549d58625 [ios] Capture the signature of getters and setters from headers.
8 years ago
Peter O'Hearn f7f30045cb [infer][threadsafety] Dedup, chapter 2.
8 years ago
Martino Luca 3eecb243e6 Customize tests output via InferPrint's command-line
8 years ago
Jeremy Dubreil b63a656dc4 [infer][tests] cleanup of the Cursor NPE test file
8 years ago
Sam Blackshear 69df171632 [thread-safety] unify @AssumeThreadSafe and @ThreadSafeMethod into @ThreadSafe(enableChecks = ...)
8 years ago
Peter O'Hearn 1580e5b3bb [infer][thread-safety] Better error message for container writes
8 years ago
Dulma Churchill 461bd691ce [clang] Translate nullable annotations of return types of methods
8 years ago
Peter O'Hearn c080cbb60f [threadsafety] De-duplicate the reports
8 years ago
Sam Blackshear 040140ba52 [thread-safety] model SynchronizedPool.acquire as acquiring ownership
8 years ago
Peter O'Hearn df154b4135 [threadsafety] read/write races
8 years ago
Sam Blackshear 5c2ee8d85f [thread-safety] model ThreadLocal.get() as acquiring ownership
8 years ago
Jules Villard a79096efa8 [siof] generic model of std::ios_base::Init that prevents SIOF
8 years ago
Dulma Churchill d81b1644de [ios] Enable npes for self in initializers
8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option
8 years ago
Dulma Churchill 6c82e82444 [linters] Fix one more unavailable api false positive
8 years ago
Sam Blackshear b229b39a1b [thread-safety] Add @ReturnsOwnership annotation for methods and handle it in the thread-safety analysis
8 years ago
Dulma Churchill 3fb6e4dea7 [tests] Fixing the renaming issue with the lint tests
8 years ago
Sam Blackshear 919b35f50a [quandary] better taint propagation for Intent's
8 years ago
Sam Blackshear e15121c928 [thread-safety] model DI via Provider.get as acquiring ownership
8 years ago
Sam Blackshear 5cdee51ed5 [checkers] allow custom sources and sinks in annotation reachability
8 years ago
Sam Blackshear 61e4e6e1ed [thread-safety] propagate attributes across binary/unary expressions
8 years ago
Jules Villard 105b8f83d3 [tests] disregard traces in Java harness test
8 years ago
Sam Blackshear f085023aff [thread-safety] model certain methods of Resources as @Functional
8 years ago
Sam Blackshear b8f9c774f3 [thread-safety] support conditional writes to containers
8 years ago
Jeremy Dubreil 61b49553b5 [infer][java] Add @SuppressLint as part of the Infer annotations
8 years ago
Jeremy Dubreil 2ded1d7a0c [infer][java] Simplify some of the models of Java resources [3/n]
8 years ago
Jeremy Dubreil 266686457a [infer][java] Simplify some of the models of Java resources [2/n]
8 years ago
Dulma Churchill 9ac65a7b1d [linters] Take current os version into account in the unavailable api check
8 years ago
Jeremy Dubreil 574d640af0 [infer][java] Simplify some of the models of Java resources [1/n]
8 years ago
Sam Blackshear c67de3e827 [thread-safety] add string parameter to @ThreadConfined
8 years ago
Sam Blackshear a3e3fdb781 [quandary] fix bug in summary application
8 years ago
Dulma Churchill dbcb871988 [linters] Add extra case of respondsToSelector block
8 years ago
Jeremy Dubreil 0139ca211b [infer][java] Add an example of dynamic dispatch handling on fields
8 years ago
Sam Blackshear c4fbf4e3fb [thread-safety] propagate attributes across casts
8 years ago
Sam Blackshear 42188eb105 [thread-safety] add understanding of conditional ownership
8 years ago
Jeremy Dubreil 13cdff1532 [infer][java] Dynamic dispatch: fix wrong level of indirection on pointers when specialzing methods
8 years ago
Cristiano Calcagno 319e3ed271 [Eradicate] Change Eradicate's join to forget values not present on both paths
8 years ago
Sam Blackshear 9ed282b28b [thread-safety] handle constructors by understanding that a constructor owns `this`
8 years ago
Jeremy Dubreil a416b7c90d [infer][java] Add a model for Process.destroyForcibly()
8 years ago
Sam Blackshear 0e77e36235 [thread-safety] propagate @Functional attribute across boxing of primitive types
8 years ago
Sam Blackshear 6338997cf5 [quandary] don't clobber existing taint on receiver when propagating taint from unknown call
8 years ago
Sam Blackshear d41b500659 [thread-safety] treat constants as owned
8 years ago
Andrzej Kotulski 40c84077d9 [C++] Fix model of std::vector
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
Sam Blackshear 6c0c3b44b4 [annotations] make override_exists recursive
8 years ago
Sam Blackshear f6e8bf0f3f [thread-safety] don't warn on external accesses to fields of ThreadConfined classes
8 years ago
Kihong Heo cef2f0e055 Inferbo
8 years ago
Jeremy Dubreil c5e962e231 [infer][test] The buck integration BUCK file for the integration test was refering to a file built by make
8 years ago
Jeremy Dubreil 4e02b3c525 [infer][tests] rescue ghost file for Cursor NPE test
8 years ago
Jeremy Dubreil b6fae5cd46 [infer][eradicate] Consider junit.framework.TestCase.setUp as an initializer
8 years ago
Jeremy Dubreil 90f4c83ef2 [infer][java] Add some more test cases for dynamic dispatch
8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference
8 years ago
Dulma Churchill 269ea5ffe5 [linters] Take into account the respondsToSelector block in the unavailable api check
8 years ago
Sam Blackshear f9280b682f [thread-safety] don't warn on accesses to fields assigned to @Functional calls
8 years ago
Sam Blackshear 70df06a596 [thread-safety] don't consider VisibleForTesting methods as public
8 years ago
Sam Blackshear cc8ffd9d1e [quandary] allow regexes in defining quandary sources/sinks in inferconfig
8 years ago
Sam Blackshear 3ee349ee23 [thread-safety] warn on unsafe accesses to lists
8 years ago
Andrzej Kotulski dd3de5b011 [clang frontend] Create nodes for dangling instructions
8 years ago
Jules Villard a229595856 [tests] run objc frontend tests...
8 years ago
Jeremy Dubreil 5322c71063 [infer][backend] find a better trade-off for the value of the SymOps timeout
8 years ago
Sam Blackshear b227ee58a6 [thread-safety] handle some annotations as aliases of ThreadConfined
8 years ago
Sam Blackshear 369feb4149 [thread-safety] allow ownership to be transferred via return
8 years ago
Sam Blackshear f372b6cb2f [quandary] allow sinks to be specified in inferconfig
8 years ago
Sam Blackshear 5bddb1e548 [quandary] allow sources to be specified in inferconfig
8 years ago
Sam Blackshear e132188361 [thread-safety] warn on unsafe accesses in overrides of methods annotated with @ThreadSafeMethod
8 years ago
Cristiano Calcagno 3f8ee7df49 [Eradicate] Fix issue in Eradicate's check for field initialization
8 years ago
Sam Blackshear f79a53e1c8 [thread-safety] add string param to AssumeThreadSafe
8 years ago
Sam Blackshear c19bee7772 [quandary] for instance methods with no return value, propagate the taint to the receiver
8 years ago
Sam Blackshear b9694ef086 [thread-safety] warn on unsafe writes in constructors
8 years ago
Sam Blackshear c4c495fbe5 [thread-safety] propagate conditional writes to callers
8 years ago
Sam Blackshear 4373945e74 [thread-safety] don't warn on writes rooted in a parameter owned by the callee
8 years ago
Sam Blackshear e565010cf3 [thread-safety] don't warn on writes to volatile fields
8 years ago
Jules Villard ca784cdb41 [cli] warn about deprecated options, clean up infer repo
8 years ago
Sam Blackshear 618e9c9338 [thread-safety] add @AssumeThreadSafe annotation to assume thread-safety of a method without checking it
8 years ago
Sam Blackshear f4b1af6f91 [thread-safety] allow @ThreadConfined annotation on methods
8 years ago
Sam Blackshear d39d4cfa20 [thread-safety] use jsr-305 versions of ThreadSafe/NotThreadSafe rather than defining custom annotations
8 years ago
Sam Blackshear 72e17403fa [thread-safety] add and support @ThreadSafeMethod annotation
8 years ago
Sam Blackshear 1891a16f8f [thread-safety] suppress warnings on methods annotated with @OnEvent
8 years ago
Sam Blackshear 8b57278c70 [thread-safety] support fields annotated with @ThreadConfined
8 years ago
Sam Blackshear e5ef592f11 [quandary] add a few missing Intent sinks
8 years ago
Sam Blackshear ee2d0c9226 [quandary] add Intent's passed to onActivityResult/onNewIntent as sources
8 years ago
Sam Blackshear 4cb03f4670 [checkers] add ui-thread/non-ui thread reasoning to annotation reachability checker
8 years ago
Sam Blackshear 685f205dda [quandary] skeleton for ObjC traces
8 years ago
Sam Blackshear 73f219560d [thread-safety] warn on unsafe accesses to maps
8 years ago
Sam Blackshear 2a4b29fedb [quandary] Warn on reusing result returned from getIntent
8 years ago
Sam Blackshear d86f777132 [quandary] considering methods of subclasses of Activity, SharedPreferences etc. as sources/sinks too
8 years ago
Sam Blackshear 504735e548 [java] update android.jar version to 23
8 years ago
Sam Blackshear 9c48178e4a [quandary] model some formals of Webview methods as tainted
8 years ago
Peter O'Hearn 7bcc7e421d [threadsafety] don't warn on methods from classes annotated ThreadConfined
8 years ago
Sam Blackshear 68c0705f26 [thread-safety] don't warn on methods annotated with UiThread
8 years ago
Sam Blackshear 1403e9c898 [quandary][java] Intent.parseIntent/Intent.parseUri should propagate taint, not create it
8 years ago
Josh Berdine 142494e7ae Add missing dir to java test clean
8 years ago
Jeremy Dubreil 4a3573b60e [infer][java] Use lazy dynamic dispatch by default
8 years ago
Ryan Rhee b557b49921 [componentkit] Initializer rule should return multiple issues
8 years ago
Jules Villard 72d065017b [tests] run "diff" from infer/tests
8 years ago
Sam Blackshear 06e0f6fbc9 [quandary] support tainted formals
8 years ago
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Andrzej Kotulski 96ba74d18e [C++] whitelist C++ std::vector iterator implementation
8 years ago
Peter O'Hearn 4057ffadcf [threadsafety] Change THREAD_SAFETY_ERROR to THREAD_SAFETY_VIOLATION
8 years ago
Sam Blackshear 2a567d3abe [quandary] summaries are access trees too
8 years ago
Sam Blackshear cd1c9750f4 [infer] models for common types of Java Lists
8 years ago
Peter O'Hearn 23a0a611dc [threadsafety] Fix situation where @NotThreadSafe is reported on, when super is @ThreadSafe
8 years ago
Dulma Churchill 9f153dbafa [linters] Add linter for checking api compatibility
8 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations
8 years ago
Cristiano Calcagno d670bdd61a [eradicate] Add support for methods that don't return (System.exit)
8 years ago
Jules Villard c51c4a21ae [siof] collate multiple reports at the same line into one
8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional
8 years ago
Sam Blackshear ee90e10491 [thread-safety] don't report on fields of immutable collections
8 years ago
Sam Blackshear 79154adf9e [thread-safety] use ownership info to avoid false alarms
8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony
8 years ago
Josh Berdine 178451e117 Disable timeouts during model analysis
8 years ago
Sam Blackshear 7682017f93 [quandary] only show relevant passthroughs in trace
8 years ago
Dulma Churchill 5b39b3e323 [ObjC] Model methods from NSArray
8 years ago
Andrzej Kotulski 13fcb27431 [C++] Fix compilation errors coming from smart pointer models
8 years ago
Jules Villard 902a0cd001 [make] make crashcontext tests replace-proof
8 years ago
Jeremy Dubreil 715f6ffa7e [infer][java] match the annotation by class name, forgetting the package, instead of checking if the end of the annotation matches
8 years ago
Sam Blackshear 901786e0c5 [quandary] detect intents configured with external values
8 years ago
Jeremy Dubreil 027bdc32e8 [infer][genrule] Add example of Buck DEFS macro to generate Infer analysis targets
8 years ago
Sam Blackshear 831786240a [quandary] ignore null assignments to return value in void functions
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Sam Blackshear e212183e7e [thread-safety] don't count accesses in methods of builder classes
8 years ago
Dino Distefano bd216f3205 Fixed problem with evaluation of sizeof which would give false positive
8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang
8 years ago
Sam Blackshear 4b98543d35 [traces] don't hang when unrolling a mutually recursive trace
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
Sam Blackshear c1205c1453 [thread-safety] model ReadLock/WriteLock
8 years ago
Dulma Churchill 826accc21b [clang] Adding model for NSNumber boxing functions
8 years ago
Sam Blackshear 5743351906 [thread-safety] don't report thread safety violations due to calls to constructors
8 years ago
Jeremy Dubreil 7b884144b5 [infer][tests] More complete test cases for the models of the Java Integer class
8 years ago
Sam Blackshear 0972c8d262 [quandary] don't report FP's due to flow-insensitive traces
8 years ago
Sam Blackshear 3b161a3737 [thread-safety] interprocedural traces for thread safety checker
8 years ago
Sam Blackshear 579b982359 [thread-safety] Lay the groundwork for interprocedural trace-based reporting
8 years ago
Cristiano Calcagno 827d7c3d9c [backend][perf] Address top performance bottleneck from profiling the backend.
8 years ago
Sam Blackshear 01136cc326 [thread-safety] interprocedural analysis
8 years ago
Sam Blackshear 937ae12f29 [thread-safety] adding models for lock methods
8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file
8 years ago
Jeremy Dubreil e269f2a3fd [infer][java] basic support to run Infer using Buck genrules
8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path
8 years ago
Sam Blackshear 9e9ca333f9 [thread-safety] use boolean domain to track locks
8 years ago
Sam Blackshear ad5ff00dcd [quandary] making it easier to specify behavior for unknown functions
8 years ago
Andrzej Kotulski b6b7593cf6 [tests] Make project root infer/test/ for java tests
8 years ago
Andrzej Kotulski b0a0fbcc35 [tests] fix tests for open source
8 years ago
Andrzej Kotulski 2810740377 [tests] Make project root infer/test/ for clang tests
8 years ago
Sam Blackshear 935018ae9e [quandary] cheaper handling of unknown code
8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode
8 years ago
Dulma Churchill 616ee9276b [clang] Adding model for NSString length to avoid false positive npes.
8 years ago