You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2017/10/11 07:12:22 UTC

[3/3] systemml git commit: [MINOR] Cleanup various issues raised by static code analysis, part 2

[MINOR] Cleanup various issues raised by static code analysis, part 2

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/13a01758
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/13a01758
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/13a01758

Branch: refs/heads/master
Commit: 13a017583e84296769c2d28b7ae9c75e62f412b1
Parents: 40dd894
Author: Matthias Boehm <mb...@gmail.com>
Authored: Wed Oct 11 00:11:52 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Wed Oct 11 00:11:52 2017 -0700

----------------------------------------------------------------------
 .../apache/sysml/api/mlcontext/FrameSchema.java | 17 ++--
 .../sysml/debug/DMLDebuggerFunctions.java       | 14 +---
 .../java/org/apache/sysml/hops/AggUnaryOp.java  |  2 +-
 .../java/org/apache/sysml/hops/BinaryOp.java    |  2 +-
 .../org/apache/sysml/hops/ConvolutionOp.java    | 13 ++--
 .../java/org/apache/sysml/hops/IndexingOp.java  |  5 +-
 .../org/apache/sysml/hops/LeftIndexingOp.java   |  2 +-
 .../apache/sysml/hops/cost/CostEstimator.java   | 14 ++--
 .../hops/cost/CostEstimatorStaticRuntime.java   | 25 +++---
 .../ipa/IPAPassPropagateReplaceLiterals.java    |  4 +-
 .../sysml/hops/ipa/InterProceduralAnalysis.java | 18 ++---
 .../RewriteAlgebraicSimplificationDynamic.java  | 82 ++++++++++----------
 .../RewriteAlgebraicSimplificationStatic.java   | 64 +++++++--------
 .../hops/rewrite/RewriteConstantFolding.java    | 21 ++---
 .../rewrite/RewriteForLoopVectorization.java    |  8 +-
 .../rewrite/RewriteIndexingVectorization.java   |  4 +-
 .../RewriteMarkLoopVariablesUpdateInPlace.java  |  2 +-
 .../RewriteMatrixMultChainOptimization.java     | 10 +--
 .../RewriteSplitDagDataDependentOperators.java  |  6 +-
 .../sysml/lops/CumulativeOffsetBinary.java      |  2 +-
 .../sysml/lops/CumulativeSplitAggregate.java    |  3 +-
 .../java/org/apache/sysml/lops/ZeroOut.java     |  5 +-
 .../java/org/apache/sysml/lops/compile/Dag.java |  4 +-
 .../sysml/parser/BuiltinFunctionExpression.java | 14 ++--
 .../org/apache/sysml/parser/DMLTranslator.java  | 11 ++-
 .../apache/sysml/parser/ForStatementBlock.java  |  2 +-
 .../sysml/parser/LiveVariableAnalysis.java      |  2 +-
 .../sysml/parser/ParForStatementBlock.java      | 16 ++--
 .../sysml/parser/dml/DMLParserWrapper.java      |  2 +-
 .../sysml/parser/dml/DmlSyntacticValidator.java |  4 +-
 .../sysml/parser/pydml/PyDMLParserWrapper.java  |  2 +-
 .../parser/pydml/PydmlSyntacticValidator.java   |  8 +-
 .../sysml/runtime/codegen/SpoofCellwise.java    |  2 +-
 .../runtime/codegen/SpoofOuterProduct.java      |  4 +-
 .../sysml/runtime/codegen/SpoofRowwise.java     |  2 +-
 .../runtime/compress/CompressedMatrixBlock.java |  5 +-
 .../ColumnGroupPartitionerBinPacking.java       |  2 +-
 .../controlprogram/ParForProgramBlock.java      | 12 +--
 .../runtime/controlprogram/ProgramBlock.java    |  2 +-
 .../context/ExecutionContext.java               |  2 +-
 .../context/SparkExecutionContext.java          |  2 +-
 .../parfor/DataPartitionerLocal.java            |  6 +-
 .../controlprogram/parfor/ProgramConverter.java |  2 +-
 .../parfor/RemoteParForColocatedFileSplit.java  |  4 +-
 .../parfor/ResultMergeLocalFile.java            | 12 +--
 .../parfor/ResultMergeLocalMemory.java          | 18 ++---
 .../parfor/ResultMergeRemoteSpark.java          |  4 +-
 .../parfor/opt/OptimizerConstrained.java        |  3 +-
 .../parfor/opt/OptimizerRuleBased.java          | 10 +--
 .../runtime/functionobjects/IntegerDivide.java  |  2 +-
 .../functionobjects/ParameterizedBuiltin.java   |  2 +-
 .../runtime/instructions/MRJobInstruction.java  |  6 +-
 .../cp/ConvolutionCPInstruction.java            | 31 +++-----
 .../cp/DataPartitionCPInstruction.java          |  8 +-
 .../instructions/cp/VariableCPInstruction.java  |  4 +-
 .../ParameterizedBuiltinCPFileInstruction.java  |  4 +-
 .../gpu/AggregateBinaryGPUInstruction.java      |  6 +-
 .../gpu/ConvolutionGPUInstruction.java          |  5 +-
 .../gpu/MatrixMatrixAxpyGPUInstruction.java     |  4 +-
 .../instructions/gpu/context/JCudaKernels.java  |  2 +-
 .../spark/ConvolutionSPInstruction.java         | 21 ++---
 .../spark/FrameAppendMSPInstruction.java        |  3 +-
 .../spark/FrameIndexingSPInstruction.java       |  5 +-
 .../spark/MatrixAppendMSPInstruction.java       |  2 +-
 ...ReturnParameterizedBuiltinSPInstruction.java |  4 +-
 .../spark/QuantilePickSPInstruction.java        |  4 +-
 .../instructions/spark/SpoofSPInstruction.java  |  4 +-
 .../spark/TernarySPInstruction.java             |  6 +-
 .../instructions/spark/Tsmm2SPInstruction.java  |  3 +-
 .../instructions/spark/WriteSPInstruction.java  |  2 +-
 .../spark/utils/FrameRDDConverterUtils.java     |  2 +-
 .../spark/utils/RDDConverterUtils.java          | 12 +--
 .../spark/utils/RDDConverterUtilsExt.java       |  4 +-
 .../runtime/io/FrameReaderBinaryBlock.java      |  2 +-
 .../sysml/runtime/io/FrameReaderTextCell.java   |  6 +-
 .../runtime/io/FrameWriterBinaryBlock.java      |  2 +-
 .../sysml/runtime/io/FrameWriterTextCSV.java    |  2 +-
 .../sysml/runtime/io/FrameWriterTextCell.java   |  2 +-
 .../sysml/runtime/io/ReaderBinaryBlock.java     |  2 +-
 .../sysml/runtime/io/ReaderBinaryCell.java      |  2 +-
 .../apache/sysml/runtime/io/ReaderTextCSV.java  |  6 +-
 .../apache/sysml/runtime/io/ReaderTextCell.java |  6 +-
 .../sysml/runtime/io/WriterBinaryBlock.java     |  4 +-
 .../sysml/runtime/io/WriterMatrixMarket.java    |  4 +-
 .../apache/sysml/runtime/io/WriterTextCSV.java  |  2 +-
 .../apache/sysml/runtime/io/WriterTextCell.java |  2 +-
 .../org/apache/sysml/runtime/matrix/SortMR.java |  2 +-
 .../matrix/data/ConvolutionParameters.java      |  5 +-
 .../sysml/runtime/matrix/data/FrameBlock.java   |  2 +-
 .../runtime/matrix/data/LibMatrixBincell.java   |  2 +-
 .../matrix/data/LibMatrixDNNConv2dHelper.java   |  4 +-
 .../runtime/matrix/data/LibMatrixMult.java      | 14 ++--
 .../runtime/matrix/data/LibMatrixReorg.java     |  2 +-
 .../sysml/runtime/matrix/data/MatrixBlock.java  | 18 ++---
 .../mapred/MRBaseForCommonInstructions.java     |  2 +-
 .../matrix/sort/PickFromCompactInputFormat.java | 12 ++-
 .../apache/sysml/udf/lib/SGDNesterovUpdate.java | 11 +--
 .../org/apache/sysml/yarn/DMLYarnClient.java    |  8 +-
 .../test/integration/AutomatedTestBase.java     |  2 +-
 .../functions/io/FullDynWriteTest.java          | 22 +-----
 .../functions/jmlc/FrameCastingTest.java        |  2 +-
 .../functions/jmlc/FrameReadMetaTest.java       |  4 +-
 .../parfor/ParForRepeatedOptimizationTest.java  | 14 +---
 103 files changed, 355 insertions(+), 439 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
