org.cesta.trans.java
Class IfSwitchReplacement

java.lang.Object
  extended by org.cesta.trans.AbstractTransformation
      extended by org.cesta.trans.java.AbstractRewriteTransformation
          extended by org.cesta.trans.java.IfSwitchReplacement
All Implemented Interfaces:
Transformation

public class IfSwitchReplacement
extends AbstractRewriteTransformation

This transfromation replaces potentially vulnerable if constructions to semantically equivalent switch with randomized execution.

Parameters:

NameTypeDefaultDescription
includeMethods String (regexp) ".*" method names, that should be included in transformation
excludeMethods String (regexp) "" method names, that should not be included in transformatio

Basic parameters are inherited from AbstractRewriteTransformation.

Author:
Tobias Smolka

Field Summary
 
Fields inherited from class org.cesta.trans.java.AbstractRewriteTransformation
tokens, tree
 
Fields inherited from class org.cesta.trans.AbstractTransformation
logger
 
Constructor Summary
IfSwitchReplacement()
           
 
Method Summary
 java.util.Map<java.lang.String,java.lang.Object> getDefaultParams()
          Returns default parameters
 void transform(MappedFile filePair)
          Transforms single file
 
Methods inherited from class org.cesta.trans.java.AbstractRewriteTransformation
execute, prepareTreeNodeStream, registerTemplateGroupLoader
 
Methods inherited from class org.cesta.trans.AbstractTransformation
addMappedFile, clearParams, getMappedFiles, getParam, getParam, getParamB, getParamB, getParams, getParamS, getParamS, setMappedFiles, setParam, setParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IfSwitchReplacement

public IfSwitchReplacement()
Method Detail

transform

public void transform(MappedFile filePair)
               throws TransformationException
Transforms single file

Specified by:
transform in class AbstractRewriteTransformation
Parameters:
filePair - File pair (input/output) to transform
Throws:
TransformationException - In case transformation failed

getDefaultParams

public java.util.Map<java.lang.String,java.lang.Object> getDefaultParams()
Returns default parameters

Overrides:
getDefaultParams in class AbstractRewriteTransformation
Returns:
map of parameters