383 Commits (4ad899b37e2a0c3d7dd285059b3088e09e5dcffb)

Author SHA1 Message Date
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
6 years ago
Nikos Gorogiannis 2be3189912 [starvation] make lock state keep only lock acquisitions by construction
6 years ago
Nikos Gorogiannis aab8826b2a [explicittrace][easy] make call printer a functor arg
6 years ago
Nikos Gorogiannis fd40a5df6c [explicitrace] pp_human -> describe
6 years ago
Nikos Gorogiannis 3543c89c19 [lockless] detect lock acquisitions from methods annotated @Lockless
6 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
7 years ago
Nikos Gorogiannis cbe4d9b0fd [concurrency] drop option type from method matcher records
7 years ago
Nikos Gorogiannis 2989b339a1 [starvation] streamline and enable strict mode
7 years ago
Nikos Gorogiannis 9b02c497f8 [starvation] extract explicit traces
7 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
7 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
7 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
7 years ago
Nikos Gorogiannis 52eef069b2 [concurrency] fix UI thread models
7 years ago
Nikos Gorogiannis d48e22be8b [starvation] prefer shorter UI-thread traces
7 years ago
Nikos Gorogiannis 888a169dce [starvation] make a trace out of our explanation as to why a method runs on the UI thread
7 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
7 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
7 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
Mehdi Bouaziz 6bb429ef63 Reporting cleanup 13: log_issue_external
7 years ago
Nikos Gorogiannis af14da6a13 [starvation] stop considering View.get... as blocking.
7 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
7 years ago
Jeremy Dubreil 3767716c86 [infer][scheduler] simplify the callbacks API
7 years ago
Nikos Gorogiannis 3870ebb747 [starvation] catch calls to Thread.sleep
7 years ago
Nikos Gorogiannis 332bd365e8 [starvation] fix report string when class is annotated @UIThread
7 years ago
Nikos Gorogiannis 4cc8563212 [starvation] catch Object.wait calls on main thread
7 years ago
Nikos Gorogiannis 14aa1edbf5 [starvation] Avoid FPs in guava Futures
7 years ago
Nikos Gorogiannis 6b156f71fe [racerd] special-case for Litho's getThis
7 years ago
Nikos Gorogiannis b0ba6b3e1e [racerd] don't replicate existing logic in `propagate_return`
7 years ago
Nikos Gorogiannis c5ad94d825 [starvation] Adjust blocking call severities to better reflect practice
7 years ago
Nikos Gorogiannis d4a9c6f81a [racerd] gate stability
7 years ago
Nikos Gorogiannis 848ef3da21 [RacerD] Fix stability implementation
7 years ago
Nikos Gorogiannis f28aa37cb6 [racerd] Do not record paths starting at variables not appearing in source
7 years ago
Nikos Gorogiannis e5d8f501f4 [starvation] fix conversions of int literals which need 64 bit ints
7 years ago
Jules Villard 0914fee2cc [backend] remove source file from exe_env
7 years ago
Nikos Gorogiannis 35fba2de40 [starvation] skip generated code
7 years ago