| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| ControlDependency |
| Class and Description |
|---|
| ASMWrapper
Wrapper class for the underlying byteCode instruction library ASM
Gives access to a lot of methods that interpret the raw information in
AbstractInsnNode to usable chunks of information, inside EvoSuite
This class is supposed to hide the ASM library from the rest of EvoSuite as
much as possible
After initialization, all information about byteCode instructions should be
accessible via the BytecodeInstruction-, DefUse- and BranchPool.
|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| ActualControlFlowGraph
Supposed to become the new implementation of a control flow graph inside
EvoSuite
The "actual" CFG does not contain single cfg.BytecodeInstructions as nodes,
but contains cfg.BasicBlocks - look at that class for more information
Simply put this is a minimized version of the complete/raw CFG the
cfg.BytecodeAnalyzer and cfg.CFGGenerator produce - which holds a node for
every BytecodeInstruction
Out of the above described raw CFG the following "pin-points" are extracted:
1) the entryNode (first instruction in the method)
2) all exitNodes (outDegree 0)
3.1) all branches (outDegree>1) 3.2) in a subsequent step all targets of all
branches
4.1) all joins (inDegree>1) 4.2) in a subsequent step all sources of all
joins
All those "pin-points" are put into a big set (some of the above categories
may overlap) and for all those single BytecodeInstrucions their corresponding
BasicBlock is computed and added to this CFGs vertexSet.
|
| RawControlFlowGraph
Represents the complete CFG of a method
Essentially this is a graph containing all BytecodeInstrucions of a method as
nodes.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| ControlFlowEdge |
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| ActualControlFlowGraph
Supposed to become the new implementation of a control flow graph inside
EvoSuite
The "actual" CFG does not contain single cfg.BytecodeInstructions as nodes,
but contains cfg.BasicBlocks - look at that class for more information
Simply put this is a minimized version of the complete/raw CFG the
cfg.BytecodeAnalyzer and cfg.CFGGenerator produce - which holds a node for
every BytecodeInstruction
Out of the above described raw CFG the following "pin-points" are extracted:
1) the entryNode (first instruction in the method)
2) all exitNodes (outDegree 0)
3.1) all branches (outDegree>1) 3.2) in a subsequent step all targets of all
branches
4.1) all joins (inDegree>1) 4.2) in a subsequent step all sources of all
joins
All those "pin-points" are put into a big set (some of the above categories
may overlap) and for all those single BytecodeInstrucions their corresponding
BasicBlock is computed and added to this CFGs vertexSet.
|
| BasicBlock
This class is used to represent basic blocks in the control flow graph.
|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| ControlDependency |
| ControlFlowGraph
Abstract base class for both forms of CFGs inside EvoSuite
One implementation of this is cfg.RawControlFlowGraph, which is also known as
the complete CFG The other implementation of this is
cfg.ActualControlFlowGraph which is also known as the minimal CFG Look at the
respective classes for more detailed information
The CFGs can be accessed via the GraphPool which holds for each CUT and each
of their methods a complete and a minimal CFG
CFGs are created by the CFGGenerator during the analysis of the CUTs'
byteCode performed by the BytecodeAnalyzer
|
| Class and Description |
|---|
| ActualControlFlowGraph
Supposed to become the new implementation of a control flow graph inside
EvoSuite
The "actual" CFG does not contain single cfg.BytecodeInstructions as nodes,
but contains cfg.BasicBlocks - look at that class for more information
Simply put this is a minimized version of the complete/raw CFG the
cfg.BytecodeAnalyzer and cfg.CFGGenerator produce - which holds a node for
every BytecodeInstruction
Out of the above described raw CFG the following "pin-points" are extracted:
1) the entryNode (first instruction in the method)
2) all exitNodes (outDegree 0)
3.1) all branches (outDegree>1) 3.2) in a subsequent step all targets of all
branches
4.1) all joins (inDegree>1) 4.2) in a subsequent step all sources of all
joins
All those "pin-points" are put into a big set (some of the above categories
may overlap) and for all those single BytecodeInstrucions their corresponding
BasicBlock is computed and added to this CFGs vertexSet.
|
| ASMWrapper
Wrapper class for the underlying byteCode instruction library ASM
Gives access to a lot of methods that interpret the raw information in
AbstractInsnNode to usable chunks of information, inside EvoSuite
This class is supposed to hide the ASM library from the rest of EvoSuite as
much as possible
After initialization, all information about byteCode instructions should be
accessible via the BytecodeInstruction-, DefUse- and BranchPool.
|
| BasicBlock
This class is used to represent basic blocks in the control flow graph.
|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| BytecodeInstructionPool
BytecodeInstructionPool class.
|
| CFGFrame |
| CFGGenerator
This classed is used to create the RawControlFlowGraph which can then be used
to create the ActualControlFlowGraph
When analyzing a CUT the BytecodeAnalyzer creates an instance of this class
for each method contained in it
This class's methods get called in the following order:
- upon constructing, the method at hand is registered via
registerMethodNode() which fills the BytecodeInstructionPool with all
instructions inside that method
- then registerControlFlowEdge() is called by the BytecodeAnalyzer for each
possible transition from one byteCode instruction to another within the
current method.
|
| ControlDependency |
| ControlFlowEdge |
| ControlFlowGraph
Abstract base class for both forms of CFGs inside EvoSuite
One implementation of this is cfg.RawControlFlowGraph, which is also known as
the complete CFG The other implementation of this is
cfg.ActualControlFlowGraph which is also known as the minimal CFG Look at the
respective classes for more detailed information
The CFGs can be accessed via the GraphPool which holds for each CUT and each
of their methods a complete and a minimal CFG
CFGs are created by the CFGGenerator during the analysis of the CUTs'
byteCode performed by the BytecodeAnalyzer
|
| RawControlFlowGraph
Represents the complete CFG of a method
Essentially this is a graph containing all BytecodeInstrucions of a method as
nodes.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
| Class and Description |
|---|
| BytecodeInstruction
Internal representation of a BytecodeInstruction
Extends ASMWrapper which serves as an interface to the ASM library.
|
Copyright © 2010–2017 EvoSuite. All rights reserved.