Documentation
¶
Index ¶
- Constants
- func GetHardenedEnv() []string
- func IsCommutativeOp(op token.Token) bool
- func MatchFunctionsByTopology(oldResults, newResults []FingerprintResult, threshold float64) (matched []TopologyMatch, addedFuncs []FingerprintResult, ...)
- func ShortFuncName(fullName string) string
- type FingerprintResult
- func FingerprintPackages(initialPkgs []*packages.Package, policy ir.LiteralPolicy, strictMode bool) ([]FingerprintResult, error)
- func FingerprintSource(filename string, src string, policy ir.LiteralPolicy) ([]FingerprintResult, error)
- func FingerprintSourceAdvanced(filename string, src string, policy ir.LiteralPolicy, strictMode bool) ([]FingerprintResult, error)
- func GenerateFingerprint(fn *ssa.Function, policy ir.LiteralPolicy, strictMode bool) FingerprintResult
- type TopologyMatch
- type Zipper
- type ZipperArtifacts
Constants ¶
View Source
const MaxCandidates = 100
View Source
const MaxFunctionBlocks = 5000
Variables ¶
This section is empty.
Functions ¶
func GetHardenedEnv ¶
func GetHardenedEnv() []string
func IsCommutativeOp ¶
func MatchFunctionsByTopology ¶
func MatchFunctionsByTopology(oldResults, newResults []FingerprintResult, threshold float64) ( matched []TopologyMatch, addedFuncs []FingerprintResult, removedFuncs []FingerprintResult, )
func ShortFuncName ¶
Types ¶
type FingerprintResult ¶
type FingerprintResult struct {
FunctionName string
Fingerprint string
CanonicalIR string
Pos token.Pos
Line int
Filename string
// contains filtered or unexported fields
}
func FingerprintPackages ¶
func FingerprintPackages(initialPkgs []*packages.Package, policy ir.LiteralPolicy, strictMode bool) ([]FingerprintResult, error)
func FingerprintSource ¶
func FingerprintSource(filename string, src string, policy ir.LiteralPolicy) ([]FingerprintResult, error)
func FingerprintSourceAdvanced ¶
func FingerprintSourceAdvanced(filename string, src string, policy ir.LiteralPolicy, strictMode bool) ([]FingerprintResult, error)
func GenerateFingerprint ¶
func GenerateFingerprint(fn *ssa.Function, policy ir.LiteralPolicy, strictMode bool) FingerprintResult
func (FingerprintResult) GetSSAFunction ¶
func (r FingerprintResult) GetSSAFunction() *ssa.Function
type TopologyMatch ¶
type TopologyMatch struct {
OldResult FingerprintResult
NewResult FingerprintResult
OldTopology *topology.FunctionTopology
NewTopology *topology.FunctionTopology
Similarity float64
ByName bool
}
type Zipper ¶
type Zipper struct {
// contains filtered or unexported fields
}
Zipper implements the semantic delta analysis algorithm.
func (*Zipper) ComputeDiff ¶
func (z *Zipper) ComputeDiff() (*ZipperArtifacts, error)
Click to show internal directories.
Click to hide internal directories.