sota.ast.nodes
Class Condition

java.lang.Object
  extended by sota.ast.nodes.Condition
Direct Known Subclasses:
JavaCondition

public abstract class Condition
extends java.lang.Object

AST-Knoten für Konditionknoten


Field Summary
protected  java.lang.String ascContent
           
protected  int atomId
           
protected  int conditionId
           
protected  java.lang.String content
           
protected  boolean hasShortCircuit
           
protected  boolean isAtom
           
protected  boolean isEmpty
           
protected  boolean isFalseAtom
           
protected  boolean isOperator
           
protected  boolean isPrimary
           
protected  boolean isTrueAtom
           
protected  Condition leftCondition
           
protected  Metrics metrics
           
protected  int nrConditions
           
protected  int nrFalseEvaluations
           
protected  int nrTrueEvaluations
           
protected  Condition rightCondition
           
protected  boolean shortCircuitValue
           
 
Constructor Summary
Condition()
           
Condition(Condition lC, java.lang.String op, Condition rC)
           
Condition(java.lang.String atom)
           
Condition(java.lang.String op, Condition rC)
           
 
Method Summary
abstract  boolean applyTruthVector(java.lang.String s)
           
 boolean areMcdcPairs(java.lang.String s1, java.lang.String s2, int i)
           
 void computeConditionCoverage(java.util.HashSet<java.lang.String> setOfTruthVectors)
          Berechnet die nötigen Werte für die Bedingungsüberdeckung.
abstract  int[] computeNrAtomCombinations()
           
abstract  int countNrAtoms()
           
abstract  boolean evaluateTruthVector(java.lang.String s)
           
 java.lang.String getASCContent()
           
abstract  Condition getAtomCondition(int i)
           
abstract  java.util.ArrayList<java.lang.Integer[]> getAtomEvaluation(java.util.ArrayList<java.lang.Integer[]> l)
           
 int getAtomID()
           
 java.lang.String getConditionContent()
           
abstract  java.util.ArrayList<java.lang.Integer[]> getConditionEvaluation(java.util.ArrayList<java.lang.Integer[]> l)
           
 int getConditionID()
           
 java.lang.String getCondString()
           
 java.lang.String getContent()
           
abstract  java.lang.String getEvaluatedTVString(java.lang.String s)
          Berechnet aus einem Truthvector einen Belegungstring.
 Condition getLeftCondition()
           
 java.util.ArrayList<Condition> getListOfConditions()
           
 Metrics getMetrics()
           
 int getNrAtomEvaluations()
           
 int getNrAtoms()
           
 int getNrConditionEvaluations()
           
 int getNrConditions()
           
 int getNrMcdcPairs()
           
 Condition getRightCondition()
           
 boolean getShortCircuitValue()
           
 boolean hasShortCircuit()
           
 boolean isAtom()
           
 boolean isBoolean()
           
 boolean isEmpty()
           
 boolean isFalseAtom()
           
 boolean isNonTrivial()
           
 boolean isOperator()
           
 boolean isPrimary()
           
 boolean isTrueAtom()
           
 int numerate(int i)
           
 int numerateAtoms(int i, int a)
           
 void print()
          Print **
 void printFull()
           
 void resetHits()
           
 void setAtom(boolean b)
           
 void setPrimary(boolean b)
           
 void setShortCircuitValue(boolean b)
           