index 9c6137b..32dec57 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java
@@ -19,8 +19,9 @@
 
 package org.apache.sysml.api.mlcontext;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.sysml.parser.Expression.ValueType;
@@ -94,16 +95,12 @@ public class FrameSchema {
 	 *            the frame schema as a string
 	 * @return the frame schema as a list of {@code ValueType} values
 	 */
-	private List<ValueType> schemaStringToListOfValueTypes(String schemaString) {
-		if (StringUtils.isBlank(schemaString)) {
+	private static List<ValueType> schemaStringToListOfValueTypes(String schemaString) {
+		if (StringUtils.isBlank(schemaString))
 			return null;
-		}
-		String[] cols = schemaString.split(",");
-		List<ValueType> list = new ArrayList<>();
-		for (String col : cols) {
-			list.add(ValueType.valueOf(col.toUpperCase()));
-		}
-		return list;
+		return Arrays.stream(schemaString.split(","))
+			.map(s -> ValueType.valueOf(s.toUpperCase()))
+			.collect(Collectors.toList());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java b/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java
index 09bb0d6..3b75d4b 100644
--- a/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java
+++ b/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java
@@ -567,16 +567,8 @@ public class DMLDebuggerFunctions {
 		return range;
 	}
 	
-	/**
-	 * Returns minimum between two integers
-	 * @param a Integer value 
-	 * @param b Integer value
-	 * @return Minimum between a and b.
-	 */
-	private int min(int a, int b) {
-		if (a < b)
-			return a;
-		return b;
+	private static int min(int a, int b) {
+		return Math.min(a, b);
 	}
 	
 	/**
@@ -585,7 +577,7 @@ public class DMLDebuggerFunctions {
 	 * @param rowIndex if rowIndex == -1, then prints all rows
 	 * @param colIndex if colIndex == -1, then prints all columns
 	 */
-	private void prettyPrintMatrixBlock(MatrixBlock mb, int rowIndex, int colIndex) {
+	private static void prettyPrintMatrixBlock(MatrixBlock mb, int rowIndex, int colIndex) {
 		if(rowIndex <= 0 && colIndex <= 0) {
 			// Print entire matrix
 			for(int i=0; i<min(mb.getNumRows(), DISPLAY_MAX_ROWS); i++) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/AggUnaryOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/AggUnaryOp.java b/src/main/java/org/apache/sysml/hops/AggUnaryOp.java
index 4f5e2bc..04a32bd 100644
--- a/src/main/java/org/apache/sysml/hops/AggUnaryOp.java
+++ b/src/main/java/org/apache/sysml/hops/AggUnaryOp.java
@@ -491,7 +491,7 @@ public class AggUnaryOp extends Hop implements MultiThreadedHop
 		return _etype;
 	}
 
-	private boolean requiresAggregation( Hop input, Direction dir ) 
+	private static boolean requiresAggregation( Hop input, Direction dir ) 
 	{
 		if( !ALLOW_UNARYAGG_WO_FINAL_AGG )
 			return false; //customization not allowed

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/BinaryOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/BinaryOp.java b/src/main/java/org/apache/sysml/hops/BinaryOp.java
index 97ec655..58bbc8f 100644
--- a/src/main/java/org/apache/sysml/hops/BinaryOp.java
+++ b/src/main/java/org/apache/sysml/hops/BinaryOp.java
@@ -1384,7 +1384,7 @@ public class BinaryOp extends Hop
 				||(left.getDim1() > 1 && right.getDim1()==1 && left.getDim1()>=left.getRowsInBlock() )); //row MV and more than 1 block
 	}
 
-	private MMBinaryMethod optFindMMBinaryMethodSpark(Hop left, Hop right) {
+	private static MMBinaryMethod optFindMMBinaryMethodSpark(Hop left, Hop right) {
 		long m1_dim1 = left.getDim1();
 		long m1_dim2 = left.getDim2();
 		long m2_dim1 =  right.getDim1();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
index 849b694..e732fb8 100644
--- a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
+++ b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java
@@ -75,8 +75,7 @@ public class ConvolutionOp extends Hop  implements MultiThreadedHop
 		return "" + HopsConv2Lops.get(op);
 	}
 
-	private boolean isEligibleForSpark() {
-		// return (op == ConvOp.DIRECT_CONV2D || op == ConvOp.MAX_POOLING) ? true : false;
+	private static boolean isEligibleForSpark() {
 		return false;
 	}
 	
@@ -146,11 +145,11 @@ public class ConvolutionOp extends Hop  implements MultiThreadedHop
 		}
 	}
 	
-	private boolean isInputReLU(Hop input) {
+	private static boolean isInputReLU(Hop input) {
 		return input instanceof UnaryOp && ((UnaryOp) input).getOp() == OpOp1.SELP;
 	}
 	
-	private boolean isInputConv2d(Hop input) {
+	private static boolean isInputConv2d(Hop input) {
 		return input instanceof ConvolutionOp && ((ConvolutionOp) input).getOp() == ConvOp.DIRECT_CONV2D;
 	}
 	
@@ -712,19 +711,19 @@ public class ConvolutionOp extends Hop  implements MultiThreadedHop
 		return ret;
 	}
 	
-	private long nonNegativeMultiply(long val1, long val2, long val3) {
+	private static long nonNegativeMultiply(long val1, long val2, long val3) {
 		if(val1 >= 0 && val2 >= 0 && val3 >= 0) {
 			return val1 * val2 * val3;
 		}
 		else return -1;
 	}
-	private long nonNegativeMultiply(long val1, long val2) {
+	private static long nonNegativeMultiply(long val1, long val2) {
 		if(val1 >= 0 && val2 >= 0) {
 			return val1 * val2;
 		}
 		else return -1;
 	}
-	private long getNonNegative(long val1, long val2) {
+	private static long getNonNegative(long val1, long val2) {
 		if(val1 >= 0 && val2 >= 0) {
 			if(val1 == val2) return val1;
 			else throw new RuntimeException("Incorrect dimensions in Convolution Hop: " + val1 + " != " + val2);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/IndexingOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/IndexingOp.java b/src/main/java/org/apache/sysml/hops/IndexingOp.java
index 0aa6d03..23d0630 100644
--- a/src/main/java/org/apache/sysml/hops/IndexingOp.java
+++ b/src/main/java/org/apache/sysml/hops/IndexingOp.java
@@ -287,7 +287,7 @@ public class IndexingOp extends Hop
 	 * @param ubound uppser bound high-level operator
 	 * @return true if block indexing expression
 	 */
-	private boolean isBlockIndexingExpression(Hop lbound, Hop ubound) 
+	private static boolean isBlockIndexingExpression(Hop lbound, Hop ubound) 
 	{
 		boolean ret = false;
 		LiteralOp constant = null;
@@ -351,8 +351,7 @@ public class IndexingOp extends Hop
 		return OptimizerUtils.isIndexingRangeBlockAligned(rl, ru, cl, cu, brlen, bclen);
 	}
 
-	private long getBlockIndexingExpressionSize(Hop lbound, Hop ubound) 
-	{
+	private static long getBlockIndexingExpressionSize(Hop lbound, Hop ubound) {
 		//NOTE: ensure consistency with isBlockIndexingExpression
 		LiteralOp c = (LiteralOp) ubound.getInput().get(0); //(c*i)
 		return HopRewriteUtils.getIntValueSafe(c);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
index f3c6614..a660d24 100644
--- a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
+++ b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
@@ -243,7 +243,7 @@ public class LeftIndexingOp  extends Hop
 		return (rightHandSide.getDataType() == DataType.SCALAR);
 	}
 	
-	private LixCacheType getSpLixCacheType(LeftIndexingMethod method) {
+	private static LixCacheType getSpLixCacheType(LeftIndexingMethod method) {
 		switch( method ) {
 			case SP_MLEFTINDEX_L: return LixCacheType.LEFT;
 			case SP_MLEFTINDEX_R: return LixCacheType.RIGHT;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java b/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java
index 9f46eb0..ea1e3d6 100644
--- a/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java
+++ b/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java
@@ -217,7 +217,7 @@ public abstract class CostEstimator
 		return ret;
 	}
 	
-	private void maintainVariableStatistics( LocalVariableMap vars, HashMap<String, VarStats> stats ) 
+	private static void maintainVariableStatistics( LocalVariableMap vars, HashMap<String, VarStats> stats ) 
 		throws DMLRuntimeException
 	{
 		for( String varname : vars.keySet() )
@@ -246,7 +246,7 @@ public abstract class CostEstimator
 		}
 	}
 	
-	private void maintainCPInstVariableStatistics( CPInstruction inst, HashMap<String, VarStats> stats )
+	private static void maintainCPInstVariableStatistics( CPInstruction inst, HashMap<String, VarStats> stats )
 	{
 		if( inst instanceof VariableCPInstruction )
 		{
@@ -427,7 +427,7 @@ public abstract class CostEstimator
 		return ret;
 	}
 	
-	private Object[] extractCPInstStatistics( Instruction inst, HashMap<String, VarStats> stats )
+	private static Object[] extractCPInstStatistics( Instruction inst, HashMap<String, VarStats> stats )
 	{		
 		Object[] ret = new Object[2]; //stats, attrs
 		VarStats[] vs = new VarStats[3];
@@ -575,13 +575,13 @@ public abstract class CostEstimator
 		return ret;
 	}
 	
-	private void setUnknownStats(VarStats[] vs) {
+	private static void setUnknownStats(VarStats[] vs) {
 		vs[0] = _unknownStats;
 		vs[1] = _unknownStats;
 		vs[2] = _unknownStats;	
 	}
 	
-	private Object[] extractMRJobInstStatistics( Instruction inst, HashMap<String, VarStats> stats )
+	private static Object[] extractMRJobInstStatistics( Instruction inst, HashMap<String, VarStats> stats )
 	{
 		Object[] ret = new Object[2]; //stats, attrs
 		VarStats[] vs = null;
@@ -614,7 +614,7 @@ public abstract class CostEstimator
 		return ret;
 	}	
 	
-	private void cleanupMRJobVariableStatistics( Instruction inst, HashMap<String, VarStats> stats )
+	private static void cleanupMRJobVariableStatistics( Instruction inst, HashMap<String, VarStats> stats )
 	{
 		MRJobInstruction jinst = (MRJobInstruction)inst;
 		
@@ -634,7 +634,7 @@ public abstract class CostEstimator
 		}
 	}
 	
-	private long getNumIterations(HashMap<String,VarStats> stats, ForProgramBlock pb) {
+	private static long getNumIterations(HashMap<String,VarStats> stats, ForProgramBlock pb) {
 		return OptimizerUtils.getNumIterations(pb, DEFAULT_NUMITER);
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java b/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java
index ef89600..f3ce99d 100644
--- a/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java
+++ b/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java
@@ -466,8 +466,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 	// Utilities       //
 	/////////////////////	
 	
-	private byte[] getInputIndexes(String[] inputVars)
-	{
+	private static byte[] getInputIndexes(String[] inputVars) {
 		byte[] inIx = new byte[inputVars.length];
 		for( int i=0; i<inIx.length; i++ )
 			inIx[i] = (byte)i;
@@ -542,7 +541,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return ret;
 	}
 	
-	private int computeNumMapTasks( VarStats[] vs, byte[] inputIx, double blocksize, int maxPMap, JobType jobtype )
+	private static int computeNumMapTasks( VarStats[] vs, byte[] inputIx, double blocksize, int maxPMap, JobType jobtype )
 	{
 		//special cases
 		if( jobtype == JobType.DATAGEN )
@@ -565,7 +564,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return Math.max(1, Math.min( (int)Math.ceil(mapInputSize/blocksize),numBlocks ));
 	}
 	
-	private int computeNumReduceTasks( VarStats[] vs, byte[] mapOutIx, JobType jobtype )
+	private static int computeNumReduceTasks( VarStats[] vs, byte[] mapOutIx, JobType jobtype )
 	{
 		int ret = -1;
 		
@@ -598,7 +597,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return Math.max(1, ret);
 	}
 
-	private int getDistcacheIndex(String inst) 
+	private static int getDistcacheIndex(String inst) 
 		throws DMLRuntimeException
 	{
 		ArrayList<Byte> indexes = new ArrayList<>();
@@ -629,7 +628,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 	 * @param ds sparsity factor?
 	 * @return estimated HDFS read time
 	 */
-	private double getHDFSReadTime( long dm, long dn, double ds )
+	private static double getHDFSReadTime( long dm, long dn, double ds )
 	{
 		boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn));
 		double ret = ((double)MatrixBlock.estimateSizeOnDisk((long)dm, (long)dn, (long)(ds*dm*dn))) / (1024*1024);  		
@@ -642,7 +641,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return ret;
 	}
 	
-	private double getHDFSWriteTime( long dm, long dn, double ds )
+	private static double getHDFSWriteTime( long dm, long dn, double ds )
 	{
 		boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn));
 		
@@ -662,7 +661,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return ret;
 	}
 	
-	private double getHDFSWriteTime( long dm, long dn, double ds, String format )
+	private static double getHDFSWriteTime( long dm, long dn, double ds, String format )
 	{
 		boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn));
 		
@@ -702,7 +701,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 	 * @param ds sparsity factor?
 	 * @return estimated local file system read time
 	 */
-	private double getFSReadTime( long dm, long dn, double ds )
+	private static double getFSReadTime( long dm, long dn, double ds )
 	{
 		boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn));
 		
@@ -715,7 +714,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return ret;
 	}
 
-	private double getFSWriteTime( long dm, long dn, double ds )
+	private static double getFSWriteTime( long dm, long dn, double ds )
 	{
 		boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn));
 		
@@ -734,7 +733,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 	// Operation Costs //
 	/////////////////////
 	
-	private double getInstTimeEstimate(String opcode, VarStats[] vs, String[] args, ExecType et) 
+	private static double getInstTimeEstimate(String opcode, VarStats[] vs, String[] args, ExecType et) 
 		throws DMLRuntimeException
 	{
 		boolean inMR = (et == ExecType.MR);
@@ -766,7 +765,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 	 * @return estimated instruction execution time
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	private double getInstTimeEstimate( String opcode, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) throws DMLRuntimeException
+	private static double getInstTimeEstimate( String opcode, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) throws DMLRuntimeException
 	{
 		double nflops = getNFLOP(opcode, inMR, d1m, d1n, d1s, d2m, d2n, d2s, d3m, d3n, d3s, args);
 		double time = nflops / DEFAULT_FLOPS;
@@ -777,7 +776,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator
 		return time;
 	}
 	
-	private double getNFLOP( String optype, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) 
+	private static double getNFLOP( String optype, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) 
 		throws DMLRuntimeException
 	{
 		//operation costs in FLOP on matrix block level (for CP and MR instructions)

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java b/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java
index 57647ff..5e2e86c 100644
--- a/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java
+++ b/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java
@@ -120,7 +120,7 @@ public class IPAPassPropagateReplaceLiterals extends IPAPass
 		}
 	}
 	
-	private void replaceLiterals(ArrayList<Hop> roots, LocalVariableMap constants) 
+	private static void replaceLiterals(ArrayList<Hop> roots, LocalVariableMap constants) 
 		throws HopsException 
 	{
 		if( roots == null )
@@ -137,7 +137,7 @@ public class IPAPassPropagateReplaceLiterals extends IPAPass
 		}
 	}
 	
-	private void replaceLiterals(Hop root, LocalVariableMap constants) 
+	private static void replaceLiterals(Hop root, LocalVariableMap constants) 
 		throws HopsException 
 	{
 		if( root == null )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java b/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java
index 1aafe0b..65f7e54 100644
--- a/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java
+++ b/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java
@@ -380,7 +380,7 @@ public class InterProceduralAnalysis
 	 * @param vars  Map of variables eligible for propagation.
 	 * @throws HopsException  If a HopsException occurs.
 	 */
-	private void propagateScalarsAcrossDAG(ArrayList<Hop> roots, LocalVariableMap vars)
+	private static void propagateScalarsAcrossDAG(ArrayList<Hop> roots, LocalVariableMap vars)
 		throws HopsException
 	{
 		for (Hop hop : roots) {
@@ -392,7 +392,7 @@ public class InterProceduralAnalysis
 		}
 	}
 
-	private void propagateStatisticsAcrossPredicateDAG( Hop root, LocalVariableMap vars ) 
+	private static void propagateStatisticsAcrossPredicateDAG( Hop root, LocalVariableMap vars ) 
 		throws HopsException
 	{
 		if( root == null )
@@ -417,7 +417,7 @@ public class InterProceduralAnalysis
 	 * @param vars  Map of variables eligible for propagation.
 	 * @throws HopsException  If a HopsException occurs.
 	 */
-	private void propagateStatisticsAcrossDAG( ArrayList<Hop> roots, LocalVariableMap vars )
+	private static void propagateStatisticsAcrossDAG( ArrayList<Hop> roots, LocalVariableMap vars )
 		throws HopsException
 	{
 		if( roots == null )
@@ -532,7 +532,7 @@ public class InterProceduralAnalysis
 		hop.setVisited();
 	}
 	
-	private void populateLocalVariableMapForFunctionCall( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callvars, LocalVariableMap vars, FunctionCallSizeInfo fcallSizes ) 
+	private static void populateLocalVariableMapForFunctionCall( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callvars, LocalVariableMap vars, FunctionCallSizeInfo fcallSizes ) 
 		throws HopsException
 	{
 		ArrayList<DataIdentifier> inputVars = fstmt.getInputParams();
@@ -592,7 +592,7 @@ public class InterProceduralAnalysis
 	 *                      calling program's variable map.
 	 * @throws HopsException  If a HopsException occurs.
 	 */
-	private void extractFunctionCallReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap tmpVars, LocalVariableMap callVars, boolean overwrite ) 
+	private static void extractFunctionCallReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap tmpVars, LocalVariableMap callVars, boolean overwrite ) 
 		throws HopsException
 	{
 		ArrayList<DataIdentifier> foutputOps = fstmt.getOutputParams();
@@ -655,7 +655,7 @@ public class InterProceduralAnalysis
 		}
 	}
 	
-	private void extractFunctionCallUnknownReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
+	private static void extractFunctionCallUnknownReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
 		throws HopsException
 	{
 		ArrayList<DataIdentifier> foutputOps = fstmt.getOutputParams();
@@ -682,7 +682,7 @@ public class InterProceduralAnalysis
 		}
 	}
 	
-	private void extractFunctionCallEquivalentReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
+	private static void extractFunctionCallEquivalentReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
 		throws HopsException
 	{
 		try {
@@ -696,7 +696,7 @@ public class InterProceduralAnalysis
 		}
 	}
 	
-	private void extractExternalFunctionCallReturnStatistics( ExternalFunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
+	private static void extractExternalFunctionCallReturnStatistics( ExternalFunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) 
 		throws HopsException
 	{
 		String className = fstmt.getOtherParams().get(ExternalFunctionStatement.CLASS_NAME);
@@ -723,7 +723,7 @@ public class InterProceduralAnalysis
 		}
 	}
 	
-	private MatrixObject createOutputMatrix( long dim1, long dim2, long nnz ) {
+	private static MatrixObject createOutputMatrix( long dim1, long dim2, long nnz ) {
 		MatrixObject moOut = new MatrixObject(ValueType.DOUBLE, null);
 		MatrixCharacteristics mc = new MatrixCharacteristics( dim1, dim2,
 				ConfigurationManager.getBlocksize(), ConfigurationManager.getBlocksize(), nnz);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
index dcb729e..5437535 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
@@ -205,7 +205,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		hop.setVisited();
 	}
 	
-	private Hop removeEmptyRightIndexing(Hop parent, Hop hi, int pos) 
+	private static Hop removeEmptyRightIndexing(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof IndexingOp && hi.getDataType()==DataType.MATRIX  ) //indexing op
@@ -228,7 +228,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryRightIndexing(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryRightIndexing(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof IndexingOp ) //indexing op
 		{
@@ -252,7 +252,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeEmptyLeftIndexing(Hop parent, Hop hi, int pos) 
+	private static Hop removeEmptyLeftIndexing(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof LeftIndexingOp && hi.getDataType() == DataType.MATRIX  ) //left indexing op
@@ -276,7 +276,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryLeftIndexing(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryLeftIndexing(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof LeftIndexingOp  ) //left indexing op
 		{
@@ -298,7 +298,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop fuseLeftIndexingChainToAppend(Hop parent, Hop hi, int pos)
+	private static Hop fuseLeftIndexingChainToAppend(Hop parent, Hop hi, int pos)
 	{
 		boolean applied = false;
 		
@@ -359,7 +359,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryCumulativeOp(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryCumulativeOp(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof UnaryOp && ((UnaryOp)hi).isCumulativeUnaryOperation()  )
 		{
@@ -381,7 +381,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof ReorgOp ) 
 		{
@@ -407,7 +407,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryOuterProduct(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryOuterProduct(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof BinaryOp  ) //binary cell operation 
 		{
@@ -457,7 +457,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	}
 	
 	@SuppressWarnings("unchecked")
-	private Hop fuseDatagenAndReorgOperation(Hop parent, Hop hi, int pos)
+	private static Hop fuseDatagenAndReorgOperation(Hop parent, Hop hi, int pos)
 	{
 		if( HopRewriteUtils.isTransposeOperation(hi)
 			&& hi.getInput().get(0) instanceof DataGenOp                       //datagen
@@ -495,7 +495,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	}
 
 	@SuppressWarnings("unchecked")
-	private Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if( hi instanceof AggUnaryOp  ) 
@@ -559,7 +559,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	}
 
 	@SuppressWarnings("unchecked")
-	private Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if( hi instanceof AggUnaryOp  ) 
@@ -625,7 +625,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyColSumsMVMult( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyColSumsMVMult( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		//colSums(X*Y) -> t(Y) %*% X, if Y col vector; additional transpose later
@@ -661,7 +661,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyRowSumsMVMult( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyRowSumsMVMult( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		//rowSums(X * Y) -> X %*% t(Y), if Y row vector; additional transpose later
@@ -697,7 +697,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyUnnecessaryAggregate(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyUnnecessaryAggregate(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//e.g., sum(X) -> as.scalar(X) if 1x1 (applies to sum, min, max, prod, trace)
@@ -724,7 +724,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptyAggregate(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptyAggregate(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof AggUnaryOp  ) 
@@ -756,7 +756,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptyUnaryOperation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptyUnaryOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof UnaryOp  ) 
@@ -781,7 +781,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptyReorgOperation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptyReorgOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof ReorgOp  ) 
@@ -823,7 +823,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptySortOperation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptySortOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//order(X, indexreturn=FALSE) -> matrix(0,nrow(X),1)
@@ -862,7 +862,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y -> matrix(0, )
@@ -885,7 +885,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyIdentityRepMatrixMult(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyIdentityRepMatrixMult(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y -> X, if y is matrix(1,1,1)
@@ -908,7 +908,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyScalarMatrixMult(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyScalarMatrixMult(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y
@@ -947,7 +947,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyMatrixMultDiag(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyMatrixMultDiag(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		Hop hnew = null;
@@ -1002,7 +1002,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyDiagMatrixMult(Hop parent, Hop hi, int pos)
+	private static Hop simplifyDiagMatrixMult(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof ReorgOp && ((ReorgOp)hi).getOp()==ReOrgOp.DIAG && hi.getDim2()==1 ) //diagM2V
 		{
@@ -1029,7 +1029,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifySumDiagToTrace(Hop hi)
+	private static Hop simplifySumDiagToTrace(Hop hi)
 	{
 		if( hi instanceof AggUnaryOp ) 
 		{
@@ -1058,7 +1058,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	}
 	
 	@SuppressWarnings("unchecked")
-	private Hop pushdownBinaryOperationOnDiag(Hop parent, Hop hi, int pos) 
+	private static Hop pushdownBinaryOperationOnDiag(Hop parent, Hop hi, int pos) 
 	{
 		//diag(X)*7 --> diag(X*7) in order to (1) reduce required memory for b(*) and
 		//(2) in order to make the binary operation more efficient (dense vector vs sparse matrix)
@@ -1141,7 +1141,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	 * @param pos position
 	 * @return high-level operator
 	 */
-	private Hop pushdownSumOnAdditiveBinary(Hop parent, Hop hi, int pos) 
+	private static Hop pushdownSumOnAdditiveBinary(Hop parent, Hop hi, int pos) 
 	{
 		//all patterns headed by full sum over binary operation
 		if(    hi instanceof AggUnaryOp //full sum root over binaryop
@@ -1204,7 +1204,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop simplifyWeightedSquaredLoss(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyWeightedSquaredLoss(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//NOTE: there might be also a general simplification without custom operator
@@ -1392,7 +1392,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyWeightedSigmoidMMChains(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyWeightedSigmoidMMChains(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		Hop hnew = null;
@@ -1528,7 +1528,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		Hop hnew = null;
@@ -1846,7 +1846,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyWeightedCrossEntropy(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyWeightedCrossEntropy(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		Hop hnew = null;
@@ -1923,7 +1923,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		Hop hnew = null;
@@ -2077,7 +2077,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//sum(v^2)/sum(v1*v2) --> as.scalar(t(v)%*%v) in order to exploit tsmm vector dotproduct 
@@ -2151,7 +2151,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	 *
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop fuseSumSquared(Hop parent, Hop hi, int pos)
+	private static Hop fuseSumSquared(Hop parent, Hop hi, int pos)
 			throws HopsException {
 		// if SUM
 		if (hi instanceof AggUnaryOp && ((AggUnaryOp) hi).getOp() == AggOp.SUM) {
@@ -2180,7 +2180,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop fuseAxpyBinaryOperationChain(Hop parent, Hop hi, int pos) 
+	private static Hop fuseAxpyBinaryOperationChain(Hop parent, Hop hi, int pos) 
 	{
 		//patterns: (a) X + s*Y -> X +* sY, (b) s*Y+X -> X +* sY, (c) X - s*Y -> X -* sY		
 		if( hi instanceof BinaryOp && !((BinaryOp) hi).isOuterVectorOperator()
@@ -2236,7 +2236,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyEmptyBinaryOperation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyEmptyBinaryOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp ) //b(?) X Y
@@ -2320,7 +2320,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	 * @throws HopsException if HopsException occurs
 	 */
 	@SuppressWarnings("unchecked")
-	private Hop reorderMinusMatrixMult(Hop parent, Hop hi, int pos) 
+	private static Hop reorderMinusMatrixMult(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y
@@ -2402,7 +2402,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 	}
 
 
-	private Hop simplifySumMatrixMult(Hop parent, Hop hi, int pos)
+	private static Hop simplifySumMatrixMult(Hop parent, Hop hi, int pos)
 	{
 		//sum(A%*%B) -> sum(t(colSums(A))*rowSums(B)), later rewritten to dot-product
 		//colSums(A%*%B) -> colSums(A)%*%B
@@ -2455,7 +2455,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyScalarMVBinaryOperation(Hop hi) 
+	private static Hop simplifyScalarMVBinaryOperation(Hop hi) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp && ((BinaryOp)hi).supportsMatrixScalarOperations() //e.g., X * s
@@ -2478,7 +2478,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyNnzComputation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyNnzComputation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//sum(ppred(X,0,"!=")) -> literal(nnz(X)), if nnz known		
@@ -2513,7 +2513,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyNrowNcolComputation(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyNrowNcolComputation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//nrow(X) -> literal(nrow(X)), ncol(X) -> literal(ncol(X)), if respective dims known
@@ -2542,7 +2542,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyTableSeqExpand(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyTableSeqExpand(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//pattern: table(seq(1,nrow(v)), v, nrow(v), m) -> rexpand(v, max=m, dir=row, ignore=false, cast=true)

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java
index 4e5f3fb..64a37d7 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java
@@ -188,7 +188,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		hop.setVisited();
 	}
 	
-	private Hop removeUnnecessaryVectorizeOperation(Hop hi)
+	private static Hop removeUnnecessaryVectorizeOperation(Hop hi)
 	{
 		//applies to all binary matrix operations, if one input is unnecessarily vectorized 
 		if(    hi instanceof BinaryOp && hi.getDataType()==DataType.MATRIX 
@@ -256,7 +256,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop removeUnnecessaryBinaryOperation( Hop parent, Hop hi, int pos ) 
+	private static Hop removeUnnecessaryBinaryOperation( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )
@@ -345,7 +345,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @throws HopsException if HopsException occurs
 	 */
 	@SuppressWarnings("incomplete-switch")
-	private Hop fuseDatagenAndBinaryOperation( Hop hi ) 
+	private static Hop fuseDatagenAndBinaryOperation( Hop hi ) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )
@@ -428,7 +428,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop fuseDatagenAndMinusOperation( Hop hi ) 
+	private static Hop fuseDatagenAndMinusOperation( Hop hi ) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )
@@ -490,7 +490,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop simplifyBinaryToUnaryOperation( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyBinaryToUnaryOperation( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )
@@ -550,7 +550,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop canonicalizeMatrixMultScalarAdd( Hop hi ) 
+	private static Hop canonicalizeMatrixMultScalarAdd( Hop hi ) 
 		throws HopsException
 	{
 		//pattern: binary operation (+ or -) of matrix mult and scalar 
@@ -594,7 +594,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop simplifyReverseOperation( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyReverseOperation( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if(    hi instanceof AggBinaryOp 
@@ -619,7 +619,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyMultiBinaryToBinaryOperation( Hop hi )
+	private static Hop simplifyMultiBinaryToBinaryOperation( Hop hi )
 	{
 		//pattern: 1-(X*Y) --> X 1-* Y (avoid intermediate)
 		if( HopRewriteUtils.isBinary(hi, OpOp2.MINUS)
@@ -655,7 +655,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @param pos position
 	 * @return high-level operator
 	 */
-	private Hop simplifyDistributiveBinaryOperation( Hop parent, Hop hi, int pos )
+	private static Hop simplifyDistributiveBinaryOperation( Hop parent, Hop hi, int pos )
 	{
 		
 		if( hi instanceof BinaryOp )
@@ -733,7 +733,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @param pos position
 	 * @return high-level operator
 	 */
-	private Hop simplifyBushyBinaryOperation( Hop parent, Hop hi, int pos )
+	private static Hop simplifyBushyBinaryOperation( Hop parent, Hop hi, int pos )
 	{
 		if( hi instanceof BinaryOp && parent instanceof AggBinaryOp )
 		{
@@ -799,7 +799,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyUnaryAggReorgOperation( Hop parent, Hop hi, int pos )
+	private static Hop simplifyUnaryAggReorgOperation( Hop parent, Hop hi, int pos )
 	{
 		if(   hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getDirection()==Direction.RowCol  //full uagg
 		   && hi.getInput().get(0) instanceof ReorgOp  ) //reorg operation
@@ -821,7 +821,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop removeUnnecessaryAggregates(Hop hi)
+	private static Hop removeUnnecessaryAggregates(Hop hi)
 	{
 		//sum(rowSums(X)) -> sum(X), sum(colSums(X)) -> sum(X)
 		//min(rowMins(X)) -> min(X), min(colMins(X)) -> min(X)
@@ -850,7 +850,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyBinaryMatrixScalarOperation( Hop parent, Hop hi, int pos ) 
+	private static Hop simplifyBinaryMatrixScalarOperation( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		// Note: This rewrite is not applicable for all binary operations because some of them 
@@ -892,7 +892,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop pushdownUnaryAggTransposeOperation( Hop parent, Hop hi, int pos )
+	private static Hop pushdownUnaryAggTransposeOperation( Hop parent, Hop hi, int pos )
 	{
 		if( hi instanceof AggUnaryOp && hi.getParent().size()==1 
 			&& (((AggUnaryOp) hi).getDirection()==Direction.Row || ((AggUnaryOp) hi).getDirection()==Direction.Col)	
@@ -929,7 +929,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop pushdownCSETransposeScalarOperation( Hop parent, Hop hi, int pos )
+	private static Hop pushdownCSETransposeScalarOperation( Hop parent, Hop hi, int pos )
 	{
 		// a=t(X), b=t(X^2) -> a=t(X), b=t(X)^2 for CSE t(X)
 		// probed at root node of b in above example
@@ -964,7 +964,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) throws HopsException {
+	private static Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) throws HopsException {
 		//pattern:  sum(lamda*X) -> lamda*sum(X)
 		if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getDirection()==Direction.RowCol
 				&& ((AggUnaryOp)hi).getOp()==Hop.AggOp.SUM // only one parent which is the sum
@@ -990,7 +990,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyUnaryPPredOperation( Hop parent, Hop hi, int pos )
+	private static Hop simplifyUnaryPPredOperation( Hop parent, Hop hi, int pos )
 	{
 		if( hi instanceof UnaryOp && hi.getDataType()==DataType.MATRIX  //unaryop
 			&& hi.getInput().get(0) instanceof BinaryOp                 //binaryop - ppred
@@ -1014,7 +1014,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyTransposedAppend( Hop parent, Hop hi, int pos )
+	private static Hop simplifyTransposedAppend( Hop parent, Hop hi, int pos )
 	{
 		//e.g., t(cbind(t(A),t(B))) --> rbind(A,B), t(rbind(t(A),t(B))) --> cbind(A,B)		
 		if(   HopRewriteUtils.isTransposeOperation(hi)  //t() rooted
@@ -1057,7 +1057,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @param pos position
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop fuseBinarySubDAGToUnaryOperation( Hop parent, Hop hi, int pos ) 
+	private static Hop fuseBinarySubDAGToUnaryOperation( Hop parent, Hop hi, int pos ) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )
@@ -1241,7 +1241,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyTraceMatrixMult(Hop parent, Hop hi, int pos)
+	private static Hop simplifyTraceMatrixMult(Hop parent, Hop hi, int pos)
 	{
 		if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getOp()==AggOp.TRACE ) //trace()
 		{
@@ -1268,7 +1268,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifySlicedMatrixMult(Hop parent, Hop hi, int pos) 
+	private static Hop simplifySlicedMatrixMult(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//e.g., (X%*%Y)[1,1] -> X[1,] %*% Y[,1] 
@@ -1309,7 +1309,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyConstantSort(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyConstantSort(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//order(matrix(7), indexreturn=FALSE) -> matrix(7)
@@ -1348,7 +1348,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop simplifyOrderedSort(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyOrderedSort(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//order(seq(2,N+1,1), indexreturn=FALSE) -> matrix(7)
@@ -1402,7 +1402,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @return high-level operator
 	 * @throws HopsException if HopsException occurs
 	 */
-	private Hop simplifyTransposeAggBinBinaryChains(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyTransposeAggBinBinaryChains(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( HopRewriteUtils.isTransposeOperation(hi)
@@ -1444,7 +1444,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @param pos position
 	 * @return high-level operator
 	 */
-	private Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos)
+	private static Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos)
 	{
 		ReOrgOp[] lookup = new ReOrgOp[]{ReOrgOp.TRANSPOSE, ReOrgOp.REV};
 		
@@ -1467,7 +1467,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop removeUnnecessaryMinus(Hop parent, Hop hi, int pos) 
+	private static Hop removeUnnecessaryMinus(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi.getDataType() == DataType.MATRIX && hi instanceof BinaryOp 
@@ -1493,7 +1493,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyGroupedAggregate(Hop hi)
+	private static Hop simplifyGroupedAggregate(Hop hi)
 	{
 		if( hi instanceof ParameterizedBuiltinOp && ((ParameterizedBuiltinOp)hi).getOp()==ParamBuiltinOp.GROUPEDAGG  ) //aggregate
 		{
@@ -1522,7 +1522,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop fuseMinusNzBinaryOperation(Hop parent, Hop hi, int pos) 
+	private static Hop fuseMinusNzBinaryOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//pattern X - (s * ppred(X,0,!=)) -> X -nz s
@@ -1556,7 +1556,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 	
-	private Hop fuseLogNzUnaryOperation(Hop parent, Hop hi, int pos) 
+	private static Hop fuseLogNzUnaryOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//pattern ppred(X,0,"!=")*log(X) -> log_nz(X)
@@ -1588,7 +1588,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop fuseLogNzBinaryOperation(Hop parent, Hop hi, int pos) 
+	private static Hop fuseLogNzBinaryOperation(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//pattern ppred(X,0,"!=")*log(X,0.5) -> log_nz(X,0.5)
@@ -1621,7 +1621,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 		return hi;
 	}
 
-	private Hop simplifyOuterSeqExpand(Hop parent, Hop hi, int pos) 
+	private static Hop simplifyOuterSeqExpand(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		//pattern: outer(v, t(seq(1,m)), "==") -> rexpand(v, max=m, dir=row, ignore=true, cast=false)
@@ -1678,7 +1678,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule
 	 * @throws HopsException if HopsException occurs
 	 */
 	@SuppressWarnings("unused")
-	private Hop removeUnecessaryPPred(Hop parent, Hop hi, int pos) 
+	private static Hop removeUnecessaryPPred(Hop parent, Hop hi, int pos) 
 		throws HopsException
 	{
 		if( hi instanceof BinaryOp )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java
index 92b91e0..2d94259 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java
@@ -243,7 +243,7 @@ public class RewriteConstantFolding extends HopRewriteRule
 		return _tmpEC;
 	}
 	
-	private boolean isApplicableBinaryOp( Hop hop )
+	private static boolean isApplicableBinaryOp( Hop hop )
 	{
 		ArrayList<Hop> in = hop.getInput();
 		return (   hop instanceof BinaryOp 
@@ -256,8 +256,7 @@ public class RewriteConstantFolding extends HopRewriteRule
 		//messes up the explain runtime output due to introduced \n 
 	}
 	
-	private boolean isApplicableUnaryOp( Hop hop )
-	{
+	private static boolean isApplicableUnaryOp( Hop hop ) {
 		ArrayList<Hop> in = hop.getInput();
 		return (   hop instanceof UnaryOp 
 				&& in.get(0) instanceof LiteralOp 
@@ -266,21 +265,17 @@ public class RewriteConstantFolding extends HopRewriteRule
 				&& hop.getDataType() == DataType.SCALAR);
 	}
 	
-	private boolean isApplicableFalseConjunctivePredicate( Hop hop ) 
-		throws HopsException
-	{
+	private static boolean isApplicableFalseConjunctivePredicate( Hop hop ) throws HopsException {
 		ArrayList<Hop> in = hop.getInput();
 		return (   HopRewriteUtils.isBinary(hop, OpOp2.AND)
-				&& ( (in.get(0) instanceof LiteralOp && !((LiteralOp)in.get(0)).getBooleanValue())   
-				   ||(in.get(1) instanceof LiteralOp && !((LiteralOp)in.get(1)).getBooleanValue())) );			
+				&& ( (in.get(0) instanceof LiteralOp && !((LiteralOp)in.get(0)).getBooleanValue())
+				   ||(in.get(1) instanceof LiteralOp && !((LiteralOp)in.get(1)).getBooleanValue())) );
 	}
 	
-	private boolean isApplicableTrueDisjunctivePredicate( Hop hop ) 
-		throws HopsException
-	{
+	private static boolean isApplicableTrueDisjunctivePredicate( Hop hop ) throws HopsException {
 		ArrayList<Hop> in = hop.getInput();
 		return (   HopRewriteUtils.isBinary(hop, OpOp2.OR)
-				&& ( (in.get(0) instanceof LiteralOp && ((LiteralOp)in.get(0)).getBooleanValue())   
-				   ||(in.get(1) instanceof LiteralOp && ((LiteralOp)in.get(1)).getBooleanValue())) );			
+				&& ( (in.get(0) instanceof LiteralOp && ((LiteralOp)in.get(0)).getBooleanValue())
+				   ||(in.get(1) instanceof LiteralOp && ((LiteralOp)in.get(1)).getBooleanValue())) );
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java
index fdcf96b..7d01715 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java
@@ -103,7 +103,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule
 		return sbs;
 	}
 	
-	private StatementBlock vectorizeScalarAggregate( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) 
+	private static StatementBlock vectorizeScalarAggregate( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) 
 		throws HopsException
 	{
 		StatementBlock ret = sb;
@@ -205,7 +205,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule
 		return ret;
 	}
 	
-	private StatementBlock vectorizeElementwiseBinary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) 
+	private static StatementBlock vectorizeElementwiseBinary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) 
 		throws HopsException
 	{
 		StatementBlock ret = sb;
@@ -289,7 +289,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule
 		return ret;
 	}
 	
-	private StatementBlock vectorizeElementwiseUnary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar )
+	private static StatementBlock vectorizeElementwiseUnary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar )
 		throws HopsException
 	{
 		StatementBlock ret = sb;
@@ -349,7 +349,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule
 		return ret;
 	}
 	
-	private StatementBlock vectorizeIndexedCopy( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar )
+	private static StatementBlock vectorizeIndexedCopy( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar )
 		throws HopsException
 	{
 		StatementBlock ret = sb;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java
index bd22522..3f116c2 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java
@@ -101,7 +101,7 @@ public class RewriteIndexingVectorization extends HopRewriteRule
 	 * @throws HopsException if HopsException occurs
 	 */
 	@SuppressWarnings("unused")
-	private void vectorizeRightIndexing( Hop hop )
+	private static void vectorizeRightIndexing( Hop hop )
 		throws HopsException
 	{
 		if( hop instanceof IndexingOp ) //right indexing
@@ -189,7 +189,7 @@ public class RewriteIndexingVectorization extends HopRewriteRule
 	}
 	
 	@SuppressWarnings("unchecked")
-	private Hop vectorizeLeftIndexing( Hop hop )
+	private static Hop vectorizeLeftIndexing( Hop hop )
 		throws HopsException
 	{
 		Hop ret = hop;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java
index deb7fba..c29820e 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java
@@ -126,7 +126,7 @@ public class RewriteMarkLoopVariablesUpdateInPlace extends StatementBlockRewrite
 		return ret;
 	}
 	
-	private boolean isApplicableForUpdateInPlace( Hop hop, String varname )
+	private static boolean isApplicableForUpdateInPlace( Hop hop, String varname )
 	{
 		if( !hop.getName().equals(varname) )
 			return true;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java
index 090018b..e8510d4 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java
@@ -228,7 +228,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule
 	 * Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
 	 * Introduction to Algorithms, Third Edition, MIT Press, page 395.
 	 */
-	private int[][] mmChainDP(double[] dimArray, int size) 
+	private static int[][] mmChainDP(double[] dimArray, int size) 
 	{
 		double[][] dpMatrix = new double[size][size]; //min cost table
 		int[][] split = new int[size][size]; //min cost index table
@@ -325,7 +325,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule
 		}
 	}
 
-	private void clearLinksWithinChain( Hop hop, ArrayList<Hop> operators ) 
+	private static void clearLinksWithinChain( Hop hop, ArrayList<Hop> operators ) 
 		throws HopsException 
 	{
 		for( int i=0; i < operators.size(); i++ ) {
@@ -354,7 +354,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule
 	 * @return true if all dimensions known
 	 * @throws HopsException if HopsException occurs
 	 */
-	private boolean getDimsArray( Hop hop, ArrayList<Hop> chain, double[] dimsArray ) 
+	private static boolean getDimsArray( Hop hop, ArrayList<Hop> chain, double[] dimsArray ) 
 		throws HopsException 
 	{
 		boolean dimsKnown = true;
@@ -391,11 +391,11 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule
 		return dimsKnown;
 	}
 
-	private int inputCount( Hop p, Hop h ) {
+	private static int inputCount( Hop p, Hop h ) {
 		return CollectionUtils.cardinality(h, p.getInput());
 	}
 	
-	private void logTraceHop( Hop hop, int level ) {
+	private static void logTraceHop( Hop hop, int level ) {
 		if( LOG.isTraceEnabled() ) {
 			String offset = Explain.getIdentation(level);
 			LOG.trace(offset+ "Hop " + hop.getName() + "(" + hop.getClass().getSimpleName() 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
index 67978cb..7e7860e 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
@@ -318,16 +318,14 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 		hop.setVisited();
 	}
 
-	private boolean hasTransientWriteParents( Hop hop )
-	{
+	private static boolean hasTransientWriteParents( Hop hop ) {
 		for( Hop p : hop.getParent() )
 			if( p instanceof DataOp && ((DataOp)p).getDataOpType()==DataOpTypes.TRANSIENTWRITE )
 				return true;
 		return false;
 	}
 
-	private Hop getFirstTransientWriteParent( Hop hop )
-	{
+	private static Hop getFirstTransientWriteParent( Hop hop ) {
 		for( Hop p : hop.getParent() )
 			if( p instanceof DataOp && ((DataOp)p).getDataOpType()==DataOpTypes.TRANSIENTWRITE )
 				return p;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
index 5b3bb2a..7237d94 100644
--- a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
+++ b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
@@ -87,7 +87,7 @@ public class CumulativeOffsetBinary extends Lop
 		return "CumulativeOffsetBinary";
 	}
 
-	private void checkSupportedOperations(OperationTypes op) 
+	private static void checkSupportedOperations(OperationTypes op) 
 		throws LopsException
 	{
 		//sanity check for supported aggregates

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java b/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java
index 14f9359..697b616 100644
--- a/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java
+++ b/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java
@@ -49,11 +49,12 @@ public class CumulativeSplitAggregate extends Lop
 		lps.setProperties(inputs, et, ExecLocation.Map, breaksAlignment, aligner, definesMRJob);
 	}
 
+	@Override
 	public String toString() {
 		return "CumulativeSplitAggregate";
 	}
 	
-	private String getOpcode() {
+	private static String getOpcode() {
 		return "ucumsplit";
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/ZeroOut.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/ZeroOut.java b/src/main/java/org/apache/sysml/lops/ZeroOut.java
index 45cb7f9..20bc766 100644
--- a/src/main/java/org/apache/sysml/lops/ZeroOut.java
+++ b/src/main/java/org/apache/sysml/lops/ZeroOut.java
@@ -67,9 +67,8 @@ public class ZeroOut  extends Lop
 		init(input, rowL, rowU, colL, colU, rowDim, colDim, dt, vt, et);
 	}
 	
-	private String getOpcode() {
-		
-			return "zeroOut";
+	private static String getOpcode() {
+		return "zeroOut";
 	}
 	
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/compile/Dag.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/compile/Dag.java b/src/main/java/org/apache/sysml/lops/compile/Dag.java
index c09d1c9..91f49f0 100644
--- a/src/main/java/org/apache/sysml/lops/compile/Dag.java
+++ b/src/main/java/org/apache/sysml/lops/compile/Dag.java
@@ -1256,7 +1256,7 @@ public class Dag<N extends Lop>
 	 * @param delteInst list of instructions
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	private void processConsumersForInputs(Lop node, ArrayList<Instruction> inst, ArrayList<Instruction> delteInst) throws DMLRuntimeException {
+	private static void processConsumersForInputs(Lop node, ArrayList<Instruction> inst, ArrayList<Instruction> delteInst) throws DMLRuntimeException {
 		// reduce the consumer count for all input lops
 		// if the count becomes zero, then then variable associated w/ input can be removed
 		for(Lop in : node.getInputs() ) {
@@ -2271,7 +2271,7 @@ public class Dag<N extends Lop>
 		return oinfo;
 	}
 	
-	private String prepareAssignVarInstruction(Lop input, Lop node) {
+	private static String prepareAssignVarInstruction(Lop input, Lop node) {
 		StringBuilder sb = new StringBuilder();
 		
 		sb.append(ExecType.CP);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
index 62ed9fb..d63cf7b 100644
--- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
@@ -244,7 +244,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		}
 	}
 	
-	private ArrayList<ParameterExpression> orderConvolutionParams(ArrayList<ParameterExpression> paramExpression, 
+	private static ArrayList<ParameterExpression> orderConvolutionParams(ArrayList<ParameterExpression> paramExpression, 
 			int skip) throws LanguageException {
 		ArrayList<ParameterExpression> newParams = new ArrayList<>();
 
@@ -272,7 +272,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		return newParams;
 	}
 
-	private ArrayList<ParameterExpression> replaceListParams(ArrayList<ParameterExpression> paramExpression,
+	private static ArrayList<ParameterExpression> replaceListParams(ArrayList<ParameterExpression> paramExpression,
 			String inputVarName, String outputVarName, int startIndex) throws LanguageException {
 		ArrayList<ParameterExpression> newParamExpression = new ArrayList<>();
 		int i = startIndex;
@@ -289,7 +289,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		return newParamExpression;
 	}
 
-	private ArrayList<ParameterExpression> expandListParams(ArrayList<ParameterExpression> paramExpression, 
+	private static ArrayList<ParameterExpression> expandListParams(ArrayList<ParameterExpression> paramExpression, 
 			HashSet<String> paramsToExpand) throws LanguageException {
 		ArrayList<ParameterExpression> newParamExpressions = new ArrayList<>();
 		for(ParameterExpression expr : paramExpression) {
@@ -1299,11 +1299,11 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		}
 	}
 
-	private boolean isConstant(Expression expr) {
+	private static boolean isConstant(Expression expr) {
 		return ( expr != null && expr instanceof ConstIdentifier );
 	}
 	
-	private double getDoubleValue(Expression expr) 
+	private static double getDoubleValue(Expression expr) 
 		throws LanguageException 
 	{
 		if ( expr instanceof DoubleIdentifier )
@@ -1475,11 +1475,11 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		}
 	}
 	
-	private boolean is1DMatrix(Expression e) {
+	private static boolean is1DMatrix(Expression e) {
 		return (e.getOutput().getDim1() == 1 || e.getOutput().getDim2() == 1 );
 	}
 	
-	private boolean dimsKnown(Expression e) {
+	private static boolean dimsKnown(Expression e) {
 		return (e.getOutput().getDim1() != -1 && e.getOutput().getDim2() != -1);
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/DMLTranslator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DMLTranslator.java b/src/main/java/org/apache/sysml/parser/DMLTranslator.java
index d41943d..565c367 100644
--- a/src/main/java/org/apache/sysml/parser/DMLTranslator.java
+++ b/src/main/java/org/apache/sysml/parser/DMLTranslator.java
@@ -1773,7 +1773,7 @@ public class DMLTranslator
 		return null;
 	}
 
-	private DataIdentifier createTarget(Expression source) {
+	private static DataIdentifier createTarget(Expression source) {
 		Identifier id = source.getOutput();
 		if (id instanceof DataIdentifier && !(id instanceof DataExpression))
 			return (DataIdentifier) id;
@@ -1782,9 +1782,8 @@ public class DMLTranslator
 		return target;
 	}
 
-	private DataIdentifier createTarget() {
-		DataIdentifier target = new DataIdentifier(Expression.getTempName());
-		return target;
+	private static DataIdentifier createTarget() {
+		return new DataIdentifier(Expression.getTempName());
 	}
 	
 	 
@@ -2079,7 +2078,7 @@ public class DMLTranslator
 		}
 	}
 
-	private Hop constructDfHop(String name, DataType dt, ValueType vt, ParameterizedBuiltinFunctionOp op, HashMap<String,Hop> paramHops) throws HopsException {
+	private static Hop constructDfHop(String name, DataType dt, ValueType vt, ParameterizedBuiltinFunctionOp op, HashMap<String,Hop> paramHops) throws HopsException {
 		
 		// Add a hop to paramHops to store distribution information. 
 		// Distribution parameter hops would have been already present in paramHops.
@@ -3108,7 +3107,7 @@ public class DMLTranslator
 		return currBuiltinOp;
 	}
 	
-	private void setBlockSizeAndRefreshSizeInfo(Hop in, Hop out) {
+	private static void setBlockSizeAndRefreshSizeInfo(Hop in, Hop out) {
 		out.setOutputBlocksizes(in.getRowsInBlock(), in.getColsInBlock());
 		out.refreshSizeInformation();
 		HopRewriteUtils.copyLineNumbers(in, out);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
index 29358db..07a51db 100644
--- a/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
@@ -369,7 +369,7 @@ public class ForStatementBlock extends StatementBlock
 			ip.setIncrementExpr(replacementExpr);
 	}
 	
-	private Expression replaceConstantVar(Expression expr, HashMap<String, ConstIdentifier> currConstVars)
+	private static Expression replaceConstantVar(Expression expr, HashMap<String, ConstIdentifier> currConstVars)
 	{
 		Expression ret = null;
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
index cd13cb4..0417edb 100644
--- a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
+++ b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
@@ -93,7 +93,7 @@ public abstract class LiveVariableAnalysis
 		 updateLiveVariables(_liveOut,liveOut);
 	}
 	
-	private void updateLiveVariables(VariableSet origVars, VariableSet newVars){
+	private static void updateLiveVariables(VariableSet origVars, VariableSet newVars){
 		for (String var : newVars.getVariables().keySet()){
 			if (origVars.containsVariable(var)){
 				DataIdentifier varId = newVars.getVariable(var);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
index 1e9cc15..371b22a 100644
--- a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
@@ -1746,7 +1746,7 @@ public class ParForStatementBlock extends ForStatementBlock
 	 * @param dat indexed identifier
 	 * @return string function id
 	 */
-	private String getFunctionID( IndexedIdentifier dat )
+	private static String getFunctionID( IndexedIdentifier dat )
 	{
 		/* note: using dat.hashCode can be different for same functions, 
 		 *       hence, we use a custom String ID
@@ -1777,17 +1777,13 @@ public class ParForStatementBlock extends ForStatementBlock
 	 * 
 	 * @param f1 linear function
 	 */
-	private void cleanupFunction( LinearFunction f1 )
-	{
+	private static void cleanupFunction( LinearFunction f1 ) {
 		for( int i=0; i<f1._b.length; i++ )
-		{
-			if( f1._vars[i]==null )
-			{
+			if( f1._vars[i]==null ) {
 				f1.removeVar(i);
 				i--; 
 				continue;
-			}	
-		}
+			}
 	}
 	
 	/**
@@ -1829,7 +1825,7 @@ public class ParForStatementBlock extends ForStatementBlock
 	 * @param f1 linear function 1
 	 * @param f2 linear function 2
 	 */
-	private void forceConsistency(LinearFunction f1, LinearFunction f2) 
+	private static void forceConsistency(LinearFunction f1, LinearFunction f2) 
 	{
 		boolean warn = false;
 
@@ -1979,7 +1975,7 @@ public class ParForStatementBlock extends ForStatementBlock
 		return ret;
 	}
 
-	private Long parseLongConstant(Expression expr)
+	private static Long parseLongConstant(Expression expr)
 	{
 		Long ret = null;
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
index 337aa18..fb13289 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
@@ -195,7 +195,7 @@ public class DMLParserWrapper extends ParserWrapper
 		return dmlPgm;
 	}
 	
-	private DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) {
+	private static DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) {
 
 		DMLProgram dmlPgm = new DMLProgram();
 		String namespace = (sourceNamespace != null && sourceNamespace.length() > 0) ? sourceNamespace : DMLProgram.DEFAULT_NAMESPACE;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
index fbccb44..f42f09f 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
@@ -598,8 +598,8 @@ public class DmlSyntacticValidator extends CommonSyntacticValidator implements D
 	// 			Control Statements - Guards & Loops
 	// -----------------------------------------------------------------
 
-	private StatementBlock getStatementBlock(Statement current) {
-		return getStatementBlock(current);
+	private static StatementBlock getStatementBlock(Statement current) {
+		return DMLParserWrapper.getStatementBlock(current);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
index 6ba6c94..6865683 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
@@ -182,7 +182,7 @@ public class PyDMLParserWrapper extends ParserWrapper
 	}
 
 
-	private DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) {
+	private static DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) {
 
 		DMLProgram dmlPgm = new DMLProgram();
 		String namespace = (sourceNamespace != null && sourceNamespace.length() > 0) ? sourceNamespace : DMLProgram.DEFAULT_NAMESPACE;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
index 7385613..d5c5e67 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
@@ -560,7 +560,7 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements
 	 * @param ctx parameter expression
 	 * @return 0 (along rows), 1 (along column) or -1 (for error)
 	 */
-	private int getAxis(ParameterExpression ctx) {
+	private static int getAxis(ParameterExpression ctx) {
 		if(ctx.getName() != null && ctx.getName() != null) {
 			if(!ctx.getName().equals("axis")) {
 				return -1;
@@ -579,7 +579,7 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements
 	}
 
 	// TODO : Clean up to use Map or some other structure
-	private String getPythonAggFunctionNames(String functionName, int axis) {
+	private static String getPythonAggFunctionNames(String functionName, int axis) {
 		if(axis != 0 && axis != 1) {
 			return functionName;
 		}
@@ -1216,8 +1216,8 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements
 	// 			Control Statements - Guards & Loops
 	// -----------------------------------------------------------------
 
-	private StatementBlock getStatementBlock(Statement current) {
-		return getStatementBlock(current);
+	private static StatementBlock getStatementBlock(Statement current) {
+		return PyDMLParserWrapper.getStatementBlock(current);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
index 773badd..86c4ece 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
@@ -227,7 +227,7 @@ public abstract class SpoofCellwise extends SpoofOperator implements Serializabl
 			case COL_AGG: out.reset(1, n, false); break;
 			default: throw new DMLRuntimeException("Invalid cell type: "+_type);
 		}
-		out.allocateDenseOrSparseBlock();
+		out.allocateBlock();
 		
 		long lnnz = 0;
 		if( k <= 1 ) //SINGLE-THREADED

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
index 729d512..4f55c79 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
@@ -180,7 +180,7 @@ public abstract class SpoofOuterProduct extends SpoofOperator
 		//check for empty inputs; otherwise allocate result
 		if( inputs.get(0).isEmptyBlock(false) )
 			return out;
-		out.allocateDenseOrSparseBlock();
+		out.allocateBlock();
 		
 		//input preparation
 		double[][] ab = getDenseMatrices(prepInputMatrices(inputs, 1, 2, true, false));
@@ -249,7 +249,7 @@ public abstract class SpoofOuterProduct extends SpoofOperator
 		{
 			//assign it to the time and sparse representation of the major input matrix
 			out.reset(inputs.get(0).getNumRows(), inputs.get(0).getNumColumns(), inputs.get(0).isInSparseFormat());
-			out.allocateDenseOrSparseBlock();
+			out.allocateBlock();
 		}
 		else
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
index 88aafd2..d8a747b 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
@@ -276,7 +276,7 @@ public abstract class SpoofRowwise extends SpoofOperator
 		out.allocateDenseBlock();
 	}
 	
-	private void fixTransposeDimensions(MatrixBlock out) {
+	private static void fixTransposeDimensions(MatrixBlock out) {
 		int rlen = out.getNumRows();
 		out.setNumRows(out.getNumColumns());
 		out.setNumColumns(rlen);