1107 Commits (5aa26dc32ee2dd88b96e303e3d859be6df1f35d2)

Author SHA1 Message Date
Dino Distefano dfb8b421ac Extending uninit to struct
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
Sam Blackshear ceb0062cdd [cleanup] kill constant propagation pass in bi-abduction
7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
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
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Sam Blackshear 2b0335f32b [quandary] track sanitizers applied in trace domain
7 years ago
Sam Blackshear e2f38423e5 [cleanup] delete repeated calls checker
7 years ago
Sam Blackshear 758048078b [quandary] move sanitizer specifications from TaintSpec -> Trace
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Jeremy Dubreil 4a1eae048a [infer][clang] fix unitialized value false positive for values not initialized in the throw branch
7 years ago
Dino Distefano 979c476fa3 Do not report when defining an array
7 years ago
Dulma Churchill 718747e39c [clang] Add new procname type for specializing methods with block parameters
7 years ago
Jeremy Dubreil b2a3f3b8e4 [infer] better error messages for the nullable checker
7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment
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
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
Jeremy Dubreil 2ea11de8b6 [infer][clang] consider the symetrical case for the null check
7 years ago
Sam Blackshear ad522a8b19 [dead stores] don't warn on likely-harmless dead stores to default values
7 years ago
Jeremy Dubreil b594cbdc5a [infer][nullable] no longer fail hard when the nullable suggestion checker cannot compute the post of a procedure
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Dino Distefano a75073907c Fix uninit for temp variables
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 0a5c10c8ef [hil] don't let clients pass `debug:true`
7 years ago
Dino Distefano 0117539dd9 Fix debug flag in uninit
7 years ago
Sam Blackshear 2d29b47855 [traces] allow reported traces to return an issue type
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
Sam Blackshear 3d6168cd0d [hil] add HIL wrapper for abstract interpreter
7 years ago
Sam Blackshear c65569a868 [quandary] sanity checks for preventing oversized summaries
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sam Blackshear 13a02122ac [traces] fix printing of sinks
7 years ago
Sam Blackshear b826b16a6f [uninit] convert to HIL
7 years ago
Mehdi Bouaziz 624cc5e536 [uninit] Do not crash if failed to compute post
7 years ago
Sam Blackshear ddda04c92b [cleanup] alphabetize checker names
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
7 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements
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
Jeremy Dubreil 171145603e [infer][checkers] specify the dynamic dispatch handling policy on a per-checker basis.
7 years ago
Sam Blackshear 0e7542a18f [thread-safety] fix bug in expanding callee access paths in caller
7 years ago
Sam Blackshear 3a5a0413bb [thread-safety] remove special treatment for immutable collections
7 years ago
Sam Blackshear 06a51869df [thread-safety] better error message for unannotated interfaces
7 years ago
Josh Berdine 2cb2963641 [thread-safety][c++] Optimize access list map quotienting
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
Kyriakos Nikolaos Gkorogiannis d179c4ccb5 [threadsafety] Address issue arising from actuals and formals having different lengths at call sites (this time for ObjC).
7 years ago
Kyriakos Nikolaos Gkorogiannis 9e1d96c1f2 [threadsafety] Fix exception thrown by list of actuals and formals not having the same length in some cases (C++?)
7 years ago
Kyriakos Nikolaos Gkorogiannis a64034fbf9 [threadsafety] Fix make-excluder uses which potentially incorrectly assume a lock is held.
7 years ago
Josh Berdine 7b891e45eb [thread-safety] Remove some dead code
7 years ago
Josh Berdine e9cd0872ed [thread-safety][c++] Do not quotient by may_alias when analyzing non-Java code
7 years ago
Josh Berdine c081cef5a5 [thread-safety][c++] Skip folly::detail::SingletonHolder::createInstance
7 years ago
Josh Berdine b92909fe71 [thread-safety][c++] Add models for several synchronization operations
7 years ago
Kyriakos Nikolaos Gkorogiannis 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible.
7 years ago
Sam Blackshear 32583aa876 [thread-safety] Change meaning of @ThreadSafe to "can run in parallel with any thread including itself"
7 years ago
Josh Berdine 96af301910 [thread-safety] More informative printing of access paths
7 years ago
Sam Blackshear 983bcbbae7 [traces] add matches function for extra flexibility in expanding traces
7 years ago
Sam Blackshear 76bf0a7819 [thread-safety][cleanup] get rid of thumbs_up
7 years ago
Sam Blackshear 768d6e4f3d [thread-safety] better error message for actuals/formals mismatch
7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Sam Blackshear d70babb871 [thread-safety] eliminate escape analysis
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Mehdi Bouaziz 39ff045569 [ai] No need to create a domain for a bottom_lifted type
7 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap
7 years ago
Sam Blackshear dfc15372c4 [checkers] make get_proc_desc usable from cluster checkers
7 years ago
Jeremy Dubreil 243fd57eb7 [infer] Add an option to specify the name of the nullable annotation
7 years ago
Sam Blackshear ece8678417 [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 39a71d607c [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 18a9e52752 [cleanup] remove Idenv from checkers callbacks
7 years ago
Sam Blackshear 6a76bc6c7a [checkers] move aggregation by class out of cluster checker callbacks
7 years ago
Sam Blackshear 45dbb42705 [absint] make InvertedSet/InvertedMap functors consistent non-inverted versions
7 years ago
Sam Blackshear ca51c72f3a [thread-safety] support assertOnBackgroundThread and similar
7 years ago
Sam Blackshear 1e605bdd94 [thread-safety] new threads domain
7 years ago
Sam Blackshear b3e8e972d6 [thread-safety] separate warning type for interfaces called in non-threadsafe context
7 years ago
Sam Blackshear f93e500232 [thread-safety] gate de-duplication with Config.filtering
7 years ago
Jeremy Dubreil 4ec5440692 [infer][clang] port the nullable suggestion on fields on C++
7 years ago
Sam Blackshear b61a34007a [thread-safety] re-enable check for calling non-threadsafe interface
7 years ago
Jules Villard b3b4e42067 [threadsafety] watch out for non-Java pnames
7 years ago
Sam Blackshear 375b808394 [access tries] max width config
7 years ago
Josh Berdine 0da92c24ea [thread-safety][c++] Add models for some std::map operations
7 years ago
Sam Blackshear fd105802db [thread-safety] don't use Map.choose or Set.choose
7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Sam Blackshear 4065b1d120 [dead stores] recognize lambdas with `auto` parameter
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Sam Blackshear 81fbcf7501 [access trie] make max depth configurable
7 years ago
Sam Blackshear 028a28752b [access trees] function for computing depth
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 c16884b97f [jbuilder] turn I{Std,List} and atd-generated files into libraries
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
Sam Blackshear e0ad650dcd [thread-safety][cleanup] use record for summary type
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
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 1157364a09 [preanalysis] kill copy-propagation code
7 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink
7 years ago
Sam Blackshear 6d001ee566 [access paths] optional index expression for arrays
7 years ago
Daiva Naudziuniene 7a3decf7f7 [ThreadSafety] Treating lock_guard destructor as Unlock.
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
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
Sam Blackshear 6b792e0015 [thread-safety] track container reads and report read/write races
7 years ago
Sam Blackshear c2acc670ef [cleanup] remove unused param from supertype_find_map_opt
7 years ago
Sam Blackshear 1b35411a5f [thread-safety] fix understanding of non-atomic writes to doubles/longs
7 years ago
Sam Blackshear e43090bdc2 [java] translate `final` keyword as annotation
7 years ago
Sam Blackshear df3590c407 [thread-safety] refactoring to make it easier to add container reads
7 years ago
Sam Blackshear 2dcde3a812 [thread-safety] make a distinguished access kind for container writes
7 years ago
Sam Blackshear 9246d1357c [thread-safety] temporarily disable non-threadsafe interface checks
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
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
Sam Blackshear 03120a337e [thread-safety] refactor ThreadSafetyDomain.Access to make it easier to add new access kinds
7 years ago
Sam Blackshear 5784357322 [thread-safety] make Pool subclasses return ownership
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
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
8 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
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
8 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
8 years ago
Josh Berdine 926c6fee97 [threadsafety] Skip indirect calls in C++
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
Jeremy Dubreil 987347ceca [infer][java] Infer should not suggest to add @Nullable for the field nullified on Fragement onDestroyView
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
Josh Berdine e04dd37df3 update opam deps
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
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
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
Jia Chen 108c865b20 [infer][checker] Put AnnotationSpec.report into actual use for annotation reachability checker
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
Sam Blackshear 2a3032d0e3 [absint] rename confusing compute_and_store_post function
8 years ago
Sam Blackshear 03703e316c [thread-safety] understand that Pools.Pool.acquire returns ownership
8 years ago
Daiva Naudziuniene 5938c6331d [ThreadSafety] Extending lock model with lock_quard.
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
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
Kyriakos Nikolaos Gkorogiannis bee8e21633 [thread-safety] Add model and tests for SimpleArrayMap container.
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
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 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
Peter O'Hearn ddcbb419be [threadsafety] Thumbs up step 1
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
Kyriakos Nikolaos Gkorogiannis 7be1bfa89f [threadsafety] Fix some FPs added by may-alias analysis.
8 years ago
Jia Chen 2720716b95 Prettier error message for NullabilitySuggest
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
Sam Blackshear 4ef487928c [quandary] make passthroughs optional
8 years ago
Josh Berdine bf504c5b70 Minimal thread safety analysis for C++
8 years ago
Josh Berdine b4b45236fd [threadsafety] Relax javaism of may_alias
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
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
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 6af61d099e [HIL] Print HIL instructions in the debug HTML
8 years ago
Jules Villard b964f6ab74 [CLI] options to unset default checkers and to print active checkers
8 years ago
Sam Blackshear 45aaa4da93 [quandary] gflag globals as source
8 years ago
Sam Blackshear 32ead76a3b [absint] make Set and Map functors take an ordered type
8 years ago
Jeremy Dubreil 5b495c6a38 [infer][absint] Functor to create a domain with Top
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 f43e18b7b6 [infer][checkers] add an option to enable the Fragment View Checker
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Sam Blackshear 30e629c319 [hil] rename Write to Assign
8 years ago
Jules Villard ebd5ec0013 [archeology] remove infer/src/checkers/sql_examples/
8 years ago
Jeremy Dubreil 8de5b7b85c [infer][checkers] fix performance issue when running the biabduction analysis as a checker
8 years ago
Jeremy Dubreil b5b12ba9ff [infer][checkers] add the option to run the biabduction analysis as a checker for Java
8 years ago
Sam Blackshear 9c5bf9bba5 [quandary] run Quandary on Java when -a checkers is passed
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
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
Jules Villard 29f7967f26 [build] remove unused values
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 d5e9b22e41 [infer][checkers] remove the code for the checkers that are not being run in prod
8 years ago
Sam Blackshear 4425f0908c [thread-safety] understand custom Buck locks
8 years ago
Jeremy Dubreil 0097d8a5cb [infer] First step to the biabduction analysis using the checkers framework
8 years ago
Sam Blackshear 19da59cf19 [hil] functor for easily creating HIL analyses
8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations
8 years ago
Jeremy Dubreil 548a36d71f [infer][backend] some more non-functional cleanup
8 years ago
Sam Blackshear 3258bc2ec4 [quandary] delegate handling of call to HIL
8 years ago
Jeremy Dubreil 224c1fea86 [infer][backend] remove the unecessary parameter source when printing node data
8 years ago
Sam Blackshear 7b44236874 [thread-safety] remove hacky special case for Builder's
8 years ago
Sam Blackshear 728412ce07 [thread-safety] clean up code unused after HIL conversion
8 years ago
Sam Blackshear f7a8d50c33 [thread-safety] convert Call logic to HIL
8 years ago
Sam Blackshear 6ff77fedda [thread-safety] convert Write logic to HIL
8 years ago
Sam Blackshear 135ac8be7c [integration] make it possible to run Inferbo/Quandary/Siof/Threadsafety on Clang buck projects
8 years ago
Sam Blackshear aadb26ada0 [hil] add Unbind operation for removing a temporary binding
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Sam Blackshear 1c23876a4e [absint] BottomLiftedDomain should satisfy WithBottom signature
8 years ago
Sam Blackshear 863d90272f [cleanup] replace type_has_supertype with supertype_exists
8 years ago
Peter O'Hearn 3db1f9e94c [threadsafety] Treat clone() as aquiring ownership
8 years ago
Jeremy Dubreil c0c813c657 [infer][java] only report one annotation reachability issue per end of call stack
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Sam Blackshear 5de8161f89 [thread-safety] convert Prune logic to HIL
8 years ago
Jeremy Dubreil 06b0b94626 [infer][java] simplify the domain logic of the annotation reachability checker
8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed
8 years ago
Sam Blackshear 48d99f38cb [thread-safety] fix typo in printing of domain info
8 years ago
Jeremy Dubreil 3f67ca3f80 [infer][java] avoid unecessary convertions from sets to lists of call sites
8 years ago
Sam Blackshear 119672894d [thread-safety] use real location for trace spacers
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 dd2c56da06 be more careful about handling invalid source files
8 years ago
Sam Blackshear 92011790c2 [quandary] optimize handling of unknown code by adding notion of 'taintable types'
8 years ago
Sam Blackshear 093b3c6478 [logging] don't log debug html for preanalyses
8 years ago
Sam Blackshear d7f39970d1 [thread-safety] report both a read and write stack trace in R/W race reports
8 years ago
Sam Blackshear ede9a31089 [thread-safety] refactor trace generation logic
8 years ago
Sam Blackshear 899cfadfbd [access paths] don't compare types of bases
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
Jeremy Dubreil bf55514b85 [infer][checkers] Add a pretty print of the annotation reachability payload when printing summaries
8 years ago
Jeremy Dubreil a7422cf227 [infer][backend] make the Map and Set of procedure names pretty printable
8 years ago
Sam Blackshear 615489a619 [thread-safety] don't report on protected reads
8 years ago
Sam Blackshear afb26a9804 [thread-safety] add . to dummy fieldname
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
Jeremy Dubreil 1cd4b4cc38 [infer][checkers] Do not run the reapeted call checker by default
8 years ago
Jules Villard 41d615c351 [lint] copyright linter lints Makefiles
8 years ago
Sam Blackshear a800908797 [thread-safety] fix de-duplication logic
8 years ago
Sam Blackshear f8aea424cf [thread-safety] use aggregated access table as results table
8 years ago
Sam Blackshear 912652b523 [thread-safety] use existing conflict detection for reporting R/W races
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
Jeremy Dubreil 4ebfd2aa90 [infer][java] Simplify the ThreadSafety use of Ondemand
8 years ago
Jeremy Dubreil bc4250caad [infer] fix operator shadowing
8 years ago
Sam Blackshear d5ed44994f [thread-safety] new SynchronizedCollection annotation
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
Jeremy Dubreil 11295967a3 [infer][java] remove unecessary call to `write_summary` in the bounded call tree checker
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
Andrzej Kotulski 71702a13dc [IR] More detailed type for Fieldname.t
8 years ago
Sam Blackshear 40ae870c31 [thread-safety] simplify code for adding an access
8 years ago
Sam Blackshear 94afd8446c [thread-safety] rename protectedif -> unprotected
8 years ago
Sam Blackshear f609b6d8ff [thread-safety] refactor logic for summary application
8 years ago
Andrzej Kotulski e6ebad394e [IR] Make qualified names type safe
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
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
Sam Blackshear c5d7762f60 [access trees] expose join of nodes and fold over nodes
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Jeremy Dubreil e3e0078272 [infer][ondemand] use the result of `Ondemand.analyze_proc_name` in `Summary.read_summary`
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 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Cristiano Calcagno 434cfbfb15 [eradicate] Add support for new annotation @PropagatesNullable
8 years ago
Sam Blackshear 69fe80346c [quandary][perf] Always use the location of the pdesc in footprint sources
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
Jeremy Dubreil 4a62c44a3e [infer][ondemand] remove the call to `Specs.get_summary_unsafe` for the Fragement Retains View checker
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
Peter O'Hearn 5062ac3173 [thread-safety] Model assertManThread and assertHoldsLock
8 years ago
Jeremy Dubreil 3e6ff023a7 [infer][ondemand] skeleton code to have every checker update their respective payload in the analysis summary
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
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 0f74016ef5 [thread-safety] add callee write as protected-if if it's conditionally owned in caller
8 years ago
Sam Blackshear b8ff597f7e [thread-safety] unify reads and writes into accesses
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Jeremy Dubreil cb57578c74 [infer][ondemand] Run the Thread-Safety checker in two phases, first analyze all the procedure on-demand using a procedure callback, and then combine all the analysis results using a cluster callback
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
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
Sam Blackshear d64480cf72 [thread-safety] expose procedure-level callback to assist refactoring of ondemand
8 years ago
Sam Blackshear 5890007f8e [thread-safety] AccessDomain for better tracking of writes
8 years ago
Jeremy Dubreil 13e199a4ca [infer][ondemand] no need to pass the procedure name to save a summary
8 years ago
Jeremy Dubreil 6c14647eae [infer][ondemand] remove unused `Idenv.create_from_idenv` function
8 years ago
Jeremy Dubreil 9229d1be67 [infer][ondemand] change the type of analyze_ondemand to return the analysis summary
8 years ago
Peter O'Hearn f7f30045cb [infer][threadsafety] Dedup, chapter 2.
8 years ago
Jeremy Dubreil 9c52e8ee68 [infer][backend] remove the concept of timestamp in summaries and use the summary status instead
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
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
Jeremy Dubreil d4af8f756a [infer][backend] Write the summary to disk in the checkers framework
8 years ago
Jeremy Dubreil 7c85306e2f [infer][backend] remove duplicate function to store summaries to disk
8 years ago
Sam Blackshear acd9e3246f [cleanup] adding missing mlis for checkers
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
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 8629ee5381 [cleanup] make PatternMatch.override_exists check the current procname too
8 years ago
Sam Blackshear 5c2ee8d85f [thread-safety] model ThreadLocal.get() as acquiring ownership
8 years ago
Sam Blackshear 23150c8490 [thread-safety] use untyped access path maps/sets in thread-safety analysis
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Jules Villard a79096efa8 [siof] generic model of std::ios_base::Init that prevents SIOF
8 years ago
Jules Villard f1698f3816 [clang] reimplement fuzzy matching of list of qualifiers
8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option
8 years ago
Jeremy Dubreil 279f50eac6 [infer][backend] make the on-demand analysis function return a summary
8 years ago
Sam Blackshear ae0df5dc57 [access paths] kill type of field access and replace with utility functions for recovering type
8 years ago
Sam Blackshear b229b39a1b [thread-safety] Add @ReturnsOwnership annotation for methods and handle it in the thread-safety analysis
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
Sam Blackshear f085023aff [thread-safety] model certain methods of Resources as @Functional
8 years ago
Sam Blackshear 4f33ecef1e [thread-safety] treat generated GraphQL constructors as returning ownership
8 years ago
Sam Blackshear b8f9c774f3 [thread-safety] support conditional writes to containers
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
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
Sam Blackshear dc9892eef5 [thread-safety] use map of access paths to attributes rather than multiple sets of access paths
8 years ago
Sam Blackshear a3cffa7116 [absint] add inverted map domain
8 years ago
Sam Blackshear a4efc7bba7 [cleanup] Simplify PrettyPrintable.Make functors
8 years ago
Sam Blackshear 4627bb6f48 [absint] simplify `AbstractInterpreter.Make` functor by hiding `Scheduler` parameter
8 years ago
Sam Blackshear 9ed282b28b [thread-safety] handle constructors by understanding that a constructor owns `this`
8 years ago
Sam Blackshear 0e77e36235 [thread-safety] propagate @Functional attribute across boxing of primitive types
8 years ago
Sam Blackshear d41b500659 [thread-safety] treat constants as owned
8 years ago
Sam Blackshear 5c2fcd02bd [cleanup] move annotated_signature into its own module inside eradicate
8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
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
Sam Blackshear 2800c84972 [checkers] don't do expensive access path equality check unless debugging
8 years ago
Jeremy Dubreil b6fae5cd46 [infer][eradicate] Consider junit.framework.TestCase.setUp as an initializer
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 d0f4e8771b [cleanup] generalize PatternMatch.iter_overrides to override_exists
8 years ago
Sam Blackshear 50c73e517b [cleanup] adding Annotations.pname_has_return_annot function
8 years ago
Sam Blackshear 3ee349ee23 [thread-safety] warn on unsafe accesses to lists
8 years ago
Sam Blackshear bcfcb5d405 [cleanup] restrict uses of annotated_signature to eradicate
8 years ago
Sam Blackshear 2351f767dc [cleanup] use pdesc_has_return_annot and friends instead of more cumbersome ways of looking up return annots
8 years ago
Sam Blackshear 73f3c5e0cd [cleanup] separate functions for checking annotations of return value and parameters
8 years ago
Sam Blackshear b371a3429c [cleanup] simplify method annotation and item annotation iteration methods
8 years ago
Sam Blackshear f0199a058a [cleanup] alphabetize annotations and remove duplicates
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 5bddb1e548 [quandary] allow sources to be specified in inferconfig
8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
8 years ago
Sam Blackshear df5798336b [cleanup] give AccessPath.raw its own module
8 years ago
Sam Blackshear 851a4da7e0 [thread-safety][cleanup] add mli for ThreadSafetyDomain
8 years ago
Sam Blackshear d25a3edbd7 [thread-safety][cleanup] open ThreadSafetyDomain locally to avoid excess typing
8 years ago
Sam Blackshear e132188361 [thread-safety] warn on unsafe accesses in overrides of methods annotated with @ThreadSafeMethod
8 years ago
Cristiano Calcagno f91b3128d3 [BetterEngineering] Replace uses of polymorphic equality
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 6ace3838ba [absint] support HTML debug output
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 2f69191c7e [backend] expose underlying Procdesc.Node from ProcCFG nodes
8 years ago
Cristiano Calcagno 1eaaf84a90 [checkers] Add support for html output in checkers, starting with Eradicate
8 years ago
Sam Blackshear f065f7653a [thread-safety] add map for conditional accesses
8 years ago
Sam Blackshear 72e17403fa [thread-safety] add and support @ThreadSafeMethod annotation
8 years ago
Jeremy Dubreil 619c202bd6 [infer][java] do no consider @OnBind as equivalent to @NoAllocation for the reachability checker
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 2add2954da [checkers] factor out FormalMap into its own module
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 d86f777132 [quandary] considering methods of subclasses of Activity, SharedPreferences etc. as sources/sinks too
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 8d0f6e822c [absint] don't require domains to define their initial state
8 years ago