400 Commits (fc7437abb0042cd2828313c64a4b05d621f31c3d)

Author SHA1 Message Date
Nikos Gorogiannis 4ffac108b0 [starvation] make report-map per file
5 years ago
Nikos Gorogiannis 5ea35133af [starvation] record scheduling parallel works via executors
5 years ago
Nikos Gorogiannis dda0470b05 [starvation] make thread domain more precise
5 years ago
Nikos Gorogiannis d154415cd0 [starvation] add path sensitivity restricted to thread status
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Nikos Gorogiannis 4a9b21f62c [starvation] make summary a proper subset of abstract state
5 years ago
Nikos Gorogiannis 3cb13bba0f [starvation] unify reporting and split model matchers into models module
5 years ago
Nikos Gorogiannis 2b27a8ff2b [starvation] push thread status inside critical pairs
5 years ago
Mitya Lyubarskiy 0f1187a3a3 [nullsafe] Make Strict mode respect static methods
5 years ago
Nikos Gorogiannis 734ae60cb7 [starvation] introduce a proper thread domain
5 years ago
Nikos Gorogiannis 6d78026e8e [starvation] fix bug in starting location of trace
5 years ago
Nikos Gorogiannis 2bbe7ff9f2 [starvation] simplify domains after removal of ui trace
5 years ago
Nikos Gorogiannis 0149c3171e [starvation] hide ui-thread trace
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Nikos Gorogiannis 023b6f5905 [racerd] remove fixmes
5 years ago
Nikos Gorogiannis 81a2e6d23e [starvation] change UI-thread trace element from string to a proper type
5 years ago
Nikos Gorogiannis d3dc73a96e [racerd] don't store procdesc in reports when procname is enough
5 years ago
Nikos Gorogiannis e7323dfa33 [starvation] fix dependency between models and domain
5 years ago
Nikos Gorogiannis 5ad714be4b [concurrency] improve function for searching annotations
5 years ago
Nikos Gorogiannis e0d7950e07 [concurrency] fix over-eager modeling of thread status
5 years ago
Nikos Gorogiannis 0eb1f92339 [starvation] make lock state a map from locks to lock counts
5 years ago
Nikos Gorogiannis 2c68baf8f3 [starvation] avoid quadratic complexity of lock acquire sequence
5 years ago
Nikos Gorogiannis 36de121dc5 [starvation] change domain to use critical pairs `(set of locks held, event)`
5 years ago
Nikos Gorogiannis f57bb9be0a [starvation] make deduplication depend on filtering config var
5 years ago
Nikos Gorogiannis 965bf52bf8 [filtering/dedup] add deduplicate flag and disambiguate filtering
5 years ago
Nikos Gorogiannis 41729410ac [starvation] remove rarely-used logic for identifying locks
5 years ago
Ezgi Çiçek 8c1fdab0a8 [java] Enhance annotation parsing with the ability to pick up parameter names
5 years ago
Nikos Gorogiannis 2be3189912 [starvation] make lock state keep only lock acquisitions by construction
5 years ago
Nikos Gorogiannis aab8826b2a [explicittrace][easy] make call printer a functor arg
5 years ago
Nikos Gorogiannis fd40a5df6c [explicitrace] pp_human -> describe
5 years ago
Nikos Gorogiannis 3543c89c19 [lockless] detect lock acquisitions from methods annotated @Lockless
5 years ago
Nikos Gorogiannis e49f3f1512 [racerd] use access expression structure in ownership domain
6 years ago
Nikos Gorogiannis 86a1bbf1a7 [racerd] output access expressions language-sensitively
6 years ago
Nikos Gorogiannis ccc7dcbc1e [racerd] use access expressions in place of paths
6 years ago
Nikos Gorogiannis 1bfbdbb4e1 [racerd] less boiler-plate in reporting violations
6 years ago
Nikos Gorogiannis 6bd25fd9dd [racerd] improve add_accesses
6 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
6 years ago
Phoebe Nichols 2f6510395e Remove redundant fields from proc_callback_args
6 years ago
Phoebe Nichols d9535f42d5 Introduce method SummaryPayload.read_toplevel_procedure
6 years ago
Artem Pianykh 39dce8878f [infra] Update yojson and fix deprecations
6 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
6 years ago
Phoebe Nichols 13c2c84897 Remove proc_desc from proc_callback_args
6 years ago
Nikos Gorogiannis ae4f7561b3 [hil] class constant types
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Nikos Gorogiannis 7106de35a3 [issuelogs] less imperative
6 years ago
Nikos Gorogiannis 1d846ba631 [racerd] kill original paths from summary
6 years ago
Mehdi Bouaziz 9d2e9102ad Simplify payloads with ppx_fields_conv
6 years ago
Jeremy Dubreil 07d6ab2dd6 [infer][racerd] report the thread safety violations as warnings instead of errors
6 years ago
Jeremy Dubreil 8201bc1c4e [infer] add the Fragment from the androidx package to the hard copied lists
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
Nikos Gorogiannis 3e94fc7e16 [racerd] consider interfaces extending android.os.IInterface as automatically threadsafe
6 years ago
Nikos Gorogiannis cf6ced0580 [racerd] on-annotations
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Nikos Gorogiannis fdcd4cf591 [racerd] modulo loc
6 years ago
Jeremy Dubreil 5769e8bfeb [infer][racerd] use markup formatting for the Interface Not Thread Safe error message
6 years ago
Nikos Gorogiannis 9e4d096d8e [racerd] fix report text for interface not thread safe
6 years ago
Nikos Gorogiannis f78dfbaeda [racerd] guardeby checks on uithread
6 years ago
Nikos Gorogiannis 98e796b006 [racerd] gate GuardedBy
6 years ago
Nikos Gorogiannis 4a75df2a83 [racerd] report only writes for GuardedBy
6 years ago
Nikos Gorogiannis f32db5382f [racerd] restrict guarded by to one field/same or superclass
6 years ago
Nikos Gorogiannis 582609b558 [racerd] androidx models
6 years ago
Nikos Gorogiannis 59a10d00d4 [racerd] guardedby
6 years ago
Nikos Gorogiannis e7374bc62e [racerd] More cleanup in transition function
6 years ago
Nikos Gorogiannis 5839a5d6b4 [racerd] handle reads of actuals for container actions + cleanup
6 years ago
Nikos Gorogiannis 05f14391a6 [racerd] replace quandary traces with explicit ones
6 years ago
Nikos Gorogiannis f4c6072a59 [racerd] bit less work
6 years ago
Nikos Gorogiannis 817b1bdf31 [racerd] no need for quadratic check
6 years ago
Nikos Gorogiannis d6fb8248b2 [racerd] process one summary at a time
6 years ago
Nikos Gorogiannis 2d0c9a6c47 [racerd] don't fail on no receiver
6 years ago
Nikos Gorogiannis b243fae86c [starvation] template filters
6 years ago
Calascibetta Romain 137e070ece [infer][PR] Move to base64.3.0.0
6 years ago
Nikos Gorogiannis 764e9ee1be [AI] empty is not (necessarily) bottom
6 years ago
Nikos Gorogiannis 9463b25702 [classloads] move sources to more appropriate location
6 years ago
Nikos Gorogiannis 2ee8ab2990 [class-loads] catch expressions
6 years ago
Nikos Gorogiannis b4a22a5bdd [classloads] prune and multidimensional arrays
6 years ago
Nikos Gorogiannis 3e55f8eb60 [classloads] class object expressions
6 years ago
Nikos Gorogiannis 3f9eb37246 [classloads] casts and instanceof
6 years ago
Nikos Gorogiannis c1a00b2358 [classloads] restrict loads via fields
6 years ago
Nikos Gorogiannis f171d0496b [classloads] array expressions
6 years ago
Nikos Gorogiannis 3fc4ccbc14 [classloads] load super classes recursively
6 years ago
Nikos Gorogiannis 89e396571d [classloads] treat loads and stores wrt to field derefs
6 years ago
Nikos Gorogiannis 5686d67072 [classloads] fix treatment of static initializers
6 years ago
Nikos Gorogiannis 00df708f98 [classloads] record at most one load for each class
6 years ago
Nikos Gorogiannis 39b11619b8 [classloads] overhaul test infra & fix treatment of self-class loading in method calls
6 years ago
Nikos Gorogiannis 9e91c9298b [racerd] remove redundant ownership constructor/state
6 years ago
Nikos Gorogiannis e2bb049a5e [racerd] fix bug in ownership transitivity 2
6 years ago
Nikos Gorogiannis 7bbb7fc869 [clang][objcpp] register exported methods and treat them as private in RacerD
6 years ago
Nikos Gorogiannis ddc15ad663 [racerd] move models and domain operations to respective source files
6 years ago
Nikos Gorogiannis 11373c8a6b [racerd] strip down domain interface
6 years ago
Nikos Gorogiannis 002e470137 [racerd] fix bug in ownership transitivity
6 years ago
Nikos Gorogiannis 2d2d861686 [racerd] reduce size of IssueAuxData
6 years ago
Nikos Gorogiannis 19faf643dc [racerd] optional arguments and missing actuals
6 years ago
Nikos Gorogiannis a3f4bb01f4 [starvation] fix type bug occurring in class references
6 years ago
Nikos Gorogiannis 9d6a9f52ec [starvation] improve 2-way deadlock reports
6 years ago
Nikos Gorogiannis 101283f9d0 [starvation] fix trace description strings for taking locks
6 years ago
Jules Villard 26d4a2d14f [HIL] simplify some functors around TransferFunctions
6 years ago
Nikos Gorogiannis fc80179394 [starvation] use compare ppx
6 years ago
Nikos Gorogiannis f8fc40cea9 [starvation] improve debugging output
6 years ago
Nikos Gorogiannis a47ec3611f [starvation] tune logging and avoid dieing on non-struct locks
6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml
6 years ago
Nikos Gorogiannis 2701073b3e [starvation] C++ deadlock FPs due to recursive and unknown mutexes
6 years ago
Nikos Gorogiannis 9c240ed978 [starvation] skip analysis option should be used at top level too
6 years ago
Nikos Gorogiannis 27d8a65906 [starvation][concurrency] split guard lock treatment and add support for non-recursive locks (per language)
6 years ago
Nikos Gorogiannis abee2a5cb0 [AI] fix top interface
6 years ago
Nikos Gorogiannis 53fc45d39e [concurrency] remove bad lock model
6 years ago
Nikos Gorogiannis 31653ca6c3 [racerd] more precise trace expansion
6 years ago
Jules Villard f3411a2203 [HIL] Add `ExitScope` instruction
6 years ago
Nikos Gorogiannis 6aba4b7ca2 [AI] kill astate type
6 years ago
Nikos Gorogiannis bbd26769c9 [starvation] c++/Obj C deadlocks
6 years ago
Nikos Gorogiannis 2c6a705116 [racerd] kill stability
6 years ago
Nikos Gorogiannis 1121efbe59 [concurrency] refactor C++ models
6 years ago
Nikos Gorogiannis 3b5262f185 [racerd] refactor method matching for all languages
6 years ago
Mehdi Bouaziz ed25b70ff2 RacerD: use concat_traces
6 years ago
Nikos Gorogiannis 68a08a8a09 [starvation] stop reporting on AccountManager.setUserData
6 years ago
Nikos Gorogiannis f3194e00c9 [starvation] silence some strict mode models
6 years ago
Nikos Gorogiannis d53c81c65c [concurrency] add model for android.app.Application
6 years ago
Nikos Gorogiannis 276c25b563 [starvation] no starvation warnings on constructors
6 years ago
Nikos Gorogiannis a3df8f9f99 [starvation] simplify report format
6 years ago
Nikos Gorogiannis b5094cda9b [starvation] suppress the number of reports suppressed
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
6 years ago
Nikos Gorogiannis 77f7e70417 [racerd] cleanups in reporting function
6 years ago
Nikos Gorogiannis 342bfb418a [racerd] fix NSObject.init treatment of ownership
6 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Nikos Gorogiannis ea7b185b6b [classloads] add option for specifying root methods and add tests
6 years ago
Nikos Gorogiannis 4d4f053c62 [classloads] no abstract interpreter
6 years ago
Nikos Gorogiannis 70ed9b146f [classloads] sil version
6 years ago
Nikos Gorogiannis 4334225e67 [class loading] initial commit
6 years ago
Nikos Gorogiannis 7e7913d5ee [racerd] recognize more class member types as concurrency hints for C++
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
6 years ago
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code
6 years ago
Nikos Gorogiannis 0b4beda1cd [starvation] also consider subclasses of Future
6 years ago
Nikos Gorogiannis 41e43b5c1e [starvation] fix typo in reporting
6 years ago
Nikos Gorogiannis 309ce2d362 [racerd] folly spinlock models
6 years ago
Nikos Gorogiannis 8521d7590a [starvation] allow propagation of order constraints to any class
6 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it
6 years ago
Nikos Gorogiannis cbe4d9b0fd [concurrency] drop option type from method matcher records
6 years ago
Nikos Gorogiannis 2989b339a1 [starvation] streamline and enable strict mode
6 years ago
Nikos Gorogiannis 9b02c497f8 [starvation] extract explicit traces
6 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
6 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
6 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
6 years ago
Nikos Gorogiannis 52eef069b2 [concurrency] fix UI thread models
6 years ago
Nikos Gorogiannis d48e22be8b [starvation] prefer shorter UI-thread traces
6 years ago
Nikos Gorogiannis 888a169dce [starvation] make a trace out of our explanation as to why a method runs on the UI thread
6 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
6 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
6 years ago
Nikos Gorogiannis 365ebd8873 [concurrency] split RacerD+starvation models into three modules
7 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
7 years ago
Nikos Gorogiannis 14556f52b4 [starvation] whitelist @WorkerThread methods
7 years ago