400 Commits (34f7741ad922da26038e6d31a79af78f113d0e2f)

Author SHA1 Message Date
Nikos Gorogiannis a7bd92de2f [starvation] enable starvation checker
7 years ago
Nikos Gorogiannis c104ea11dc [racerd] switch to external issue logs
7 years ago
Nikos Gorogiannis 58f37cb9d8 [starvation] do not report deadlocks when both traces on UI thread
7 years ago
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do
7 years ago
Nikos Gorogiannis 14ec16da12 [starvation] catch calls to AcccountManager.setUserData
7 years ago
Nikos Gorogiannis bf501e5a7d [starvation] treat Future.get as potentially blocking
7 years ago
Nikos Gorogiannis 96c6ff718b [racerd] add support for folly's synchronized() {}
7 years ago
Nikos Gorogiannis bef38bbf1a [racerd] recognise std::lock calls
7 years ago
Sam Blackshear 7108b348ff [racerd] significantly simplify deep ownership logic
7 years ago
Sam Blackshear 78521419a9 [racerd] make deep ownership work with OwnedIf
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Nikos Gorogiannis dab8e2f17d [starvation] Catch indirect blocks to the UI thread
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Nikos Gorogiannis e0a61c0a4a [starvation] Move to a cluster checker phase for reporting
7 years ago
Sam Blackshear ebc364a801 [racerd] precondition -> snapshot
7 years ago
Sam Blackshear 771e1b7c14 [racerd] remove redundant access field from reported_access
7 years ago
Sam Blackshear 501577defc [racerd] use set of access snapshots instead of map
7 years ago
Nikos Gorogiannis 63aafd3381 [starvation] catch calls to View.getVisibleDisplayFrame
7 years ago
Nikos Gorogiannis e5265ea85b [starvation] surface caller of blocking calls in reports
7 years ago
Sam Blackshear cfd9802d89 [racerd] `Precondition` -> `OwnershipPrecondition`
7 years ago
Jules Villard 507a4c9bec [racerd] remove dead export
7 years ago
Nikos Gorogiannis a4a1a9c55e [starvation] Catch java IO blocking calls on UI thread
7 years ago
Nikos Gorogiannis 7a9009e467 [starvation] Catch CountDownLatch.await calls on main thread
7 years ago
Sam Blackshear f7ee0c2a2d [racerd] use `ThreadsDomain.astate` instead of bool in `AccessData`
7 years ago
Sam Blackshear fb4f9a286a [infer] `AccessData` -> `AccessSnapshot`
7 years ago
Nikos Gorogiannis b6c8766b11 [starvation] report binder calls on ui thread
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Sam Blackshear 8084c8fec7 [racerd] treat `@InjectProp` formals as owned
7 years ago
Sam Blackshear ce8f958522 [racerd] don't report INTERFACE_NOT_THREAD_SAFE if the receiver of the interface call is marked `ThreadConfined`
7 years ago
Nikos Gorogiannis 346589f1fb [starvation] track on-main-thread status in summaries
7 years ago
Nikos Gorogiannis 0130c09dfc [starvation] add infrastructure for blocking events other than lock acquisition
7 years ago
Nikos Gorogiannis 269a1a9b93 [starvation] treat locks in (and accessed from) inner classes properly
7 years ago
Mehdi Bouaziz 4aefa6f76b Debug: session name
7 years ago
Nikos Gorogiannis 462c2e2b2e [starvation] fix handling of static synchronized methods and static locks
7 years ago
Nikos Gorogiannis b11dd03fb9 [starvation] ignore local/temp variables as locks
7 years ago
Nikos Gorogiannis b335fb9c50 [deadlock] rebrand to starvation
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago
Sam Blackshear d840e5da94 [racerd] simplify reconciliation of caller/callee thread context
7 years ago
Nikos Gorogiannis fe43dc2080 [deadlock] analysis and reporting
7 years ago
Sam Blackshear 89a6d7e20d [racerd] don't report races in third-party code
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression
7 years ago
Sam Blackshear ddc354df39 [IR] utility function for detecting when Var appears in source code
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Nikos Gorogiannis c34ff07375 [racerd] fix lock count treatment at method calls
7 years ago
Sam Blackshear 4799fb6b82 [racerd] skeleton for testing access path stability
7 years ago
Ilya Sergey b41a059609 [racerd] More precise traking of LHS when calling a method for stability checking in RacerD.
7 years ago
Ilya Sergey 4633cd03c4 [racerd] Instrumenting the concurrency analysis with tracking of access path stability.
7 years ago
Nikos Gorogiannis 519306a049 [racerd] move appropriate functions to Models.
7 years ago
Daiva Naudziuniene 5ebc6562ee [HIL] AccessExpression on the left hand side of assignment
7 years ago
Daiva Naudziuniene 896e849bfc [HIL] Access expression
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear 584b10647d [racerd] new lock domain
7 years ago
Sam Blackshear 268e0b9b5f [racerd] generalize access preconditions
7 years ago
Sam Blackshear 08f21959ce [racerd] add missing match case
7 years ago
Sam Blackshear c98bc53ede [racerd] move de-duplication back to the backend
7 years ago
Sam Blackshear f7c415f7ae [cleanup] restrict Java-specific utility functions to Typ.Procname.Java.t's
7 years ago
Sam Blackshear 04d2882a6b [cleanup] organize Java-specific functions on types
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Sam Blackshear 156ea2f759 [racerd] use a record instead of ginormous tuple in reporting code
7 years ago
Daiva Naudziuniene d8a004f0cc [LockConsistency] Adding conditional ownership to the rest of the formal parameters of constructors.
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
7 years ago
Sam Blackshear a32903bcea [racerd] print just one conflict in error message to avoid formatting issues
7 years ago
Josh Berdine 972b9eb488 [lock-consistency] Suppress folly::fbstring_core
7 years ago
Josh Berdine 5e3cd22a1f [lock-consistency] Suppress folly::futures
7 years ago
Peter O'Hearn 700adc2d44 [racerd] deep ownership
7 years ago
Daiva Naudziuniene f0f1e97ae2 [LockConsistency] Do not report lock consistency violation if an access path starts with a logical variable or a temporary variable.
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
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Sam Blackshear 427dad5aa6 [racerd] keep adding accesses after prefix of a path is owned
7 years ago
Josh Berdine a7c657da56 [lock-consistency] Only suppress truncated traces in Java
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear dbfbf9cf01 [racerd] make nontrivial domain types private
7 years ago
Peter O'Hearn e7d9223597 [racerd] specialized error message for races involving litho components
7 years ago
Daiva Naudziuniene e07a20ea6d [reporting] Report access path from the initial sink rather than the final sink.
7 years ago
Philip Cohn-Cort 54eb75cb63 [infer][PR] Fix typo in RacerD.ml
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Josh Berdine 2defebe9e7 [lock-consistency] Skip prefixes of blacklist entries
7 years ago
Daiva Naudziuniene ff475e43e4 [LockConsistency] Do not merge read/write with container read/write
7 years ago
Daiva Naudziuniene bb90c94939 [LockConsistency] Checking for both type ObjC_Cpp and C to include c-style functions.
7 years ago
Sam Blackshear d221a0ae42 [racerd] don't report INTERFACE_NOT_THREAD_SAFE on thread-confined interfaces
7 years ago
Josh Berdine ec281799d5 [lock-consistency] Skip more, and in should_analyze_proc instead of get_summary
7 years ago
Daiva Naudziuniene 2e89bfb4f4 [LockConsistency] Do not analyze/report on destructors
7 years ago
Sam Blackshear e2a75f2b46 [hil] always run liveness analysis before HIL lowering
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
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock
7 years ago
Josh Berdine bb0a42d25d [thread-safety][c++] Skip destructors
7 years ago
Josh Berdine c2a67bb300 [thread-safety][c++] Do not record accesses to static locals
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 47ab1a2e67 [thread-safety] skip reporting on truncated traces
7 years ago
Sam Blackshear 0a5c10c8ef [hil] don't let clients pass `debug:true`
7 years ago
Sam Blackshear 3d6168cd0d [hil] add HIL wrapper for abstract interpreter
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
7 years ago