MCPcopy Create free account

hub / github.com/CodeSentryAI/lockbud / functions

Functions324 in github.com/CodeSentryAI/lockbud

↓ 1 callersMethodcollect_condvars
Collect condvar APIs. Return the condvar API's InstanceId and kind.
src/detector/lock/mod.rs:103
↓ 1 callersMethodcollect_drops
( &self, body: &Body<'tcx>, manual_drops: &[(Location, Place<'tcx>)], )
src/detector/memory/use_after_free.rs:90
↓ 1 callersMethodcollect_lockguards
( &self, callgraph: &CallGraph<'tcx>, )
src/detector/lock/mod.rs:76
↓ 1 callersMethodcollect_raw_ptrs
(&self, body: &Body<'tcx>)
src/detector/memory/use_after_free.rs:77
↓ 1 callersFunctioncollect_raw_ptrs_escape_to_global
Collect raw ptrs escaping to Globals. Alloc(ptr) pointed to by ConstantDeref implies Place(ptr) escapes to Global. 1. forall c is ConstantDeref, colle
src/detector/memory/use_after_free.rs:108
↓ 1 callersMethodcollect_uninit
Collect Uninit APIs.
src/detector/memory/invalid_free.rs:71
↓ 1 callersMethodcopy_targets
? = rhs rhs--|copy|-->?
src/analysis/pointsto/mod.rs:340
↓ 1 callersFunctioncreate_obj
(i: i32)
toys/use-after-free/src/main.rs:2
↓ 1 callersMethodcycle_paths
Find all the cycles in the graph.
src/detector/lock/mod.rs:904
↓ 1 callersFunctiondata_deps
(body: &Body<'_>)
src/analysis/datadep/mod.rs:36
↓ 1 callersMethoddeadlock_with
In parking_lot, the read lock is by default non-recursive if not specified. if two recursively acquired read locks in one thread are interleaved by a
src/interest/concurrency/lock.rs:154
↓ 1 callersMethoddetect_caller_callsites
Detect each caller that calls Uninit APIs.
src/detector/memory/invalid_free.rs:106
↓ 1 callersMethoddetect_condvar_misuse
Detect condvar misuse. First collect Condvar APIs info: callsites to (Condvar, MutexGuard) - std::sync::Condvar::wait(&Condvar, MutexGuard) -> MutexGu
src/detector/lock/mod.rs:232
↓ 1 callersMethoddetect_deadlock
First detect doublelock on each relation(a, b), use non-doublelock relations to build `ConflictLockGraph`. Then find the cycles in `ConflictLockGraph`
src/detector/lock/mod.rs:589
↓ 1 callersFunctiondetect_escape_to_global
Raw ptr escapes to Global and points to a dropped place
src/detector/memory/use_after_free.rs:135
↓ 1 callersFunctiondetect_escape_to_return_or_param
Raw ptr escapes to return/params and points to a dropped place Raw ptr points to Alloc(return/params) implies ptr escapes to return/params 1. Find pla
src/detector/memory/use_after_free.rs:173
↓ 1 callersMethoddetect_instance
( &self, instance: &Instance<'tcx>, alias_analysis: &mut AliasAnalysis<'_, 'tcx>,
src/detector/memory/use_after_free.rs:55
↓ 1 callersMethoddetect_uninitialized
Detect mem::uninitialized()
src/detector/memory/invalid_free.rs:272
↓ 1 callersFunctiondetect_use_after_drop
drop(place): raw_ptr -> place drop_loc reaches use(raw_ptr)
src/detector/memory/use_after_free.rs:238
↓ 1 callersFunctiondfs_paths_recur
DFS search for points-to paths from `node` to the parameter.
src/analysis/pointsto/mod.rs:1179
↓ 1 callersFunctiondiagnose_doublelock
Generate doublelock diagnosis.
src/detector/lock/mod.rs:717
↓ 1 callersMethoddifference_in_place
self = self \ other, if changed return true
src/detector/lock/mod.rs:43
↓ 1 callersFunctiondrop_in_match
()
toys/use-after-free/src/main.rs:1
↓ 1 callersMethodedges
(&self)
src/analysis/pointsto/mod.rs:299
↓ 1 callersFunctionescape_to_global
()
toys/use-after-free/src/main.rs:58
↓ 1 callersFunctionescape_to_param
()
toys/use-after-free/src/main.rs:19
↓ 1 callersFunctionescape_to_return
()
toys/use-after-free/src/main.rs:143
↓ 1 callersFunctionexpect_panic
()
toys/panic/src/main.rs:15
↓ 1 callersMethodfind_nearest_common_dominator
(&self, node1: Node, node2: Node)
src/analysis/postdom/mod.rs:263
↓ 1 callersFunctionfind_path_recursive
( u: BasicBlock, d: BasicBlock, body: &Body<'_>, path: &mut Vec<BasicBlock>, visited: &mut
src/detector/memory/invalid_free.rs:340
↓ 1 callersMethodfinish
Consumes `CallSiteCollector` and returns its callsites when finished visiting.
src/analysis/callgraph/mod.rs:193
↓ 1 callersFunctionfirst_arg_and_dest
Get the first arg and the destination of an Atomic API. e.g., ```let value = atomic::load(atomic, ordering);``` Returns Some((atomic, value));
src/detector/atomic/mod.rs:179
↓ 1 callersFunctionfirst_two_args
( location: Location, body: &Body<'tcx>, )
src/detector/atomic/mod.rs:198
↓ 1 callersFunctionfmt_time
(date: &Date)
toys/use-after-free/src/main.rs:113
↓ 1 callersMethodfoo
(&self)
toys/tikv-wrapper/src/main.rs:17
↓ 1 callersFunctionfunc
(_g1: MutexGuard<'_, i32>, _g2: MutexGuard<'_, i32>)
toys/call-no-deadlock/src/main.rs:3
↓ 1 callersFunctiongen_rand_val_bool
()
toys/atomic-violation/src/main.rs:4
↓ 1 callersFunctiongethostent
()
toys/use-after-free/src/main.rs:81
↓ 1 callersMethodimmediate_post_dominator
(&self, node: Node)
src/analysis/postdom/mod.rs:244
↓ 1 callersFunctionin_cargo_lockbud
()
src/bin/cargo-lockbud.rs:48
↓ 1 callersFunctioninfluences
(this: Location, other: Location, control_deps: &ControlDeps<BasicBlock>)
src/analysis/controldep/mod.rs:17
↓ 1 callersMethodinfluences
(&self, influencer: Node, influencee: Node)
src/analysis/controldep/mod.rs:30
↓ 1 callersMethodinter_points_to
( &mut self, instance1: &Instance<'tcx>, pointer: ConstraintNode<'tcx>, instan
src/analysis/pointsto/mod.rs:825
↓ 1 callersFunctionintersect
( post_order_rank: &IndexVec<Node, usize>, immediate_post_dominators: &IndexVec<Node, ExtNode<Node>>,
src/analysis/postdom/mod.rs:188
↓ 1 callersMethodintra_points_to
( &mut self, instance: &Instance<'tcx>, pointer: ConstraintNode<'tcx>, pointee
src/analysis/pointsto/mod.rs:801
↓ 1 callersMethodintraproc_gen_kill
Apply Gen/Kill to get live lockguards for each location in the same fn.
src/detector/lock/mod.rs:532
↓ 1 callersFunctionis_arc
(arg_ty_name: &str)
src/interest/memory/ownership.rs:29
↓ 1 callersFunctionis_arc_or_rc_clone
y = Arc::clone(x)
src/interest/memory/ownership.rs:10
↓ 1 callersFunctionis_atomic_ptr_store
( def_id: DefId, substs: &'tcx List<GenericArg<'tcx>>, tcx: TyCtxt<'tcx>, )
src/interest/concurrency/atomic.rs:78
↓ 1 callersMethodis_gen_only_by_recursive
(&self)
src/interest/concurrency/lock.rs:210
↓ 1 callersFunctionis_index
(def_id: DefId, tcx: TyCtxt<'_>)
src/interest/memory/ownership.rs:46
↓ 1 callersFunctionis_ptr_read
(def_id: DefId, tcx: TyCtxt<'_>)
src/interest/memory/ownership.rs:40
↓ 1 callersFunctionis_rc
(arg_ty_name: &str)
src/interest/memory/ownership.rs:34
↓ 1 callersFunctionis_reachable
(from: Location, to: Location, body: &Body<'_>)
src/detector/memory/mod.rs:104
↓ 1 callersMethodload_targets
? = *rhs rhs--|load|-->?
src/analysis/pointsto/mod.rs:326
↓ 1 callersFunctionmake_options_parser
()
src/options.rs:32
↓ 1 callersMethodmatch_instance
(&self, other: &Instance<'tcx>)
src/analysis/callgraph/mod.rs:59
↓ 1 callersFunctionmaybe_false_positive
()
toys/atomic-violation/src/main.rs:51
↓ 1 callersMethodmu_rw1
(&self)
toys/conflict/src/main.rs:20
↓ 1 callersFunctionno_panic_fp
()
toys/panic/src/main.rs:20
↓ 1 callersFunctionone_closure_one_caller
()
toys/lock-closure/src/main.rs:4
↓ 1 callersFunctionopt_owned_as_raw
(val: &Option<Owned<T>>)
toys/use-after-free/src/main.rs:30
↓ 1 callersFunctionpanic_macro
()
toys/panic/src/main.rs:1
↓ 1 callersFunctionparking_lot_correct
()
toys/condvar-closure/src/main.rs:81
↓ 1 callersFunctionparking_lot_correct
()
toys/condvar-struct/src/main.rs:135
↓ 1 callersFunctionparking_lot_deadlock_wait
()
toys/condvar-closure/src/main.rs:106
↓ 1 callersFunctionparking_lot_deadlock_wait
()
toys/condvar-struct/src/main.rs:178
↓ 1 callersFunctionparking_lot_missing_lock_before_notify
()
toys/condvar-closure/src/main.rs:135
↓ 1 callersFunctionparking_lot_missing_lock_before_notify
()
toys/condvar-struct/src/main.rs:225
↓ 1 callersFunctionparking_lot_mutex
()
toys/intra/src/main.rs:22
↓ 1 callersMethodparking_lot_mutex_1
(&self)
toys/inter/src/main.rs:58
↓ 1 callersFunctionparking_lot_rwlock
()
toys/intra/src/main.rs:30
↓ 1 callersFunctionparking_lot_rwlock
()
toys/recursive-no-deadlock/src/main.rs:3
↓ 1 callersMethodparking_lot_rwlock_read_1
(&self)
toys/inter/src/main.rs:69
↓ 1 callersMethodparking_lot_rwlock_write_1
(&self)
toys/inter/src/main.rs:76
↓ 1 callersMethodpaths_from_to
Find all the paths from loc1 to loc2
src/detector/memory/invalid_free.rs:319
↓ 1 callersFunctionpoint_to_same_constant
Check if p1 and p2 point to the same Constant. Return true if exists a1 in pts(p1) and a1 is Constant(c1) and exists a2 in pts(p2) and a2 is Constant(
src/analysis/pointsto/mod.rs:1071
↓ 1 callersFunctionpoint_to_same_type_param
Check if p1 and p2 point to func parameters with the same local's type and projection. Return true if exists a1 in pts(p1) and a1.local is param and e
src/analysis/pointsto/mod.rs:1096
↓ 1 callersMethodpoints_to
Check if `pointer` points to `pointee`. First get the pts(`pointer`), then check alias between each node in pts(`pointer`) and `pointee`. Choose the h
src/analysis/pointsto/mod.rs:768
↓ 1 callersFunctionpost_dominators_given_rpo
( mut graph: G, rpo: &[G::Node], )
src/analysis/postdom/mod.rs:117
↓ 1 callersFunctionpostdom_post_order_from_to
( graph: &G, end_nodes: Vec<G::Node>, start_node: Option<G::Node>, )
src/analysis/postdom/mod.rs:83
↓ 1 callersFunctionpostdom_post_order_walk
( graph: &G, node: G::Node, result: &mut Vec<G::Node>, visited: &mut IndexVec<G::Node, bool>,
src/analysis/postdom/mod.rs:99
↓ 1 callersFunctionpostdom_reverse_post_order
( graph: &G, end_nodes: Vec<G::Node>, )
src/analysis/postdom/mod.rs:67
↓ 1 callersMethodpredecessors
(&self, node: Self::Node)
src/analysis/postdom/tests.rs:65
↓ 1 callersMethodprocess_alias_copy
dest: Arc<T> = Arc::clone(arg: &Arc<T>) or dest: T = ptr::read(arg: *const T) => arg--|load|-->dest and arg--|alias_copy|-->dest
src/analysis/pointsto/mod.rs:541
↓ 1 callersMethodprocess_assignment
(&mut self, place: &Place<'tcx>, rvalue: &Rvalue<'tcx>)
src/analysis/pointsto/mod.rs:431
↓ 1 callersMethodresult
(&self)
src/detector/panic/mod.rs:132
↓ 1 callersMethodrl
(&self)
toys/tikv-wrapper/src/util.rs:13
↓ 1 callersMethodrw1_rw2
(&self)
toys/conflict/src/main.rs:37
↓ 1 callersMethodrw2_mu
(&self)
toys/conflict/src/main.rs:49
↓ 1 callersFunctionshow_help
()
src/bin/cargo-lockbud.rs:30
↓ 1 callersFunctionshow_version
()
src/bin/cargo-lockbud.rs:34
↓ 1 callersFunctionskip_detecting
(instance: &Instance<'tcx>, tcx: TyCtxt<'tcx>)
src/detector/panic/mod.rs:211
↓ 1 callersMethodspin_rwlock_read_1
(&self)
toys/inter/src/main.rs:106
↓ 1 callersMethodspin_rwlock_write_1
(&self)
toys/inter/src/main.rs:113
↓ 1 callersMethodstart_node
(&self)
src/analysis/postdom/tests.rs:46
↓ 1 callersMethodstatistics
(&self)
src/detector/panic/mod.rs:135
↓ 1 callersFunctionstd_correct
()
toys/condvar-closure/src/main.rs:4
↓ 1 callersFunctionstd_correct
()
toys/condvar-struct/src/main.rs:4
↓ 1 callersFunctionstd_deadlock_wait
()
toys/condvar-closure/src/main.rs:29
← previousnext →101–200 of 324, ranked by callers