sota.ast.util
Class MetricManager

java.lang.Object
  extended by sota.ast.util.MetricManager

public class MetricManager
extends java.lang.Object

Berechnet die statischen und dynamischen Metriken für das Projekt.


Constructor Summary
MetricManager()
           
 
Method Summary
static Metrics computeCoverage(ASTManager ast)
          Berechnet die dynamischen (Überdeckungs-) Metriken für das Projekt
protected static void computeCyclomaticComplexity(ASTFunctionNode fn)
          Berechnet zyklomatische Komplexität für Funktionen.
protected static void computeEssentialComplexity(ASTFunctionNode fn)
          Berechnet essentielle Komplexität für Funktionen.
protected static int computeEssentialComplexity(ASTNode startNode, ASTNode endNode)
          Berechnet essentielle Komplexität für Codeabschnitte.
static void computeMetrics(ASTManager ast)
          Berechnet die statischen Metriken für das Projekt
protected static void computeNrBIPaths(ASTFunctionNode fn)
           
protected static void computeNrModBIPaths(ASTFunctionNode fn)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetricManager

public MetricManager()
Method Detail

computeCoverage

public static Metrics computeCoverage(ASTManager ast)
Berechnet die dynamischen (Überdeckungs-) Metriken für das Projekt


computeCyclomaticComplexity

protected static void computeCyclomaticComplexity(ASTFunctionNode fn)
Berechnet zyklomatische Komplexität für Funktionen.

Parameters:
fn - Der FunctionNode, für den die zyklomatische Komplexität berechnet werden sollen.

computeEssentialComplexity

protected static void computeEssentialComplexity(ASTFunctionNode fn)
Berechnet essentielle Komplexität für Funktionen.

Parameters:
fn - Der FunctionNode, für den die essentielle Komplexität berechnet werden sollen.

computeEssentialComplexity

protected static int computeEssentialComplexity(ASTNode startNode,
                                                ASTNode endNode)
Berechnet essentielle Komplexität für Codeabschnitte.

Parameters:
startNode - der Startknoten
endNode - der Endknoten
Returns:
0 falls Codeabschnitte nur reduzierbare CFG-Elemente enthält, d.h. keine Jumps -1 falls Codeabschnitt mit Jump endet aber sonst keine nichtreduzierbaren Konstrukte enthält m>0 falls Codeabschnitt nicht reduzierbar ist, m enthält essenteille Komplexität

computeMetrics

public static void computeMetrics(ASTManager ast)
Berechnet die statischen Metriken für das Projekt

Parameters:
ast - der ASTManager

computeNrBIPaths

protected static void computeNrBIPaths(ASTFunctionNode fn)

computeNrModBIPaths

protected static void computeNrModBIPaths(ASTFunctionNode fn)