abstract  java.lang.String toASCString(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ascContent

protected java.lang.String ascContent

atomId

protected int atomId

conditionId

protected int conditionId

content

protected java.lang.String content

hasShortCircuit

protected boolean hasShortCircuit

isAtom

protected boolean isAtom

isEmpty

protected boolean isEmpty

isFalseAtom

protected boolean isFalseAtom

isOperator

protected boolean isOperator

isPrimary

protected boolean isPrimary

isTrueAtom

protected boolean isTrueAtom

leftCondition

protected Condition leftCondition

metrics

protected Metrics metrics

nrConditions

protected int nrConditions

nrFalseEvaluations

protected int nrFalseEvaluations

nrTrueEvaluations

protected int nrTrueEvaluations

rightCondition

protected Condition rightCondition

shortCircuitValue

protected boolean shortCircuitValue
Constructor Detail

Condition

public Condition()

Condition

public Condition(Condition lC,
                 java.lang.String op,
                 Condition rC)

Condition

public Condition(java.lang.String atom)

Condition

public Condition(java.lang.String op,
                 Condition rC)
Method Detail

applyTruthVector

public abstract boolean applyTruthVector(java.lang.String s)

areMcdcPairs

public boolean areMcdcPairs(java.lang.String s1,
                            java.lang.String s2,
                            int i)

computeConditionCoverage

public void computeConditionCoverage(java.util.HashSet<java.lang.String> setOfTruthVectors)
Berechnet die nötigen Werte für die Bedingungsüberdeckung. Vorher wurden schon die TVs appliziert, damit Atomare und Bedingungsbelegung berechnet werden kann

Parameters:
setOfTruthVectors - - die Menge der Wahrheitsvektoren der Bedingung für die aktuellen Tests

computeNrAtomCombinations

public abstract int[] computeNrAtomCombinations()

countNrAtoms

public abstract int countNrAtoms()

evaluateTruthVector

public abstract boolean evaluateTruthVector(java.lang.String s)

getASCContent

public java.lang.String getASCContent()

getAtomCondition

public abstract Condition getAtomCondition(int i)

getAtomEvaluation

public abstract java.util.ArrayList<java.lang.Integer[]> getAtomEvaluation(java.util.ArrayList<java.lang.Integer[]> l)

getAtomID

public int getAtomID()

getConditionContent

public java.lang.String getConditionContent()

getConditionEvaluation

public abstract java.util.ArrayList<java.lang.Integer[]> getConditionEvaluation(java.util.ArrayList<java.lang.Integer[]> l)

getConditionID

public int getConditionID()

getCondString

public java.lang.String getCondString()

getContent

public java.lang.String getContent()

getEvaluatedTVString

public abstract java.lang.String getEvaluatedTVString(java.lang.String s)
Berechnet aus einem Truthvector einen Belegungstring. Dabei werden nicht ausgewertete Variablen (bei short-circuit-evaluation) durch "-" gekennzeichnet. Bsp.: ((falsch && falsch) || wahr) Truthvector: 011 (zweite Wert wurde nicht geloggt, daher per default true) Eval.TV.: 0-1

Parameters:
s - Der TruthVector, der umgewandelt werden soll.
Returns:
Der berechnete String mit den Bedingungsbelegungen.

getLeftCondition

public Condition getLeftCondition()

getListOfConditions

public java.util.ArrayList<Condition> getListOfConditions()

getMetrics

public Metrics getMetrics()

getNrAtomEvaluations

public int getNrAtomEvaluations()

getNrAtoms

public int getNrAtoms()

getNrConditionEvaluations

public int getNrConditionEvaluations()

getNrConditions

public int getNrConditions()

getNrMcdcPairs

public int getNrMcdcPairs()

getRightCondition

public Condition getRightCondition()

getShortCircuitValue

public boolean getShortCircuitValue()

hasShortCircuit

public boolean hasShortCircuit()

isAtom

public boolean isAtom()

isBoolean

public boolean isBoolean()

isEmpty

public boolean isEmpty()

isFalseAtom

public boolean isFalseAtom()

isNonTrivial

public boolean isNonTrivial()

isOperator

public boolean isOperator()

isPrimary

public boolean isPrimary()

isTrueAtom

public boolean isTrueAtom()

numerate

public int numerate(int i)

numerateAtoms

public int numerateAtoms(int i,
                         int a)

print

public void print()
Print **


printFull

public void printFull()

resetHits

public void resetHits()

setAtom

public void setAtom(boolean b)

setPrimary

public void setPrimary(boolean b)

setShortCircuitValue

public void setShortCircuitValue(boolean b)

toASCString

public abstract java.lang.String toASCString(java.lang.String s)