global

package
v0.0.0-...-f39ad0c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2023 License: GPL-2.0 Imports: 6 Imported by: 20

Documentation

Index

Constants

View Source
const C3_FP_layer int = 3
View Source
const C3_FP_ratio float32 = 0.5
View Source
const C3_Ratio float32 = 0.75
View Source
const C3_kill_FP_1 bool = true
View Source
const C3_kill_FP_2 bool = true // see if there is an Unlock that will definitely be executed after Lock
View Source
const C3_min_times_of_usage = 4
View Source
const C5A_kill_FP_1 bool = false
View Source
const C5_call_chain_layer int = 8 // Be careful: Algorithm complexity: e^n, n = C5_call_chain_layer
View Source
const C5_call_chain_max_fn int = 100000
View Source
const C5_kill_FP_1 bool = true
View Source
const C5_kill_FP_2 bool = true
View Source
const C5_kill_FP_3 bool = false // This can reduce a lot of FP but will also produce FN
View Source
const C5_kill_FP_4 bool = false // If callee is in builtin packages, skip
View Source
const C6A_call_chain_layer_for_chan_wrapper int = 3
View Source
const C6A_call_chain_layer_for_inside_CS int = 5 //CS is critical section
View Source
const C6A_call_chain_layer_for_lock_wrapper int = 5
View Source
const C6A_kill_FP_1 bool = false // ignore channels and conds not as field
View Source
const C6A_max_count_for_lock_wrapper int = 10000
View Source
const C6A_max_recursive_count = 5000
View Source
const C6A_wrapper_count = 50000000
View Source
const C6_kill_FP_1 bool = false
View Source
const C6_kill_FP_2 bool = true
View Source
const C7A_kill_FP_ignoreTest = false
View Source
const C7A_max_call_chain_length = 3
View Source
const C7A_max_layer = 3
View Source
const C7A_max_recursive_count = 50000
View Source
const C7B_max_call_path_length = 7
View Source
const C7B_max_layer = 7
View Source
const C7B_max_recursive_count = 5000
View Source
const C7_report_directly_usage bool = true
View Source
const CHA_CallGraph_Prune_SDK = true
View Source
const CHA_CallGraph_Prune_Soundly = true
View Source
const Kill_FP_avoid_multi_report = false // This should be set true before used by a company: give only 1 bug report for a channel/cond/...
View Source
const Max_in_edges = 100
View Source
const Pointer_consider_reflection = false
View Source
const Print_err_log = false

This file contains some key parameters.

Variables

View Source
var Absolute_root string
View Source
var All_method []*ssa.Function
View Source
var All_pkg_paths []Path_stat
View Source
var All_struct []*Struct
View Source
var All_sync_global []*ssa.Global
View Source
var All_sync_struct []*Sync_struct
View Source
var Bug_index int
View Source
var Bug_index_mu sync.Mutex
View Source
var C3_Exclude_slice = []string{"init", "close", "start", "new", "lockfree", "shutdown"}
View Source
var C5_black_list_pkg = []string{}
View Source
var C6_Exclude_slice = []string{"init", "close", "shutdown", "start", "new"}
View Source
var CHA_Call_graph *callgraph.Graph
View Source
var Call_graph *callgraph.Graph
View Source
var Defer_map map[*ssa.RunDefers][]*ssa.Defer
View Source
var Entrance, Include string
View Source
var Exclude []string
View Source
var Flag_write_inst = false
View Source
var GOPATH string
View Source
var Last_progress float32
View Source
var Num_scan_pkg_lock_send int
View Source
var Output_file *os.File
View Source
var Pkgs []*ssa.Package
View Source
var PointerAnalysisResult *mypointer.Result
View Source
var Process_count int
View Source
var Prog *ssa.Program
View Source
var Root string
View Source
var Static_call_graph *callgraph.Graph
View Source
var Target_GOPATH string
View Source
var Worthy_path []Parent_path

Functions

This section is empty.

Types

type C3_struct

type C3_struct struct {
	Name  string
	Field map[string](map[ssa.Instruction][]string) //map[field_name](map[inst_used_field][]str_alive_mutexs)
}

type Inst_value

type Inst_value struct {
	Inst    ssa.Instruction
	Value   ssa.Value
	Comment string
}

type Operation

type Operation struct {
	Position    token.Position
	Instruction ssa.Instruction
	Type        string
}

type Parent_path

type Parent_path struct {
	Parent         string
	Children       []string
	Total_num_lock int
	Total_num_send int
}

type Path_stat

type Path_stat struct {
	Path          string
	Self_num_lock int
	Self_num_send int
}

type Struct

type Struct struct {
	Name  string
	Field map[string]string
}

type Sync_struct

type Sync_struct struct {
	Type        string
	ContainSync bool
	Field       map[string]string
	Potential   bool
}

type Temp_struct

type Temp_struct struct {
	Name  string
	Field string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL