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:20 UTC

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

Repository: systemml
Updated Branches:
  refs/heads/master 40dd894ed -> 13a017583


http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
index aee9956..ff05fa0 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
@@ -324,15 +324,17 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 			: (denseBlock!=null);
 	}
 
-	public void allocateDenseBlock() {
+	public MatrixBlock allocateDenseBlock() {
 		allocateDenseBlock( true );
+		return this;
 	}
 
-	public void allocateDenseOrSparseBlock() {
+	public MatrixBlock allocateBlock() {
 		if( sparse )
 			allocateSparseRowsBlock();
 		else
 			allocateDenseBlock();
+		return this;
 	}
 	
 	public void allocateDenseBlock(boolean clearNNZ) 
@@ -2055,7 +2057,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		}
 	}
 
-	private void writeEmptyBlock(DataOutput out) 
+	private static void writeEmptyBlock(DataOutput out) 
 		throws IOException
 	{
 		//empty blocks do not need to materialize row information
@@ -2563,17 +2565,15 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		return evalSparseFormatInMemory(finalRlen, finalClen, ennz); 
 	}
 	
-	private boolean estimateSparsityOnLeftIndexing(long rlenm1, long clenm1, long nnzm1, long rlenm2, long clenm2, long nnzm2)
-	{
+	private static boolean estimateSparsityOnLeftIndexing(
+		long rlenm1, long clenm1, long nnzm1, long rlenm2, long clenm2, long nnzm2) {
 		//min bound: nnzm1 - rlenm2*clenm2 + nnzm2
 		//max bound: min(rlenm1*rlenm2, nnzm1+nnzm2)
-		
 		long ennz = Math.min(rlenm1*clenm1, nnzm1+nnzm2);
 		return evalSparseFormatInMemory(rlenm1, clenm1, ennz);
 	}
 	
-	private boolean estimateSparsityOnGroupedAgg( long rlen, long groups )
-	{
+	private static boolean estimateSparsityOnGroupedAgg( long rlen, long groups ) {
 		long ennz = Math.min(groups, rlen);
 		return evalSparseFormatInMemory(groups, 1, ennz);
 	}
@@ -4342,7 +4342,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 	}
 	
 	
-	private void incrementalAggregateUnaryHelp(AggregateOperator aggOp, MatrixBlock result, int row, int column, 
+	private static void incrementalAggregateUnaryHelp(AggregateOperator aggOp, MatrixBlock result, int row, int column, 
 			double newvalue, KahanObject buffer) throws DMLRuntimeException
 	{
 		if(aggOp.correctionExists)

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
index ef90349..2cd4bc6 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
@@ -305,7 +305,7 @@ public class MRBaseForCommonInstructions extends MapReduceBase
 	 * @param row if true return row dimension, else return column dimension
 	 * @return maximum row or column dimension, or 0 if MatrixValue not MatrixCell or MatrixBlock
 	 */
-	private long getMaxDimension( MatrixIndexes key, MatrixValue value, boolean row ) {
+	private static long getMaxDimension( MatrixIndexes key, MatrixValue value, boolean row ) {
 		if( value instanceof MatrixCell )
 			return row ? key.getRowIndex() : key.getColumnIndex();
 		else if( value instanceof MatrixBlock )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/sort/PickFromCompactInputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/sort/PickFromCompactInputFormat.java b/src/main/java/org/apache/sysml/runtime/matrix/sort/PickFromCompactInputFormat.java
index 04899f3..0b7d5ac 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/sort/PickFromCompactInputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/sort/PickFromCompactInputFormat.java
@@ -260,9 +260,8 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 	    	reader=new ReadWithZeros(currentStream, contain0s, numZeros);
 		}
 		
-		private int getIndexInTheArray(String name) {
-			int i=name.indexOf("part-");
-			return Integer.parseInt(name.substring(i+5));
+		private static int getIndexInTheArray(String name) {
+			return Integer.parseInt(name.substring(name.indexOf("part-")+5));
 		}
 		
 		private void parseSelectedRangeString(String str) {
@@ -385,10 +384,9 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 		private boolean noRecordsNeeded=false;
 		ReadWithZeros reader=null;
 		
-		private int getIndexInTheArray(String name)
-		{
-			int i=name.indexOf("part-");
-			return Integer.parseInt(name.substring(i+5));
+		private static int getIndexInTheArray(String name) {
+			return Integer.parseInt(
+				name.substring(name.indexOf("part-")+5));
 		}
 		
 		public PickRecordReader(JobConf job, FileSplit split)

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/udf/lib/SGDNesterovUpdate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/udf/lib/SGDNesterovUpdate.java b/src/main/java/org/apache/sysml/udf/lib/SGDNesterovUpdate.java
index a88f230..1a16b57 100644
--- a/src/main/java/org/apache/sysml/udf/lib/SGDNesterovUpdate.java
+++ b/src/main/java/org/apache/sysml/udf/lib/SGDNesterovUpdate.java
@@ -149,7 +149,7 @@ public class SGDNesterovUpdate extends PackageFunction {
 		}
 	}
 	
-	private MatrixBlock allocateDenseMatrixBlock(Matrix mat) {
+	private static MatrixBlock allocateDenseMatrixBlock(Matrix mat) {
 		int rows = (int) mat.getNumRows();
 		int cols = (int) mat.getNumCols();
 		MatrixBlock mb = new MatrixBlock(rows, cols, false);
@@ -157,16 +157,13 @@ public class SGDNesterovUpdate extends PackageFunction {
 		return mb;
 	}
 	
-	
-	// out += constant*in
-	private void multiplyByConstant(double [] in, double constant, double [] out) {
+	private static void multiplyByConstant(double [] in, double constant, double [] out) {
 		for(int i = 0; i < out.length; i++) {
 			out[i] += in[i]*constant;
 		}
 	}
 	
-	// out += constant*in
-	private void multiplyByConstant(MatrixBlock in, double constant, double [] out) {
+	private static void multiplyByConstant(MatrixBlock in, double constant, double [] out) {
 		if(in.isInSparseFormat()) {
 			Iterator<IJV> iter = in.getSparseBlockIterator();
 			while(iter.hasNext()) {
@@ -186,7 +183,7 @@ public class SGDNesterovUpdate extends PackageFunction {
 	}
 	
 	// Assumption dest is zero-ed out.
-	private void copy(MatrixBlock src, double [] dest) {
+	private static void copy(MatrixBlock src, double [] dest) {
 		if(src.isInSparseFormat()) {
 			Iterator<IJV> iter = src.getSparseBlockIterator();
 			while(iter.hasNext()) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/yarn/DMLYarnClient.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/yarn/DMLYarnClient.java b/src/main/java/org/apache/sysml/yarn/DMLYarnClient.java
index 2547285..837ad32 100644
--- a/src/main/java/org/apache/sysml/yarn/DMLYarnClient.java
+++ b/src/main/java/org/apache/sysml/yarn/DMLYarnClient.java
@@ -313,7 +313,7 @@ public class DMLYarnClient
 	 * 
 	 * @return null if the constant does not exists
 	 */
-	private String getLocalJarFileNameFromEnvConst()
+	private static String getLocalJarFileNameFromEnvConst()
 	{
 		String fname = null;
 		
@@ -353,7 +353,7 @@ public class DMLYarnClient
 	 * @throws IOException if IOException occurs
 	 * @throws InterruptedException if InterruptedException occurs
 	 */
-	private String createJar( String dir ) 
+	private static String createJar( String dir ) 
 		throws IOException, InterruptedException
 	{
 		//construct jar command
@@ -464,7 +464,7 @@ public class DMLYarnClient
 		return rMap;
 	}
 
-	private Map<String, String> constructEnvionmentMap(YarnConfiguration yconf) 
+	private static Map<String, String> constructEnvionmentMap(YarnConfiguration yconf) 
 		throws IOException
 	{
 		Map<String, String> eMap = new HashMap<>();
@@ -510,7 +510,7 @@ public class DMLYarnClient
 		return eMap;
 	}	
 
-	private String readMessageToHDFSWorkingDir(DMLConfig conf, YarnConfiguration yconf, ApplicationId appId)
+	private static String readMessageToHDFSWorkingDir(DMLConfig conf, YarnConfiguration yconf, ApplicationId appId)
 	{
 		String ret = null;
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java b/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
index 2258d13..6a78011 100644
--- a/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
@@ -462,7 +462,7 @@ public abstract class AutomatedTestBase
 		return matrix;
 	}
 
-	private void cleanupExistingData(String fname, boolean cleanupRData) throws IOException {
+	private static void cleanupExistingData(String fname, boolean cleanupRData) throws IOException {
 		MapReduceTool.deleteFileIfExistOnHDFS(fname);
 		MapReduceTool.deleteFileIfExistOnHDFS(fname + ".mtd");
 		if ( cleanupRData )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/test/java/org/apache/sysml/test/integration/functions/io/FullDynWriteTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/io/FullDynWriteTest.java b/src/test/java/org/apache/sysml/test/integration/functions/io/FullDynWriteTest.java
index d6aa0c5..d52ba02 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/io/FullDynWriteTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/io/FullDynWriteTest.java
@@ -192,7 +192,7 @@ public class FullDynWriteTest extends AutomatedTestBase
 	 * @return
 	 * @throws IOException 
 	 */
-	private double[][] readMatrix( String fname, InputInfo ii, long rows, long cols, int brows, int bcols ) 
+	private static double[][] readMatrix( String fname, InputInfo ii, long rows, long cols, int brows, int bcols ) 
 		throws IOException
 	{
 		MatrixBlock mb = DataConverter.readMatrixFromHDFS(fname, ii, rows, cols, brows, bcols);
@@ -212,7 +212,7 @@ public class FullDynWriteTest extends AutomatedTestBase
 	 * @throws DMLRuntimeException
 	 * @throws IOException
 	 */
-	private void writeMatrix( double[][] A, String fname, OutputInfo oi, long rows, long cols, int brows, int bcols, long nnz ) 
+	private static void writeMatrix( double[][] A, String fname, OutputInfo oi, long rows, long cols, int brows, int bcols, long nnz ) 
 		throws DMLRuntimeException, IOException
 	{
 		MapReduceTool.deleteFileIfExistOnHDFS(fname);
@@ -225,12 +225,7 @@ public class FullDynWriteTest extends AutomatedTestBase
 			MapReduceTool.writeMetaDataFile(fname+".mtd", ValueType.DOUBLE, mc, oi);
 	}
 	
-	/**
-	 * 
-	 * @param oinfo
-	 * @return
-	 */
-	private String getFormatString(OutputInfo oinfo)
+	private static String getFormatString(OutputInfo oinfo)
 	{
 		if( oinfo==OutputInfo.BinaryBlockOutputInfo )
 			return "binary";
@@ -244,20 +239,11 @@ public class FullDynWriteTest extends AutomatedTestBase
 		return null;
 	}
 	
-	/**
-	 * 
-	 * @param A
-	 * @return
-	 */
-	private long computeSum( double[][] A )
-	{
+	private static long computeSum( double[][] A ) {
 		double ret = 0;
-		
 		for( int i=0; i<A.length; i++ )
 			for( int j=0; j<A[i].length; j++ )
 				ret += A[i][j];
-		
 		return UtilFunctions.toLong(ret);
 	}
-	
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameCastingTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameCastingTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameCastingTest.java
index f97ea1a..1209f70 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameCastingTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameCastingTest.java
@@ -149,7 +149,7 @@ public class FrameCastingTest extends AutomatedTestBase
 		return ret;
 	}
 
-	private double[][] add(double[][] data, double val) {
+	private static double[][] add(double[][] data, double val) {
 		for( int i=0; i<data.length; i++ )
 			for( int j=0; j<data[i].length; j++ )
 				data[i][j] += val;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameReadMetaTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameReadMetaTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameReadMetaTest.java
index 86e5715..0f99031 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameReadMetaTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameReadMetaTest.java
@@ -157,7 +157,7 @@ public class FrameReadMetaTest extends AutomatedTestBase
 	}
 
 	@SuppressWarnings("unchecked")
-	private HashMap<String,Long>[] getRecodeMaps(String spec, FrameBlock M) 
+	private static HashMap<String,Long>[] getRecodeMaps(String spec, FrameBlock M) 
 		throws DMLRuntimeException 
 	{
 		List<Integer> collist = Arrays.asList(ArrayUtils.toObject(
@@ -179,7 +179,7 @@ public class FrameReadMetaTest extends AutomatedTestBase
 		return ret;
 	}
 
-	private double[][] generateData(int rows, int cols, HashMap<String,Long>[] RC) {
+	private static double[][] generateData(int rows, int cols, HashMap<String,Long>[] RC) {
 		double[][] ret = new double[rows][cols];
 		for( int i=0; i<rows; i++ ) 
 			for( int j=0; j<cols; j++ ) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRepeatedOptimizationTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRepeatedOptimizationTest.java b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRepeatedOptimizationTest.java
index dd3db7d..e0dbfd8 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRepeatedOptimizationTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRepeatedOptimizationTest.java
@@ -166,7 +166,7 @@ public class ParForRepeatedOptimizationTest extends AutomatedTestBase
 			rCmd = "Rscript" + " " + fullRScriptName + " " + 
 				inputDir() + " " + expectedDir() + " " + Integer.toString((update||changedDim)?1:0);
 	
-	        double[][] V = getRandomMatrix(rows, cols, 0, 1, sparsity, 7);
+			double[][] V = getRandomMatrix(rows, cols, 0, 1, sparsity, 7);
 			writeInputMatrix("V", V, true);
 	
 			runTest(true, false, null, -1);
@@ -188,15 +188,7 @@ public class ParForRepeatedOptimizationTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param mb
-	 * @return
-	 */
-	private double computeMemoryUtilFactor( int mb )
-	{
-		double factor = Math.min(1, ((double)1024*1024*mb)/InfrastructureAnalyzer.getLocalMaxMemory());
-		//System.out.println("Setting max mem util factor: "+factor);
-		return factor;
+	private static double computeMemoryUtilFactor( int mb ) {
+		return Math.min(1, ((double)1024*1024*mb)/InfrastructureAnalyzer.getLocalMaxMemory());
 	}
 }
\ No newline at end of file


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
index 4b0502d..58d008a 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
@@ -645,8 +645,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		
 		Timing time = LOG.isDebugEnabled() ? new Timing(true) : null;
 		
-		MatrixBlock ret = new MatrixBlock(rlen, clen, sparse, nonZeros);
-		ret.allocateDenseOrSparseBlock();
+		MatrixBlock ret = new MatrixBlock(rlen, clen, sparse, nonZeros).allocateBlock();
 		
 		//multi-threaded decompression
 		try {
@@ -2322,7 +2321,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		}
 	}
 	
-	private HashSet<Integer> seq(int from, int to, int incr) {
+	private static HashSet<Integer> seq(int from, int to, int incr) {
 		HashSet<Integer> ret = new HashSet<>();
 		for (int i = from; i <= to; i+=incr)
 			ret.add(i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
index 2bd6ce4..908da20 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
@@ -71,7 +71,7 @@ public class ColumnGroupPartitionerBinPacking extends ColumnGroupPartitioner
 	 * @param itemWeights the weights of the items
 	 * @return
 	 */
-	private List<List<Integer>> packFirstFit(int[] items, double[] itemWeights) 
+	private static List<List<Integer>> packFirstFit(int[] items, double[] itemWeights) 
 	{
 		List<List<Integer>> bins = new ArrayList<>();
 		List<Double> binWeights = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
index 7d6c1e7..e345472 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
@@ -1234,7 +1234,7 @@ public class ParForProgramBlock extends ForProgramBlock
 	 * @param in array of input matrix objects
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	private void cleanWorkerResultVariables(ExecutionContext ec, MatrixObject out, MatrixObject[] in) 
+	private static void cleanWorkerResultVariables(ExecutionContext ec, MatrixObject out, MatrixObject[] in) 
 		throws DMLRuntimeException
 	{
 		for( MatrixObject tmp : in ) {
@@ -1255,7 +1255,7 @@ public class ParForProgramBlock extends ForProgramBlock
 	 * @param sb statement block
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	private void createEmptyUnscopedVariables( LocalVariableMap out, StatementBlock sb ) 
+	private static void createEmptyUnscopedVariables( LocalVariableMap out, StatementBlock sb ) 
 		throws DMLRuntimeException
 	{
 		VariableSet updated = sb.variablesUpdated();
@@ -1580,7 +1580,7 @@ public class ParForProgramBlock extends ForProgramBlock
 			_childBlocks, tid, new HashSet<String>(), null);
 	}
 
-	private String writeTasksToFile(String fname, List<Task> tasks, int maxDigits)
+	private static String writeTasksToFile(String fname, List<Task> tasks, int maxDigits)
 		throws DMLRuntimeException, IOException
 	{
 		BufferedWriter br = null;
@@ -1607,7 +1607,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		return fname;
 	}
 
-	private String writeTasksToFile(String fname, LocalTaskQueue<Task> queue, int maxDigits)
+	private static String writeTasksToFile(String fname, LocalTaskQueue<Task> queue, int maxDigits)
 		throws DMLRuntimeException, IOException
 	{
 		BufferedWriter br = null;
@@ -1635,7 +1635,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		return fname;
 	}
 	
-	private String createTaskFileLine( Task t, int maxDigits, boolean flagFirst ) {
+	private static String createTaskFileLine( Task t, int maxDigits, boolean flagFirst ) {
 		//always pad to max digits in order to preserve task order	
 		return t.toCompactString(maxDigits) + (flagFirst?" ":"") + "\n";
 	}
@@ -1776,7 +1776,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		}
 	}
 
-	private long computeNumIterations( IntObject from, IntObject to, IntObject incr ) {
+	private static long computeNumIterations( IntObject from, IntObject to, IntObject incr ) {
 		return (long)Math.ceil(((double)(to.getLongValue() - from.getLongValue() + 1)) / incr.getLongValue()); 
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
index c721ab5..d1fc759 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
@@ -348,7 +348,7 @@ public class ProgramBlock implements ParseInfo
 			}
 	}
 	
-	private void checkSparsity( Instruction lastInst, LocalVariableMap vars )
+	private static void checkSparsity( Instruction lastInst, LocalVariableMap vars )
 		throws DMLRuntimeException
 	{
 		for( String varname : vars.keySet() )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/context/ExecutionContext.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/context/ExecutionContext.java b/src/main/java/org/apache/sysml/runtime/controlprogram/context/ExecutionContext.java
index b8adb5b..f4c024d 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/context/ExecutionContext.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/context/ExecutionContext.java
@@ -299,7 +299,7 @@ public class ExecutionContext {
 	 * @return valid d1 or d2
 	 * @throws DMLRuntimeException if error occurs
 	 */
-	private long validateDimensions(long d1, long d2) throws DMLRuntimeException {
+	private static long validateDimensions(long d1, long d2) throws DMLRuntimeException {
 		if(d1 >= 0 && d2 >= 0 && d1 != d2) {
 			throw new DMLRuntimeException("Incorrect dimensions:" + d1 + " != " + d2);
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java b/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
index 110c203..472b735 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
@@ -1534,7 +1534,7 @@ public class SparkExecutionContext extends ExecutionContext
 		 *
 		 * @return spark version string
 		 */
-		private String getSparkVersionString() {
+		private static String getSparkVersionString() {
 			//check for existing spark context
 			if( isSparkContextCreated() )
 				return getSparkContextStatic().version();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
index fe9f75a..c54e5e9 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
@@ -702,15 +702,13 @@ public class DataPartitionerLocal extends DataPartitioner
 	//         read/write          //
 	/////////////////////////////////
 
-	private long getKeyFromFilePath( String dir )
-	{
+	private static long getKeyFromFilePath( String dir ) {
 		String[] dirparts = dir.split("/");
 		long key = Long.parseLong( dirparts[dirparts.length-1] );
 		return key;
 	}
 
-	private long getKey2FromFileName( String fname )
-	{
+	private static long getKey2FromFileName( String fname ) {
 		return Long.parseLong( fname.split("_")[1] );
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ProgramConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ProgramConverter.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ProgramConverter.java
index 6d0cd3a..4001d74 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ProgramConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ProgramConverter.java
@@ -1887,7 +1887,7 @@ public class ProgramConverter
 			return token;
 		}
 				
-		private int determineNextSameLevelIndexOf( String data, String pattern  )
+		private static int determineNextSameLevelIndexOf( String data, String pattern  )
 		{
 			String tmpdata = data;
 			int index      = 0;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedFileSplit.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedFileSplit.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedFileSplit.java
index ade08e6..02eb309 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedFileSplit.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedFileSplit.java
@@ -132,7 +132,7 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 		return getTopHosts(hosts);
 	}
 
-	private void countHosts( HashMap<String,Integer> hosts, String[] names )
+	private static void countHosts( HashMap<String,Integer> hosts, String[] names )
 	{
 		for( String name : names )
 		{
@@ -144,7 +144,7 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 		}
 	}
 
-	private String[] getTopHosts( HashMap<String,Integer> hosts )
+	private static String[] getTopHosts( HashMap<String,Integer> hosts )
 	{
 		int max = Integer.MIN_VALUE;
 		HashSet<String> maxName = new HashSet<String>();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
index 50eb960..cd0b3b7 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
@@ -205,7 +205,7 @@ public class ResultMergeLocalFile extends ResultMerge
 		}
 	}
 
-	private void mergeTextCellWithoutComp( String fnameNew, MatrixObject outMo, ArrayList<MatrixObject> inMO ) 
+	private static void mergeTextCellWithoutComp( String fnameNew, MatrixObject outMo, ArrayList<MatrixObject> inMO ) 
 		throws DMLRuntimeException
 	{
 		try
@@ -307,7 +307,7 @@ public class ResultMergeLocalFile extends ResultMerge
 	}
 
 	@SuppressWarnings("deprecation")
-	private void mergeBinaryCellWithoutComp( String fnameNew, MatrixObject outMo, ArrayList<MatrixObject> inMO ) 
+	private static void mergeBinaryCellWithoutComp( String fnameNew, MatrixObject outMo, ArrayList<MatrixObject> inMO ) 
 		throws DMLRuntimeException
 	{
 		try
@@ -498,7 +498,7 @@ public class ResultMergeLocalFile extends ResultMerge
 		}
 	}
 
-	private void createTextCellStagingFile( String fnameStaging, MatrixObject mo, long ID ) 
+	private static void createTextCellStagingFile( String fnameStaging, MatrixObject mo, long ID ) 
 		throws IOException, DMLRuntimeException
 	{		
 		JobConf job = new JobConf(ConfigurationManager.getCachedJobConf());
@@ -560,7 +560,7 @@ public class ResultMergeLocalFile extends ResultMerge
 	}
 
 	@SuppressWarnings("deprecation")
-	private void createBinaryCellStagingFile( String fnameStaging, MatrixObject mo, long ID ) 
+	private static void createBinaryCellStagingFile( String fnameStaging, MatrixObject mo, long ID ) 
 		throws IOException, DMLRuntimeException
 	{		
 		JobConf job = new JobConf(ConfigurationManager.getCachedJobConf());
@@ -605,7 +605,7 @@ public class ResultMergeLocalFile extends ResultMerge
 		}
 	}
 
-	private void appendCellBufferToStagingArea( String fnameStaging, long ID, LinkedList<Cell> buffer, int brlen, int bclen ) 
+	private static void appendCellBufferToStagingArea( String fnameStaging, long ID, LinkedList<Cell> buffer, int brlen, int bclen ) 
 		throws DMLRuntimeException, IOException
 	{
 		HashMap<Long,HashMap<Long,LinkedList<Cell>>> sortedBuffer = new HashMap<>();
@@ -1004,7 +1004,7 @@ public class ResultMergeLocalFile extends ResultMerge
 		}
 	}
 
-	private void copyAllFiles( String fnameNew, ArrayList<MatrixObject> inMO ) 
+	private static void copyAllFiles( String fnameNew, ArrayList<MatrixObject> inMO ) 
 		throws CacheException, IOException
 	{
 		JobConf job = new JobConf(ConfigurationManager.getCachedJobConf());

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
index fdd3d97..1e7efb6 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
@@ -67,10 +67,9 @@ public class ResultMergeLocalMemory extends ResultMerge
 			//create output matrices in correct format according to 
 			//the estimated number of non-zeros
 			long estnnz = getOutputNnzEstimate();
-			MatrixBlock outMBNew = new MatrixBlock(
-				outMB.getNumRows(), outMB.getNumColumns(), estnnz);
+			MatrixBlock outMBNew = new MatrixBlock(outMB.getNumRows(), 
+				outMB.getNumColumns(), estnnz).allocateBlock();
 			boolean appendOnly = outMBNew.isInSparseFormat();
-			outMBNew.allocateDenseOrSparseBlock();
 			
 			//create compare matrix if required (existing data in result)
 			_compare = createCompareMatrix(outMB);
@@ -218,16 +217,11 @@ public class ResultMergeLocalMemory extends ResultMerge
 		return moNew;		
 	}
 
-	private double[][] createCompareMatrix( MatrixBlock output )
-	{
-		double[][] ret = null;
-		
+	private static double[][] createCompareMatrix( MatrixBlock output ) {
 		//create compare matrix only if required
-		if( output.getNonZeros() > 0 ) {
-			ret = DataConverter.convertToDoubleMatrix( output );
-		}
-		
-		return ret;
+		if( output.getNonZeros() > 0 )
+			return DataConverter.convertToDoubleMatrix( output );
+		return null;
 	}
 
 	private MatrixObject createNewMatrixObject( MatrixBlock data ) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
index 44b7dc2..6ff8d65 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
@@ -205,7 +205,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
 		return ret;
 	}
 
-	private int determineNumReducers(long rlen, long clen, int brlen, int bclen, long numRed) {
+	private static int determineNumReducers(long rlen, long clen, int brlen, int bclen, long numRed) {
 		//set the number of mappers and reducers 
 		long reducerGroups = Math.max(rlen/brlen,1) * Math.max(clen/bclen, 1);
 		int ret = (int)Math.min( numRed, reducerGroups );
@@ -214,7 +214,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
 	}
 	
 	@SuppressWarnings("unchecked")
-	private void setRDDHandleForMerge(MatrixObject mo, SparkExecutionContext sec) {
+	private static void setRDDHandleForMerge(MatrixObject mo, SparkExecutionContext sec) {
 		InputInfo iinfo = InputInfo.BinaryBlockInputInfo;
 		JavaSparkContext sc = sec.getSparkContext();
 		JavaPairRDD<MatrixIndexes,MatrixBlock> rdd = (JavaPairRDD<MatrixIndexes,MatrixBlock>) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
index d571a71..b6be028 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
@@ -414,8 +414,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
 			super.rewriteSetFusedDataPartitioningExecution(pn, M, flagLIX, partitionedMatrices, vars);
 	}
 
-	private PExecMode getPExecMode( OptNode pn )
-	{
+	private static PExecMode getPExecMode( OptNode pn ) {
 		ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
 			    .getAbstractPlanMapping().getMappedProg(pn.getID())[1];
 		return pfpb.getExecMode();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
index e035f1b..16a2e7e 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
@@ -729,24 +729,24 @@ public class OptimizerRuleBased extends Optimizer
 		return ret;
 	}
 
-	private double estimateSizeSparseRowBlock( long rows ) {
+	private static double estimateSizeSparseRowBlock( long rows ) {
 		//see MatrixBlock.estimateSizeSparseInMemory
 		return 44 + rows * 8;
 	}
 
-	private double estimateSizeSparseRow( long cols, long nnz ) {
+	private static double estimateSizeSparseRow( long cols, long nnz ) {
 		//see MatrixBlock.estimateSizeSparseInMemory
 		long cnnz = Math.max(SparseRowVector.initialCapacity, Math.max(cols, nnz));
 		return ( 116 + 12 * cnnz ); //sparse row
 	}
 
-	private double estimateSizeSparseRowMin( long cols ) {
+	private static  double estimateSizeSparseRowMin( long cols ) {
 		//see MatrixBlock.estimateSizeSparseInMemory
 		long cnnz = Math.min(SparseRowVector.initialCapacity, cols);
 		return ( 116 + 12 * cnnz ); //sparse row
 	}
 
-	private int estimateNumTasksSparseCol( double budget, long rows ) {
+	private static int estimateNumTasksSparseCol( double budget, long rows ) {
 		//see MatrixBlock.estimateSizeSparseInMemory
 		double lbudget = budget - rows * 116;
 		return (int) Math.floor( lbudget / 12 );
@@ -1740,7 +1740,7 @@ public class OptimizerRuleBased extends Optimizer
 		return ret;
 	}
 
-	private double computeTotalSizeResultVariables(ArrayList<String> retVars, LocalVariableMap vars, int k) {
+	private static double computeTotalSizeResultVariables(ArrayList<String> retVars, LocalVariableMap vars, int k) {
 		double sum = 1;
 		for( String var : retVars ) {
 			Data dat = vars.get(var);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/functionobjects/IntegerDivide.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/IntegerDivide.java b/src/main/java/org/apache/sysml/runtime/functionobjects/IntegerDivide.java
index e283667..5599dd5 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/IntegerDivide.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/IntegerDivide.java
@@ -59,7 +59,7 @@ public class IntegerDivide extends ValueFunction
 	 * @param in2 double input 2
 	 * @return result
 	 */
-	private double executeIntDiv( double in1, double in2 )
+	private static double executeIntDiv( double in1, double in2 )
 	{
 		//compute normal double devision
 		double ret = in1 / in2;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
index f36b484..9a0c6c2 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
@@ -209,7 +209,7 @@ public class ParameterizedBuiltin extends ValueFunction
 	 * @throws MathArithmeticException if MathArithmeticException occurs
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	private double computeFromDistribution (ProbabilityDistributionCode dcode, HashMap<String,String> params, boolean inverse ) throws MathArithmeticException, DMLRuntimeException {
+	private static double computeFromDistribution (ProbabilityDistributionCode dcode, HashMap<String,String> params, boolean inverse ) throws MathArithmeticException, DMLRuntimeException {
 		
 		// given value is "quantile" when inverse=false, and it is "probability" when inverse=true
 		double val = Double.parseDouble(params.get("target"));

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
index 77ef635..d27c9ff 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
@@ -690,7 +690,7 @@ public class MRJobInstruction extends Instruction
 		LOG.debug("\nMRInstructions: \n" + this.toString());
 	}
 
-	private String getOps(String inst) {
+	private static String getOps(String inst) {
 		StringBuilder sb = new StringBuilder();
 		for ( String i : inst.split(Lop.INSTRUCTION_DELIMITOR)) {
 			sb.append(",");
@@ -1216,7 +1216,7 @@ public class MRJobInstruction extends Instruction
 	 * @param transMap transition map
 	 * @return result string
 	 */
-	private String replaceInstructionStringWithTransMap( String inst, HashMap<Byte,Byte> transMap )
+	private static String replaceInstructionStringWithTransMap( String inst, HashMap<Byte,Byte> transMap )
 	{
 		//prevent unnecessary parsing and reconstruction
 		if( inst == null || inst.isEmpty() || transMap.isEmpty() )
@@ -1253,7 +1253,7 @@ public class MRJobInstruction extends Instruction
 		return instOut.toString();
 	}
 
-	private String concatenateInstructions(String inst1, String inst2)
+	private static String concatenateInstructions(String inst1, String inst2)
 	{
 		boolean emptyInst1 = (inst1 == null || inst1.length()==0);
 		boolean emptyInst2 = (inst2 == null || inst2.length()==0);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
index 5545ea2..f6ff998 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
@@ -218,11 +218,10 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 		}
 	}
 
-	private int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) 
+	private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) 
 			throws DMLRuntimeException {
 		return (int) ec.getScalarInput(aL.get(index).getName(),
-				aL.get(index).getValueType(), aL.get(index).isLiteral())
-				.getLongValue();
+			aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue();
 	}
 	
 	public void processReluBackwardInstruction(ExecutionContext ec) throws DMLRuntimeException {
@@ -288,8 +287,8 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 		}
 		else {
 			// As we always fill the output first with bias
-			outputBlock = new MatrixBlock(input.getNumRows(), input.getNumColumns(), input.isInSparseFormat());
-			outputBlock.allocateDenseOrSparseBlock();
+			outputBlock = new MatrixBlock(input.getNumRows(), input.getNumColumns(), 
+				input.isInSparseFormat()).allocateBlock();
 			LibMatrixDNN.biasMultiply(input, bias, outputBlock, _numThreads);
 		}
 		
@@ -301,7 +300,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 	
 	// Assumption: enableNative && NativeHelper.isNativeLibraryLoaded() is true
 	// This increases the number of native calls. For example:the cases where filter is sparse but input is dense
-	private boolean isFilterSparse(MatrixBlock filter) throws DMLRuntimeException {
+	private static boolean isFilterSparse(MatrixBlock filter) throws DMLRuntimeException {
 		long numElems = filter.getNumRows()*filter.getNumColumns();
 		// if filter is less than 10 MB in dense format (which handles almost all the cases).
 		// In fact, using threshold of 1 MB is still sufficient for common CNNs.
@@ -354,7 +353,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 				outputBlock = new MatrixBlock(N, C*P*Q, true);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(N, C*P*Q);
+				outputBlock = new MatrixBlock(N, C*P*Q, false).allocateBlock();
 				if(instOpcode.equalsIgnoreCase("maxpooling"))
 					Arrays.fill(outputBlock.getDenseBlock(), -Double.MAX_VALUE);
 				LibMatrixDNN.maxpooling(matBlock, outputBlock, params);
@@ -366,7 +365,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 				outputBlock = new MatrixBlock(N, C*H*W, true);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(N, C*H*W);
+				outputBlock = new MatrixBlock(N, C*H*W, false).allocateBlock();
 				if(instOpcode.equalsIgnoreCase("maxpooling_backward"))
 					LibMatrixDNN.maxpoolingBackward(matBlock, dout, outputBlock, params, false);
 				else
@@ -381,7 +380,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 				outputBlock = new MatrixBlock(N, K*P*Q, true);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(N, K*P*Q);
+				outputBlock = new MatrixBlock(N, K*P*Q, false).allocateBlock();
 				if(params.enableNative && !isFilterSparse(filter) && !matBlock.isInSparseFormat())
 					LibMatrixNative.conv2d(matBlock, filter, outputBlock, params);
 				else
@@ -405,12 +404,12 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 			else if(isOutputConvEmpty && !bias.isEmpty()) {
 				// Add bias to empty output block
 				// bias_add(empty mb, bias)
-				outputBlock = getDenseOutputBlock(N, K*P*Q);
+				outputBlock = new MatrixBlock(N, K*P*Q, false).allocateBlock();
 				for(int n = 0;  n < params.N; n++) 
 					ConvolutionUtils.fillBias(bias, outputBlock.getDenseBlock(), n, n+1, params.N, params.K, params.P*params.Q);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(N, K*P*Q);
+				outputBlock = new MatrixBlock(N, K*P*Q, false).allocateBlock();
 				if(!bias.isEmpty()) {
 					// Handle situation where both input and filter are non empty, but bias is empty
 					params.bias = bias;
@@ -429,7 +428,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 				outputBlock = new MatrixBlock(K, C*R*S, true);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(K, C*R*S);
+				outputBlock = new MatrixBlock(K, C*R*S, false).allocateBlock();
 				if(params.enableNative && !matBlock.isInSparseFormat() && !dout.isInSparseFormat())
 					LibMatrixNative.conv2dBackwardFilter(matBlock, dout, outputBlock, params);
 				else
@@ -443,7 +442,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 				outputBlock = new MatrixBlock(N, C * H * W, true);
 			}
 			else {
-				outputBlock = getDenseOutputBlock(N, C * H * W);
+				outputBlock = new MatrixBlock(N, C * H * W, false).allocateBlock();
 				if(params.enableNative && !isFilterSparse(matBlock) && !dout.isInSparseFormat())
 					LibMatrixNative.conv2dBackwardData(matBlock, dout, outputBlock, params);
 				else
@@ -480,10 +479,4 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction {
 			}
 		}
 	}
-	
-	private MatrixBlock getDenseOutputBlock(int numRows, int numCols) throws DMLRuntimeException {
-		MatrixBlock outputBlock = new MatrixBlock(numRows, numCols, false);
-		outputBlock.allocateDenseBlock();
-		return outputBlock;
-	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
index 799fdb3..f52b8f4 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.controlprogram.ParForProgramBlock.PDataPartition
 import org.apache.sysml.runtime.controlprogram.caching.MatrixObject;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.instructions.InstructionUtils;
-import org.apache.sysml.runtime.io.MatrixWriterFactory;
 import org.apache.sysml.runtime.io.WriterBinaryBlock;
 import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
 import org.apache.sysml.runtime.matrix.MatrixFormatMetaData;
@@ -80,10 +79,9 @@ public class DataPartitionCPInstruction extends UnaryCPInstruction {
 		try
 		{
 			//write matrix partitions to hdfs
-			WriterBinaryBlock writer = (WriterBinaryBlock) MatrixWriterFactory.createMatrixWriter(OutputInfo.BinaryBlockOutputInfo);
-			writer.writePartitionedBinaryBlockMatrixToHDFS(
-					   new Path(fname), new JobConf(ConfigurationManager.getCachedJobConf()), mb, moIn.getNumRows(), moIn.getNumColumns(), 
-					   (int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), _pformat);
+			WriterBinaryBlock.writePartitionedBinaryBlockMatrixToHDFS(new Path(fname), 
+				new JobConf(ConfigurationManager.getCachedJobConf()), mb, moIn.getNumRows(), moIn.getNumColumns(),
+				(int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), _pformat);
 			
 			//ensure correctness of output characteristics (required if input unknown during compile and no recompile)
 			MatrixCharacteristics mc = new MatrixCharacteristics(moIn.getNumRows(), moIn.getNumColumns(), (int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), moIn.getNnz()); 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
index 9525d2a..1c0f9e6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
@@ -905,8 +905,8 @@ public class VariableCPInstruction extends CPInstruction {
 			MatrixCharacteristics mc = mo.getMatrixCharacteristics();
 			if(oi == OutputInfo.TextCellOutputInfo) {
 				try {
-					WriterMatrixMarket writer = new WriterMatrixMarket();
-					writer.mergeTextcellToMatrixMarket(mo.getFileName(), fname, mc.getRows(), mc.getCols(), mc.getNonZeros());
+					WriterMatrixMarket.mergeTextcellToMatrixMarket(mo.getFileName(), 
+						fname, mc.getRows(), mc.getCols(), mc.getNonZeros());
 				} catch (IOException e) {
 					throw new DMLRuntimeException(e);
 				}

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
index 64a2b5f..a85b7ad 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
@@ -222,7 +222,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC
 				return createNewOutputObject(_src, _out, mc.getRows(), ret );
 		}
 
-		private MatrixObject createNewOutputObject( MatrixObject src, MatrixObject out, long rows, long cols ) 
+		private static MatrixObject createNewOutputObject( MatrixObject src, MatrixObject out, long rows, long cols ) 
 			throws DMLRuntimeException
 		{
 			String varName = out.getVarName();
@@ -409,7 +409,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC
 			return diagBlocks;
 		}
 
-		private void appendCellBufferToStagingArea( String dir, LinkedList<Cell> buffer, int brlen, int bclen ) 
+		private static void appendCellBufferToStagingArea( String dir, LinkedList<Cell> buffer, int brlen, int bclen ) 
 			throws DMLRuntimeException, IOException
 		{
 			HashMap<String,LinkedList<Cell>> sortedBuffer = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
index 49915f2..dfc000f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
@@ -95,7 +95,7 @@ public class AggregateBinaryGPUInstruction extends GPUInstruction {
 
 		ec.setMetaData(_output.getName(), rlen, clen);
 		LibMatrixCUDA.matmult(ec, ec.getGPUContext(0), getExtendedOpcode(), m1, m2, _output.getName(), _isLeftTransposed, _isRightTransposed);
-        
+		
 		//release inputs/outputs
 		ec.releaseMatrixInputForGPUInstruction(_input1.getName());
 		ec.releaseMatrixInputForGPUInstruction(_input2.getName());
@@ -103,13 +103,13 @@ public class AggregateBinaryGPUInstruction extends GPUInstruction {
 	}
 
 	@SuppressWarnings("unused")
-	private MatrixBlock transpose(MatrixBlock m1) throws DMLRuntimeException {
+	private static MatrixBlock transpose(MatrixBlock m1) throws DMLRuntimeException {
 		ReorgOperator r_op = new ReorgOperator(SwapIndex.getSwapIndexFnObject(), 1);
 		return (MatrixBlock) (m1.reorgOperations(r_op, new MatrixBlock(), 0, 0, 0));
 	}
 
 	@SuppressWarnings("unused")
-	private boolean isSparse(ExecutionContext ec, String var) throws DMLRuntimeException {
+	private static boolean isSparse(ExecutionContext ec, String var) throws DMLRuntimeException {
 		MatrixObject mo = ec.getMatrixObject(var);
 		return LibMatrixCUDA.isInSparseFormat(ec.getGPUContext(0), mo);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
index d841e69..354ea63 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
@@ -353,11 +353,10 @@ public class ConvolutionGPUInstruction extends GPUInstruction {
 	}
 
 
-	private int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) 
+	private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) 
 		throws DMLRuntimeException 
 	{
 		return (int) ec.getScalarInput(aL.get(index).getName(),
-				aL.get(index).getValueType(), aL.get(index).isLiteral())
-				.getLongValue();
+			aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue();
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
index fa01ab5..2595795 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
@@ -103,11 +103,11 @@ public class MatrixMatrixAxpyGPUInstruction extends ArithmeticBinaryGPUInstructi
 		ec.releaseMatrixOutputForGPUInstruction(_output.getName());
 	}
 	
-	private boolean isValidMMOperation(long rlen1, long rlen2, long clen1, long clen2) {
+	private static boolean isValidMMOperation(long rlen1, long rlen2, long clen1, long clen2) {
 		return rlen1 == rlen2 && clen1 == clen2; 
 	}
 	
-	private boolean isValidMVOperation(long rlen1, long rlen2, long clen1, long clen2) {
+	private static boolean isValidMVOperation(long rlen1, long rlen2, long clen1, long clen2) {
 		return (rlen1 == rlen2 && clen2 == 1) || (rlen2 == 1 && clen1 == clen2); 
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
index 9cfab2b..3ebed52 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
@@ -119,7 +119,7 @@ public class JCudaKernels {
 	 * @return
 	 * @throws DMLRuntimeException
 	 */
-	private Pointer initKernels(String ptxFileName) throws DMLRuntimeException {
+	private static Pointer initKernels(String ptxFileName) throws DMLRuntimeException {
 		InputStream in = null;
 		ByteArrayOutputStream out = null;
 		try {

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
index 7bb15cb..4ea4f0b 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
@@ -213,7 +213,7 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 		}
 	}
 	
-	private JavaPairRDD<MatrixIndexes,MatrixBlock> reblockAsRectangularMatrices(SparkExecutionContext sec, String name, int numRowsPerBlock) throws DMLRuntimeException {
+	private static JavaPairRDD<MatrixIndexes,MatrixBlock> reblockAsRectangularMatrices(SparkExecutionContext sec, String name, int numRowsPerBlock) throws DMLRuntimeException {
 		JavaPairRDD<MatrixIndexes,MatrixBlock> in1 = sec.getBinaryBlockRDDHandleForVariable( name );
 		MatrixCharacteristics mcRdd = sec.getMatrixCharacteristics(name);
 		if(mcRdd.getColsPerBlock() < mcRdd.getCols() || mcRdd.getRowsPerBlock() != 1) {
@@ -298,11 +298,10 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 		}
 	}
 
-	private int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL,
-			int index) throws DMLRuntimeException {
+	private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) 
+			throws DMLRuntimeException {
 		return (int) ec.getScalarInput(aL.get(index).getName(),
-				aL.get(index).getValueType(), aL.get(index).isLiteral())
-				.getLongValue();
+			aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue();
 	}
 	
 	private static class RDDConv2dMapMMFunction implements PairFlatMapFunction<Iterator<Tuple2<MatrixIndexes, MatrixBlock>>, MatrixIndexes, MatrixBlock> {
@@ -331,7 +330,7 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 					outputBlock = new MatrixBlock(params.N, params.K*params.P*params.Q, true);
 				}
 				else {
-					outputBlock = getDenseOutputBlock(params.N, params.K*params.P*params.Q);
+					outputBlock = new MatrixBlock(params.N, params.K*params.P*params.Q, false).allocateDenseBlock();
 					if(enableNative)
 						LibMatrixNative.conv2d(matBlock, filter, outputBlock, params);
 					else
@@ -345,7 +344,7 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 					outputBlock = new MatrixBlock(params.N, params.K*params.P*params.Q, true);
 				}
 				else {
-					outputBlock = getDenseOutputBlock(params.N, params.K*params.P*params.Q);
+					outputBlock = new MatrixBlock(params.N, params.K*params.P*params.Q, false).allocateDenseBlock();
 					if(!bias.isEmptyBlock())
 						params.bias = bias;
 					if(enableNative)
@@ -359,7 +358,7 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 					outputBlock = new MatrixBlock(params.N, params.C*params.P*params.Q, true);
 				}
 				else {
-					outputBlock = getDenseOutputBlock(params.N, params.C*params.P*params.Q);
+					outputBlock = new MatrixBlock(params.N, params.C*params.P*params.Q, false).allocateBlock();
 					if(instOpcode.equalsIgnoreCase("maxpooling"))
 						Arrays.fill(outputBlock.getDenseBlock(), -Double.MAX_VALUE);
 					LibMatrixDNN.maxpooling(matBlock, outputBlock, params);
@@ -370,12 +369,6 @@ public class ConvolutionSPInstruction extends UnarySPInstruction {
 			}
 			return outputBlock;
 		}
-		
-		private MatrixBlock getDenseOutputBlock(int numRows, int numCols) throws DMLRuntimeException {
-			MatrixBlock outputBlock = new MatrixBlock(numRows, numCols, false);
-			outputBlock.allocateDenseBlock();
-			return outputBlock;
-		}
 
 		@Override
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
index 33f3e1b..be5d12f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
@@ -75,8 +75,7 @@ public class FrameAppendMSPInstruction extends AppendMSPInstruction {
 			sec.getFrameObject(input2.getName())));
 	}
 
-	private boolean preservesPartitioning( boolean cbind )
-	{
+	private static boolean preservesPartitioning( boolean cbind ) {
 		//Partitions for input1 will be preserved in case of cbind, 
 		// where as in case of rbind partitions will not be preserved.
 		return cbind;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
index 71f17a0..ad020bb 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
@@ -164,10 +164,9 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 			throw new DMLRuntimeException("Invalid opcode (" + opcode +") encountered in FrameIndexingSPInstruction.");		
 	}
 
-	private boolean isPartitioningPreservingRightIndexing(MatrixCharacteristics mcIn, IndexRange ixrange)
-	{
+	private static boolean isPartitioningPreservingRightIndexing(MatrixCharacteristics mcIn, IndexRange ixrange) {
 		return ( mcIn.dimsKnown() &&
-			(ixrange.rowStart==1 && ixrange.rowEnd==mcIn.getRows() ));   //Entire Column/s			 
+			(ixrange.rowStart==1 && ixrange.rowEnd==mcIn.getRows() ));   //Entire Column/s
 	}
 
 	private static void checkValidOutputDimensions(MatrixCharacteristics mcOut) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
index e047457..4864d9e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
@@ -82,7 +82,7 @@ public class MatrixAppendMSPInstruction extends AppendMSPInstruction {
 		sec.addLineageBroadcast(output.getName(), input2.getName());
 	}
 
-	private boolean preservesPartitioning( MatrixCharacteristics mcIn1, MatrixCharacteristics mcIn2, boolean cbind )
+	private static boolean preservesPartitioning( MatrixCharacteristics mcIn1, MatrixCharacteristics mcIn2, boolean cbind )
 	{
 		long ncblksIn1 = cbind ?
 				(long)Math.ceil((double)mcIn1.getCols()/mcIn1.getColsPerBlock()) : 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
index 19b0732..6d6478e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
@@ -172,7 +172,7 @@ public class MultiReturnParameterizedBuiltinSPInstruction extends ComputationSPI
 		}
 	}
 
-	private boolean containsMVImputeEncoder(Encoder encoder) {
+	private static boolean containsMVImputeEncoder(Encoder encoder) {
 		if( encoder instanceof EncoderComposite )
 			for( Encoder cencoder : ((EncoderComposite)encoder).getEncoders() )
 				if( cencoder instanceof EncoderMVImpute )
@@ -180,7 +180,7 @@ public class MultiReturnParameterizedBuiltinSPInstruction extends ComputationSPI
 		return false;	
 	}
 
-	private EncoderMVImpute getMVImputeEncoder(Encoder encoder) {
+	private static EncoderMVImpute getMVImputeEncoder(Encoder encoder) {
 		if( encoder instanceof EncoderComposite )
 			for( Encoder cencoder : ((EncoderComposite)encoder).getEncoders() )
 				if( cencoder instanceof EncoderMVImpute )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/QuantilePickSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/QuantilePickSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/QuantilePickSPInstruction.java
index d7fb6e4..e7f515a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/QuantilePickSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/QuantilePickSPInstruction.java
@@ -157,7 +157,7 @@ public class QuantilePickSPInstruction extends BinarySPInstruction {
 	 * @return a summary of weighted quantiles
 	 * @throws DMLRuntimeException 
 	 */
-	private double[] getWeightedQuantileSummary(JavaPairRDD<MatrixIndexes,MatrixBlock> w, MatrixCharacteristics mc, Double... quantiles)
+	private static double[] getWeightedQuantileSummary(JavaPairRDD<MatrixIndexes,MatrixBlock> w, MatrixCharacteristics mc, Double... quantiles)
 		throws DMLRuntimeException 
 	{
 		double[] ret = new double[3*quantiles.length + 1];
@@ -217,7 +217,7 @@ public class QuantilePickSPInstruction extends BinarySPInstruction {
 		return ret;
 	}
 
-	private double lookupKey(JavaPairRDD<MatrixIndexes,MatrixBlock> in, long key, int brlen)
+	private static double lookupKey(JavaPairRDD<MatrixIndexes,MatrixBlock> in, long key, int brlen)
 		throws DMLRuntimeException
 	{
 		long rix = UtilFunctions.computeBlockIndex(key, brlen);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
index 416e4a6..b34afad 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
@@ -651,14 +651,14 @@ public class SpoofSPInstruction extends SPInstruction {
 			return ret.iterator();
 		}
 		
-		private MatrixIndexes createOutputIndexes(MatrixIndexes in, SpoofOperator spoofOp) {
+		private static MatrixIndexes createOutputIndexes(MatrixIndexes in, SpoofOperator spoofOp) {
 			if( ((SpoofOuterProduct)spoofOp).getOuterProdType() == OutProdType.LEFT_OUTER_PRODUCT ) 
 				return new MatrixIndexes(in.getColumnIndex(), 1);
 			else if ( ((SpoofOuterProduct)spoofOp).getOuterProdType() == OutProdType.RIGHT_OUTER_PRODUCT)
 				return new MatrixIndexes(in.getRowIndex(), 1);
 			else 
 				return in;
-		}		
+		}
 	}
 	
 	public static class ReplicateRightFactorFunction implements PairFlatMapFunction<Tuple2<MatrixIndexes, MatrixBlock>, MatrixIndexes, MatrixBlock> 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/TernarySPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/TernarySPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/TernarySPInstruction.java
index e0c8d18..b4e48df 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/TernarySPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/TernarySPInstruction.java
@@ -285,7 +285,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 
 		private static final long serialVersionUID = 271459913267735850L;
 
-		private MatrixBlock extractBlock(Iterable<MatrixBlock> blks, MatrixBlock retVal) throws Exception {
+		private static MatrixBlock extractBlock(Iterable<MatrixBlock> blks, MatrixBlock retVal) throws Exception {
 			for(MatrixBlock blk1 : blks) {
 				if(retVal != null) {
 					throw new Exception("ERROR: More than 1 matrixblock found for one of the inputs at a given index");
@@ -317,7 +317,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 
 		private static final long serialVersionUID = -4873754507037646974L;
 		
-		private MatrixBlock extractBlock(Iterable<MatrixBlock> blks, MatrixBlock retVal) throws Exception {
+		private static MatrixBlock extractBlock(Iterable<MatrixBlock> blks, MatrixBlock retVal) throws Exception {
 			for(MatrixBlock blk1 : blks) {
 				if(retVal != null) {
 					throw new Exception("ERROR: More than 1 matrixblock found for one of the inputs at a given index");
@@ -369,7 +369,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 			this.ignoreZeros = ignoreZeros;
 		}
 		
-		private void expectedALSize(int length, ArrayList<MatrixBlock> al) throws Exception {
+		private static void expectedALSize(int length, ArrayList<MatrixBlock> al) throws Exception {
 			if(al.size() != length) {
 				throw new Exception("Expected arraylist of size:" + length + ", but found " + al.size());
 			}

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/Tsmm2SPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/Tsmm2SPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/Tsmm2SPInstruction.java
index dd9d939..5147b8f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/Tsmm2SPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/Tsmm2SPInstruction.java
@@ -210,8 +210,7 @@ public class Tsmm2SPInstruction extends UnarySPInstruction {
 			MatrixBlock mbin = arg0._2();
 			
 			boolean fullBlock = _type.isLeft() ? ixin.getColumnIndex() == 1 : ixin.getRowIndex() == 1;
-			MatrixBlock out = new MatrixBlock(_outputDim, _outputDim, !fullBlock);
-			out.allocateDenseOrSparseBlock();
+			MatrixBlock out = new MatrixBlock(_outputDim, _outputDim, !fullBlock).allocateBlock();
 			
 			//execute block tsmm operation
 			MatrixBlock out1 = mbin.transposeSelfMatrixMultOperations(new MatrixBlock(), _type);

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/WriteSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/WriteSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/WriteSPInstruction.java
index 6578b86..046abf5 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/WriteSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/WriteSPInstruction.java
@@ -264,7 +264,7 @@ public class WriteSPInstruction extends SPInstruction {
 		MapReduceTool.writeMetaDataFile(fname + ".mtd", input1.getValueType(), schema, DataType.FRAME, mc, oi, formatProperties);	
 	}
 
-	private void customSaveTextFile(JavaRDD<String> rdd, String fname, boolean inSingleFile) 
+	private static void customSaveTextFile(JavaRDD<String> rdd, String fname, boolean inSingleFile) 
 		throws DMLRuntimeException 
 	{
 		if(inSingleFile) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/FrameRDDConverterUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/FrameRDDConverterUtils.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/FrameRDDConverterUtils.java
index b736931..4e836eb 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/FrameRDDConverterUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/FrameRDDConverterUtils.java
@@ -647,7 +647,7 @@ public class FrameRDDConverterUtils
 			return fb;
 		}
 
-		private void flushBlocksToList( Long ix, FrameBlock fb, ArrayList<Tuple2<Long,FrameBlock>> ret ) 
+		private static void flushBlocksToList( Long ix, FrameBlock fb, ArrayList<Tuple2<Long,FrameBlock>> ret ) 
 			throws DMLRuntimeException
 		{			
 			if( fb != null && fb.getNumRows()>0 )

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
index c5058a6..8ec02cc 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
@@ -748,12 +748,12 @@ public class RDDConverterUtils
 				int lclen = (int)UtilFunctions.computeBlockSize(_clen, cix, _bclen);				
 				ix[cix-1] = new MatrixIndexes(rix, cix);
 				mb[cix-1] = new MatrixBlock(lrlen, lclen, _sparse, (int)(lrlen*lclen*_sparsity));
-				mb[cix-1].allocateDenseOrSparseBlock();
+				mb[cix-1].allocateBlock();
 			}
 		}
 		
 		// Flushes current state of filled column blocks to output list.
-		private void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
+		private static void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
 			throws DMLRuntimeException
 		{
 			int len = ix.length;			
@@ -865,12 +865,12 @@ public class RDDConverterUtils
 				int lclen = (int)UtilFunctions.computeBlockSize(_clen, cix, _bclen);
 				ix[cix-1] = new MatrixIndexes(rix, cix);
 				mb[cix-1] = new MatrixBlock(lrlen, lclen, lsparse);
-				mb[cix-1].allocateDenseOrSparseBlock();
+				mb[cix-1].allocateBlock();
 			}
 		}
 		
 		// Flushes current state of filled column blocks to output list.
-		private void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
+		private static void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
 			throws DMLRuntimeException
 		{
 			int len = ix.length;			
@@ -1107,12 +1107,12 @@ public class RDDConverterUtils
 				int lclen = (int)UtilFunctions.computeBlockSize(_clen, cix, _bclen);				
 				ix[cix-1] = new MatrixIndexes(rix, cix);
 				mb[cix-1] = new MatrixBlock(lrlen, lclen, _sparse,(int)(lrlen*lclen*_sparsity));
-				mb[cix-1].allocateDenseOrSparseBlock();
+				mb[cix-1].allocateBlock();
 			}
 		}
 		
 		// Flushes current state of filled column blocks to output list.
-		private void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
+		private static void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
 			throws DMLRuntimeException
 		{
 			int len = ix.length;			

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtilsExt.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtilsExt.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtilsExt.java
index 775d11a..951877e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtilsExt.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtilsExt.java
@@ -166,7 +166,7 @@ public class RDDConverterUtilsExt
 
 	public static MatrixBlock allocateDenseOrSparse(int rlen, int clen, boolean isSparse) {
 		MatrixBlock ret = new MatrixBlock(rlen, clen, isSparse);
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		return ret;
 	}
 	public static MatrixBlock allocateDenseOrSparse(long rlen, long clen, boolean isSparse) throws DMLRuntimeException {
@@ -392,7 +392,7 @@ public class RDDConverterUtilsExt
 			return ret;
 		}
 
-		private void flushBufferToList( ReblockBuffer rbuff,  ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret )
+		private static void flushBufferToList( ReblockBuffer rbuff,  ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret )
 			throws IOException, DMLRuntimeException
 		{
 			//temporary list of indexed matrix values to prevent library dependencies

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlock.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlock.java
index 7bd2c00..e56b10f 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlock.java
@@ -78,7 +78,7 @@ public class FrameReaderBinaryBlock extends FrameReader
 	}
 
 	@SuppressWarnings({ "deprecation" })
-	protected final void readBinaryBlockFrameFromSequenceFile( Path path, JobConf job, FileSystem fs, FrameBlock dest )
+	protected static void readBinaryBlockFrameFromSequenceFile( Path path, JobConf job, FileSystem fs, FrameBlock dest )
 		throws IOException, DMLRuntimeException
 	{
 		int rlen = dest.getNumRows();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCell.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCell.java
index 55128f8..f50fba2 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCell.java
@@ -102,7 +102,7 @@ public class FrameReaderTextCell extends FrameReader
 		}
 	}
 
-	protected final void readTextCellFrameFromInputSplit( InputSplit split, TextInputFormat informat, JobConf job, FrameBlock dest)
+	protected static void readTextCellFrameFromInputSplit( InputSplit split, TextInputFormat informat, JobConf job, FrameBlock dest)
 		throws IOException
 	{
 		ValueType[] schema = dest.getSchema();
@@ -148,7 +148,7 @@ public class FrameReaderTextCell extends FrameReader
 		}		
 	}
 
-	protected final void readRawTextCellFrameFromHDFS( Path path, JobConf job, FileSystem fs, FrameBlock dest, 
+	protected static void readRawTextCellFrameFromHDFS( Path path, JobConf job, FileSystem fs, FrameBlock dest, 
 			ValueType[] schema, String[] names, long rlen, long clen)
 		throws IOException
 	{
@@ -159,7 +159,7 @@ public class FrameReaderTextCell extends FrameReader
 		readRawTextCellFrameFromInputStream(inputStream, dest, schema, names, rlen, clen);
 	}
 
-	protected final void readRawTextCellFrameFromInputStream( InputStream is, FrameBlock dest, ValueType[] schema, String[] names, long rlen, long clen)
+	protected static void readRawTextCellFrameFromInputStream( InputStream is, FrameBlock dest, ValueType[] schema, String[] names, long rlen, long clen)
 		throws IOException
 	{
 		//create buffered reader

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlock.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlock.java
index e208bbe..38e1afb 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlock.java
@@ -86,7 +86,7 @@ public class FrameWriterBinaryBlock extends FrameWriter
 	 * @throws IOException if IOException occurs
 	 */
 	@SuppressWarnings("deprecation")
-	protected final void writeBinaryBlockFrameToSequenceFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int blen, int rl, int ru ) 
+	protected static void writeBinaryBlockFrameToSequenceFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int blen, int rl, int ru ) 
 		throws DMLRuntimeException, IOException
 	{
 		//1) create sequence file writer 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSV.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSV.java
index 7d15d9b..97dab12 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSV.java
@@ -81,7 +81,7 @@ public class FrameWriterTextCSV extends FrameWriter
 		IOUtilFunctions.deleteCrcFilesFromLocalFileSystem(fs, path);
 	}
 
-	protected final void writeCSVFrameToFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int rl, int ru, CSVFileFormatProperties props )
+	protected static void writeCSVFrameToFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int rl, int ru, CSVFileFormatProperties props )
 		throws IOException
 	{
     	//create buffered writer

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCell.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCell.java
index 134d961..2bbd206 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCell.java
@@ -82,7 +82,7 @@ public class FrameWriterTextCell extends FrameWriter
 	 * @param ru upper row
 	 * @throws IOException if IOException occurs
 	 */
-	protected final void writeTextCellFrameToFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int rl, int ru ) 
+	protected static void writeTextCellFrameToFile( Path path, JobConf job, FileSystem fs, FrameBlock src, int rl, int ru ) 
 		throws IOException
 	{
 		boolean entriesWritten = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
index 5b5b8ca..5e7df99 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
@@ -208,7 +208,7 @@ public class ReaderBinaryBlock extends MatrixReader
 		}
 	}
 	
-	private void readBinaryBlockMatrixBlocksFromHDFS( Path path, JobConf job, FileSystem fs, Collection<IndexedMatrixValue> dest, long rlen, long clen, int brlen, int bclen )
+	private static void readBinaryBlockMatrixBlocksFromHDFS( Path path, JobConf job, FileSystem fs, Collection<IndexedMatrixValue> dest, long rlen, long clen, int brlen, int bclen )
 		throws IOException
 	{
 		MatrixIndexes key = new MatrixIndexes(); 

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryCell.java b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryCell.java
index 00a1301..3860ca2 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryCell.java
@@ -68,7 +68,7 @@ public class ReaderBinaryCell extends MatrixReader
 	}
 	
 	@SuppressWarnings("deprecation")
-	private void readBinaryCellMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, long rlen, long clen, int brlen, int bclen )
+	private static void readBinaryCellMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, long rlen, long clen, int brlen, int bclen )
 		throws IOException
 	{
 		boolean sparse = dest.isInSparseFormat();		

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
index 42b1184..8d2ef72 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
@@ -96,7 +96,7 @@ public class ReaderTextCSV extends MatrixReader
 	}
 	
 	@SuppressWarnings("unchecked")
-	private MatrixBlock readCSVMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, 
+	private static MatrixBlock readCSVMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, 
 			long rlen, long clen, int brlen, int bclen, boolean hasHeader, String delim, boolean fill, double fillValue )
 		throws IOException, DMLRuntimeException
 	{
@@ -130,7 +130,7 @@ public class ReaderTextCSV extends MatrixReader
 		return dest;
 	}
 	
-	private long readCSVMatrixFromInputStream( InputStream is, String srcInfo, MatrixBlock dest, MutableInt rowPos, 
+	private static long readCSVMatrixFromInputStream( InputStream is, String srcInfo, MatrixBlock dest, MutableInt rowPos, 
 			long rlen, long clen, int brlen, int bclen, boolean hasHeader, String delim, boolean fill, double fillValue, boolean first )
 		throws IOException
 	{
@@ -221,7 +221,7 @@ public class ReaderTextCSV extends MatrixReader
 		return lnnz;
 	}
 
-	private MatrixBlock computeCSVSize( List<Path> files, JobConf job, FileSystem fs, boolean hasHeader, String delim, boolean fill, double fillValue) 
+	private static MatrixBlock computeCSVSize( List<Path> files, JobConf job, FileSystem fs, boolean hasHeader, String delim, boolean fill, double fillValue) 
 		throws IOException, DMLRuntimeException 
 	{		
 		int nrow = -1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
index fd3af44..7c51637 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
@@ -97,7 +97,7 @@ public class ReaderTextCell extends MatrixReader
 		return ret;
 	}
 
-	private void readTextCellMatrixFromHDFS( Path path, JobConf job, MatrixBlock dest, long rlen, long clen, int brlen, int bclen )
+	private static void readTextCellMatrixFromHDFS( Path path, JobConf job, MatrixBlock dest, long rlen, long clen, int brlen, int bclen )
 		throws IOException
 	{
 		boolean sparse = dest.isInSparseFormat();
@@ -159,7 +159,7 @@ public class ReaderTextCell extends MatrixReader
 		}
 	}
 
-	private void readRawTextCellMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, long rlen, long clen, int brlen, int bclen, boolean matrixMarket )
+	private static void readRawTextCellMatrixFromHDFS( Path path, JobConf job, FileSystem fs, MatrixBlock dest, long rlen, long clen, int brlen, int bclen, boolean matrixMarket )
 		throws IOException
 	{
 		//create input stream for path
@@ -169,7 +169,7 @@ public class ReaderTextCell extends MatrixReader
 		readRawTextCellMatrixFromInputStream(inputStream, dest, rlen, clen, brlen, bclen, matrixMarket);
 	}
 
-	private void readRawTextCellMatrixFromInputStream( InputStream is, MatrixBlock dest, long rlen, long clen, int brlen, int bclen, boolean matrixMarket )
+	private static void readRawTextCellMatrixFromInputStream( InputStream is, MatrixBlock dest, long rlen, long clen, int brlen, int bclen, boolean matrixMarket )
 			throws IOException
 	{
 		BufferedReader br = new BufferedReader(new InputStreamReader( is ));	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlock.java b/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlock.java
index 78ffc0b..ae867bf 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlock.java
@@ -240,7 +240,7 @@ public class WriterBinaryBlock extends MatrixWriter
 		
 							//copy submatrix to block
 							src.sliceOperations( row_offset, row_offset+maxRow-1, 
-									             col_offset, col_offset+maxCol-1, block );							
+								col_offset, col_offset+maxCol-1, block );
 						}
 						else //empty block (not on diagonal)
 						{
@@ -264,7 +264,7 @@ public class WriterBinaryBlock extends MatrixWriter
 	}
 
 	@SuppressWarnings("deprecation")
-	public final void writePartitionedBinaryBlockMatrixToHDFS( Path path, JobConf job, MatrixBlock src, long rlen, long clen, int brlen, int bclen, PDataPartitionFormat pformat )
+	public static final void writePartitionedBinaryBlockMatrixToHDFS( Path path, JobConf job, MatrixBlock src, long rlen, long clen, int brlen, int bclen, PDataPartitionFormat pformat )
 			throws IOException, DMLRuntimeException
 	{
 		boolean sparse = src.isInSparseFormat();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarket.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarket.java b/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarket.java
index a2e2013..f862f3d 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarket.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarket.java
@@ -89,7 +89,7 @@ public class WriterMatrixMarket extends MatrixWriter
 		writeMatrixMarketMatrixToFile(path, job, fs, src, 0, src.getNumRows());
 	}
 
-	protected final void writeMatrixMarketMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru )
+	protected static void writeMatrixMarketMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru )
 		throws IOException
 	{
 		boolean sparse = src.isInSparseFormat();
@@ -165,7 +165,7 @@ public class WriterMatrixMarket extends MatrixWriter
 		}
 	}
 
-	public final void mergeTextcellToMatrixMarket( String srcFileName, String fileName, long rlen, long clen, long nnz )
+	public static void mergeTextcellToMatrixMarket( String srcFileName, String fileName, long rlen, long clen, long nnz )
 		throws IOException
 	{
 		  Configuration conf = new Configuration(ConfigurationManager.getCachedJobConf());

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java b/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
index 6c20baa..f5c62ac 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
@@ -97,7 +97,7 @@ public class WriterTextCSV extends MatrixWriter
 		writeCSVMatrixToFile(path, job, fs, src, 0, (int)src.getNumRows(), csvprops);
 	}
 
-	protected final void writeCSVMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru, CSVFileFormatProperties props )
+	protected static void writeCSVMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru, CSVFileFormatProperties props )
 		throws IOException
 	{
 		boolean sparse = src.isInSparseFormat();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/io/WriterTextCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterTextCell.java b/src/main/java/org/apache/sysml/runtime/io/WriterTextCell.java
index 432d363..04dfd5a 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterTextCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterTextCell.java
@@ -79,7 +79,7 @@ public class WriterTextCell extends MatrixWriter
 		writeTextCellMatrixToFile(path, job, fs, src, 0, (int)rlen);
 	}
 
-	protected final void writeTextCellMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru )
+	protected static void writeTextCellMatrixToFile( Path path, JobConf job, FileSystem fs, MatrixBlock src, int rl, int ru )
 		throws IOException
 	{
 		boolean sparse = src.isInSparseFormat();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java b/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
index 137b25e..7a3b474 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
@@ -114,7 +114,7 @@ public class SortMR
 	 * @return list of writable comparables
 	 * @throws IOException if IOException occurs
 	 */
-    private ArrayList<WritableComparable> readPartitions(FileSystem fs, Path p, JobConf job) 
+    private static ArrayList<WritableComparable> readPartitions(FileSystem fs, Path p, JobConf job) 
     	throws IOException 
     {
     	ArrayList<WritableComparable> parts = new ArrayList<WritableComparable>();

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/ConvolutionParameters.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/ConvolutionParameters.java b/src/main/java/org/apache/sysml/runtime/matrix/data/ConvolutionParameters.java
index 6d06ee5..2f180b0 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/ConvolutionParameters.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/ConvolutionParameters.java
@@ -43,10 +43,9 @@ public class ConvolutionParameters implements Serializable {
 	public MatrixBlock bias;
 	public int [] start_indexes_h, end_indexes_h, start_indexes_w, end_indexes_w; 
 	
-	private int convertToInt(long val) throws DMLRuntimeException {
-		if( val > Integer.MAX_VALUE ) {
+	private static int convertToInt(long val) throws DMLRuntimeException {
+		if( val > Integer.MAX_VALUE )
 			throw new DMLRuntimeException("The value for ConvolutionParameters is too large:" + val);
-		}
 		return (int) val;
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/FrameBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/FrameBlock.java b/src/main/java/org/apache/sysml/runtime/matrix/data/FrameBlock.java
index b3dc311..6079956 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/FrameBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/FrameBlock.java
@@ -759,7 +759,7 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 	 * @param value string value
 	 * @return in-memory size of string value
 	 */
-	private long getInMemoryStringSize(String value) {
+	private static long getInMemoryStringSize(String value) {
 		if( value == null )
 			return 0;
 		return 16 + 4 + 8 //object, hash, array ref

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java
index 1e2649d..7622137 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java
@@ -411,7 +411,7 @@ public class LibMatrixBincell
 				
 				//prepare second input and allocate output
 				MatrixBlock b = m1.sparse ? m2 : m1;
-				ret.allocateDenseOrSparseBlock();
+				ret.allocateBlock();
 				
 				for( int i=0; i<a.numRows(); i++ ) {
 					if( a.isEmpty(i) ) continue;

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNConv2dHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNConv2dHelper.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNConv2dHelper.java
index 66b2ed1..2685f52 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNConv2dHelper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNConv2dHelper.java
@@ -83,7 +83,7 @@ public class LibMatrixDNNConv2dHelper {
 		}
 		
 		// Copy the matrix src of shape [K X PQ] to params.output.denseBlock + destPos
-		private void add(MatrixBlock src, double [] dest, int destPos, int K, int PQ) {
+		private static void add(MatrixBlock src, double [] dest, int destPos, int K, int PQ) {
 			// Copying is required as LibMatrixMult.matrixMult (and/or Java) is not pointer aware.
 			// This is not required in Native implementation
 			if(!src.isEmptyBlock()) {
@@ -162,7 +162,7 @@ public class LibMatrixDNNConv2dHelper {
 		}
 		
 		// Copy the matrix src of shape [K X PQ] to params.output.denseBlock + destPos
-		private void partialCopy1(MatrixBlock src, double [] dest, int destPos, int K, int PQ) {
+		private static void partialCopy1(MatrixBlock src, double [] dest, int destPos, int K, int PQ) {
 			// Copying is required as LibMatrixMult.matrixMult (and/or Java) is not pointer aware.
 			// This is not required in Native implementation
 			if(!src.isEmptyBlock()) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
index 116c8a8..0885508 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
@@ -595,7 +595,7 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = mW.sparse;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		//core weighted square sum mm computation
 		if( !mW.sparse && !mU.sparse && !mV.sparse && !mU.isEmptyBlock() && !mV.isEmptyBlock() )
@@ -632,7 +632,7 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = mW.sparse;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		try 
 		{			
@@ -691,7 +691,7 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = wt.isBasic()?mW.sparse:false;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		//core weighted div mm computation
 		boolean scalarX = wt.hasScalar();
@@ -742,7 +742,7 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = wt.isBasic()?mW.sparse:false;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 
 		if (!ret.isThreadSafe()){
 			matrixMultWDivMM(mW, mU, mV, mX, ret, wt);
@@ -859,7 +859,7 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = mW.sparse;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		//core weighted square sum mm computation
 		if( !mW.sparse && !mU.sparse && !mV.sparse && !mU.isEmptyBlock() && !mV.isEmptyBlock() )
@@ -896,10 +896,10 @@ public class LibMatrixMult
 
 		//pre-processing
 		ret.sparse = mW.sparse;
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		try 
-		{			
+		{
 			ExecutorService pool = Executors.newFixedThreadPool(k);
 			ArrayList<MatrixMultWuTask> tasks = new ArrayList<MatrixMultWuTask>();
 			int blklen = (int)(Math.ceil((double)mW.rlen/k));

http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixReorg.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixReorg.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixReorg.java
index cb98aee..c64bbc6 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixReorg.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixReorg.java
@@ -1897,7 +1897,7 @@ public class LibMatrixReorg
 		final long nnz = in.nonZeros;
 		boolean sp = MatrixBlock.evalSparseFormatInMemory(rlen, clen, nnz);
 		ret.reset(rlen, clen, sp);
-		ret.allocateDenseOrSparseBlock();
+		ret.allocateBlock();
 		
 		//execute rexpand columns
 		long rnnz = 0; //real nnz (due to cutoff max)


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

Posted by mb...@apache.org.
[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);