Package de.fraunhofer.aisec.cpg.analysis.fsm

Types

Link copied to clipboard
class BaseOpEdge(    val op: String,     val base: String?,     val nextState: State)

Represents an edge of the automaton. The edge label consists of an operation (typically a method name) and a base which allows us to differentiate between multiple objects.

Link copied to clipboard
class DFA : Cloneable

A representation of a deterministic finite automaton (DFA).

Link copied to clipboard
open class DFAOrderEvaluator(    var consideredBases: Set<Long>,     var nodeToRelevantMethod: Map<Node, String>,     var thisPositionOfNode: Map<Node, Int> = mapOf(),     var eliminateUnreachableCode: Boolean = true)

This class uses a DFA to evaluate if the order of statements in the CPG is correct. It needs the following inputs:

Link copied to clipboard
class FSMBuilderException(s: String) : Exception
Link copied to clipboard
class State(    val name: String,     val isStart: Boolean = false,     var isAcceptingState: Boolean = false) : Cloneable

A simple class representing a state in an FSM.