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/13 03:46:30 UTC

[1/8] systemml git commit: [SYSTEMML-1958] Performance conv2d (nnz maintenance, bias add)

Repository: systemml
Updated Branches:
  refs/heads/master ea2a6e491 -> e106966a9


[SYSTEMML-1958] Performance conv2d (nnz maintenance, bias add)

This patch makes some additional minor performance improvements to the
conv2d operations:

1) Multi-threaded nnz maintenance per thread to exploit temporal
locality and reduce the serial fraction for better utilization.

2) Removed unnecessary nnz maintenance of matrix mult outputs, which are
anyway consumed under the assumption of dense outputs.

3) Bias add per row instead of once per thread-local output in order to
exploit temporal locality. This also replaced the actual bias add
computation with a more efficient implementation.


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

Branch: refs/heads/master
Commit: cf95849f147f6e73c61cf6b5a132fe172506bc2b
Parents: ea2a6e4
Author: Matthias Boehm <mb...@gmail.com>
Authored: Thu Oct 12 17:38:51 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Thu Oct 12 20:46:43 2017 -0700

----------------------------------------------------------------------
 .../sysml/runtime/matrix/data/LibMatrixDNN.java | 13 ++++----
 .../matrix/data/LibMatrixDNNConv2dHelper.java   | 31 +++++++++++---------
 .../runtime/matrix/data/LibMatrixDNNHelper.java | 19 ++++--------
 .../runtime/matrix/data/LibMatrixMult.java      | 29 +++++++++++++-----
 .../sysml/runtime/matrix/data/MatrixBlock.java  |  4 +++
 5 files changed, 57 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/cf95849f/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java
index 40192de..3f67b1a 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java
@@ -164,10 +164,10 @@ public class LibMatrixDNN {
 		if(isEligibleForConv2dSparse(params))
 			Statistics.numNativeSparseConv2dCalls.increment();
 		
-		execute(LibMatrixDNNHelper.getConv2dWorkers(params), params);
+		long nnz = execute(LibMatrixDNNHelper.getConv2dWorkers(params), params);
 		
 		//post-processing: maintain nnz
-		outputBlock.recomputeNonZeros(); 
+		outputBlock.setNonZeros(nnz);
 		outputBlock.examSparsity();
 	}
 	
@@ -552,14 +552,15 @@ public class LibMatrixDNN {
 	 * @param params convolution parameters
 	 * @throws DMLRuntimeException if the error occurs
 	 */
-	private static void execute(ArrayList<Callable<Long>> tasks, ConvolutionParameters params) throws DMLRuntimeException {
+	private static long execute(ArrayList<Callable<Long>> tasks, ConvolutionParameters params) throws DMLRuntimeException {
 		int k = OptimizerUtils.getConstrainedNumThreads(params.numThreads);
+		long lnnz = 0;
 		try {
 			if(k == 1) {
 				// Single-threaded execution when called in parfor
 				// this avoid unnecessary creation of threadpool.
 				for(Callable<Long> task : tasks) {
-					task.call();
+					lnnz += task.call();
 				}
 			}
 			else {
@@ -567,12 +568,14 @@ public class LibMatrixDNN {
 				List<Future<Long>> taskret = pool.invokeAll(tasks);
 				pool.shutdown();
 				for( Future<Long> task : taskret )
-					task.get();
+					lnnz += task.get();
 			}
 		} 
 		catch (Exception e) {
 			throw new DMLRuntimeException("Error while executing multi-threaded tasks", e);
 		}
+		
+		return lnnz;
 	}
 	
 	static boolean isEligibleForConv2dBackwardFilterSparseDense(ConvolutionParameters params) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/cf95849f/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 1036af7..876996f 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
@@ -70,16 +70,17 @@ public class LibMatrixDNNConv2dHelper {
 					// Add the matrix matMultOutBlock of shape [K X PQ] to params.output.denseBlock + destPos
 					add(matMultOutBlock, _params.output.getDenseBlock(), n*K*PQ, K, PQ);
 				}
-			}
-			if(_params.bias != null) {
-				// bias is always converted to dense format
-				LibMatrixDNNHelper.addBias(_rl, _ru, _params.output.getDenseBlock(), _params.bias.getDenseBlock(), K, PQ);
+				// Add bias to current row if necessary, always dense
+				if(_params.bias != null)
+					LibMatrixDNNHelper.addBias(n, _params.output.getDenseBlock(), _params.bias.getDenseBlock(), K, PQ);
 			}
 			if(DMLScript.STATISTICS && LibMatrixDNN.DISPLAY_STATISTICS) {
 				LibMatrixDNN.loopedConvIm2ColTime.addAndGet(time1);
 				LibMatrixDNN.loopedConvMatMultTime.addAndGet(time2);
 			}
-			return 0L;
+			
+			//multi-threaded nnz maintenance of current working set
+			return _params.output.recomputeNonZeros(_rl, _ru-1);
 		}
 		
 		// Copy the matrix src of shape [K X PQ] to params.output.denseBlock + destPos
@@ -105,9 +106,7 @@ public class LibMatrixDNNConv2dHelper {
 					}
 				}
 				else {
-					for(int i = 0; i < K * PQ; i++) {
-						dest[destPos+i] += src.denseBlock[i];
-					}
+					LibMatrixMult.vectAdd(src.denseBlock, dest, 0, destPos, K*PQ);
 				}
 			}
 		}
@@ -151,16 +150,19 @@ public class LibMatrixDNNConv2dHelper {
 				
 				// Copy the matrix matMultOutBlock of shape [K X PQ] to params.output.denseBlock + destPos
 				partialCopy1(outMM, _params.output.getDenseBlock(), n*K*PQ, K, PQ);
+				
+				// Add bias to current row if necessary, always dense
+				if(_params.bias != null)
+					LibMatrixDNNHelper.addBias(n, _params.output.getDenseBlock(), _params.bias.getDenseBlock(), K, PQ);
 			}
-			if(_params.bias != null) {
-				// bias is always converted to dense format
-				LibMatrixDNNHelper.addBias(_rl, _ru, _params.output.getDenseBlock(), _params.bias.getDenseBlock(), K, PQ);
-			}
+			
 			if(DMLScript.STATISTICS && LibMatrixDNN.DISPLAY_STATISTICS) {
 				LibMatrixDNN.loopedConvIm2ColTime.addAndGet(time1);
 				LibMatrixDNN.loopedConvMatMultTime.addAndGet(time2);
 			}
-			return 0L;
+			
+			//multi-threaded nnz maintenance of current working set
+			return _params.output.recomputeNonZeros(_rl, _ru-1);
 		}
 		
 		// Copy the matrix src of shape [K X PQ] to params.output.denseBlock + destPos
@@ -216,7 +218,8 @@ public class LibMatrixDNNConv2dHelper {
 					System.arraycopy(temp, 0, _params.output.denseBlock, n*KPQ, KPQ);
 				}
 			}
-			return 0L;
+			//multi-threaded nnz maintenance of current working set
+			return _params.output.recomputeNonZeros(_rl, _ru-1);
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/cf95849f/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
index ff932fa..276a78e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
@@ -308,6 +308,7 @@ public class LibMatrixDNNHelper {
 			prepNonZerosForMatrixMult(m1, recomputeNNZM1);
 			prepNonZerosForMatrixMult(m2, recomputeNNZM2);
 			LibMatrixMult.matrixMult(m1, m2, ret, false);
+			ret.setNonZeros((long)ret.rlen*ret.clen);
 		}
 		else {
 			ret.sparse = false;
@@ -319,17 +320,9 @@ public class LibMatrixDNNHelper {
 		}
 	}
 	
-	static void addBias(int _rl, int _ru, double [] outputArr, double [] biasArr, int K, int PQ) {
-		// double [] biasArr = _params.bias.getDenseBlock();
-		
-		int index = _rl*K*PQ;
-		for(int n = _rl; n < _ru; n++) {
-			for(int k = 0; k < K; k++) {
-				for(int pq = 0; pq < PQ; pq++, index++) {
-					outputArr[index] += biasArr[k];
-				}
-			}
-		}
+	static void addBias(int r, double [] out, double [] bias, int K, int PQ) {
+		for(int k=0, cix=r*K*PQ; k<K; k++, cix+=PQ)
+			LibMatrixMult.vectAddInPlace(bias[k], out, cix, PQ);
 	}
 	
 	/**
@@ -555,8 +548,8 @@ public class LibMatrixDNNHelper {
 		//non-zeros are not evaluated for dense matrix multiplies
 		//so we simply need to ensure the block is not marked empty 
 		if( !mb.isInSparseFormat() )
-			mb.setNonZeros(mb.getNumRows() * mb.getNumColumns());
+			mb.setNonZeros((long)mb.getNumRows() * mb.getNumColumns());
 		else
-			mb.recomputeNonZeros();	
+			mb.recomputeNonZeros();
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/cf95849f/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 181ff98..190d807 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
@@ -95,13 +95,13 @@ public class LibMatrixMult
 	 * @param m1 first matrix
 	 * @param m2 second matrix
 	 * @param ret result matrix
-	 * @param examSparsity if false, sparsity examination is disabled
+	 * @param maintainNnz if false, nnzs are not recomputed and evaluated
 	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
-	public static void matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, boolean examSparsity) 
+	public static void matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, boolean maintainNnz) 
 			throws DMLRuntimeException
 	{	
-		matrixMult(m1, m2, ret, 0, m1.rlen, examSparsity);
+		matrixMult(m1, m2, ret, 0, m1.rlen, maintainNnz);
 	}
 	
 	public static void matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, int rl, int ru) 
@@ -110,7 +110,7 @@ public class LibMatrixMult
 		matrixMult(m1, m2, ret, rl, ru, true);
 	}
 	
-	public static void matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, int rl, int ru, boolean examSparsity) 
+	public static void matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, int rl, int ru, boolean maintainNnz) 
 		throws DMLRuntimeException
 	{
 		//check inputs / outputs
@@ -146,10 +146,11 @@ public class LibMatrixMult
 			matrixMultDenseSparse(m1, m2, ret, pm2, 0, ru2);
 		
 		//post-processing: nnz/representation
-		if( !ret.sparse )
-			ret.recomputeNonZeros();
-		if(examSparsity)
+		if( maintainNnz ) {
+			if( !ret.sparse )
+				ret.recomputeNonZeros();
 			ret.examSparsity();
+		}
 		
 		//System.out.println("MM ("+m1.isInSparseFormat()+","+m1.getNumRows()+","+m1.getNumColumns()+","+m1.getNonZeros()+")x" +
 		//		"("+m2.isInSparseFormat()+","+m2.getNumRows()+","+m2.getNumColumns()+","+m2.getNonZeros()+") in "+time.stop());
@@ -3282,6 +3283,20 @@ public class LibMatrixMult
 			c[ ci+7 ] += a1[ ai+7 ] + a2[ ai+7 ] + a3[ ai+7 ] + a4[ ai+7 ];
 		}
 	}
+	
+	public static void vectAddInPlace(double aval, double[] c, final int ci, final int len) {
+		final int bn = len%8;
+		//rest, not aligned to 8-blocks
+		for( int j = ci; j < ci+bn; j++)
+			c[ j ] += aval;
+		//unrolled 8-block  (for better instruction-level parallelism)
+		for( int j = ci+bn; j < ci+len; j+=8) {
+			c[ j+0 ] += aval; c[ j+1 ] += aval; 
+			c[ j+2 ] += aval; c[ j+3 ] += aval;
+			c[ j+4 ] += aval; c[ j+5 ] += aval;
+			c[ j+6 ] += aval; c[ j+7 ] += aval;
+		}
+	}
 
 	private static void vectSubtract( double[] a, double[] c, int ai, int ci, final int len )
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/cf95849f/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 822c6f9..432b18a 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
@@ -1217,6 +1217,10 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		return nonZeros;
 	}
 	
+	public long recomputeNonZeros(int rl, int ru) {
+		return recomputeNonZeros(rl, ru, 0, clen-1);
+	}
+	
 	/**
 	 * Recomputes the number of non-zero values of a specified 
 	 * range of the matrix block. NOTE: This call does not materialize


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

Posted by mb...@apache.org.
[MINOR] Cleanup various issues raised by static code analysis, part 3

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

Branch: refs/heads/master
Commit: e106966a976520ac9e7059f730d52ed4021dc114
Parents: cf95849
Author: Matthias Boehm <mb...@gmail.com>
Authored: Thu Oct 12 20:41:29 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Thu Oct 12 20:46:44 2017 -0700

----------------------------------------------------------------------
 .../sysml/api/mlcontext/FrameMetadata.java      |  7 +-
 .../org/apache/sysml/conf/CompilerConfig.java   |  1 +
 .../java/org/apache/sysml/conf/DMLConfig.java   |  1 +
 .../apache/sysml/debug/DMLProgramCounter.java   |  1 +
 src/main/java/org/apache/sysml/hops/Hop.java    |  9 +-
 .../sysml/hops/ParameterizedBuiltinOp.java      |  5 -
 .../sysml/hops/codegen/cplan/CNodeTpl.java      |  1 +
 .../hops/codegen/template/TemplateMultiAgg.java |  1 +
 .../codegen/template/TemplateOuterProduct.java  |  1 +
 .../java/org/apache/sysml/lops/Aggregate.java   |  6 +-
 src/main/java/org/apache/sysml/lops/Append.java |  2 +-
 .../java/org/apache/sysml/lops/AppendG.java     |  2 +
 .../org/apache/sysml/lops/AppendGAlignedSP.java |  1 +
 .../java/org/apache/sysml/lops/AppendM.java     |  4 +
 .../java/org/apache/sysml/lops/AppendR.java     |  2 +
 .../org/apache/sysml/lops/BinaryUAggChain.java  |  2 +-
 .../org/apache/sysml/lops/CombineBinary.java    |  6 +-
 .../org/apache/sysml/lops/CombineTernary.java   |  1 +
 .../org/apache/sysml/lops/CombineUnary.java     |  6 +-
 .../apache/sysml/lops/ConvolutionTransform.java |  1 +
 .../sysml/lops/CumulativeOffsetBinary.java      |  1 +
 src/main/java/org/apache/sysml/lops/Data.java   |  2 +
 src/main/java/org/apache/sysml/lops/Lop.java    |  2 +-
 .../java/org/apache/sysml/lops/MapMult.java     |  1 +
 .../org/apache/sysml/lops/MapMultChain.java     |  1 +
 .../java/org/apache/sysml/lops/PMapMult.java    |  1 +
 .../org/apache/sysml/lops/PartialAggregate.java |  1 +
 src/main/java/org/apache/sysml/lops/RepMat.java |  2 +-
 .../org/apache/sysml/lops/UAggOuterChain.java   |  2 +-
 .../apache/sysml/lops/WeightedCrossEntropy.java |  1 +
 .../sysml/lops/WeightedCrossEntropyR.java       |  1 +
 .../org/apache/sysml/lops/WeightedDivMM.java    |  1 +
 .../org/apache/sysml/lops/WeightedDivMMR.java   |  1 +
 .../org/apache/sysml/lops/WeightedSigmoid.java  |  1 +
 .../org/apache/sysml/lops/WeightedSigmoidR.java |  1 +
 .../apache/sysml/lops/WeightedSquaredLoss.java  |  1 +
 .../apache/sysml/lops/WeightedSquaredLossR.java |  1 +
 .../org/apache/sysml/lops/WeightedUnaryMM.java  |  1 +
 .../org/apache/sysml/lops/WeightedUnaryMMR.java |  1 +
 .../sysml/parser/AssignmentStatement.java       | 13 +--
 .../apache/sysml/parser/BinaryExpression.java   |  2 +
 .../apache/sysml/parser/BooleanExpression.java  |  2 +
 .../apache/sysml/parser/BooleanIdentifier.java  |  2 +
 .../sysml/parser/BuiltinFunctionExpression.java |  2 +
 .../sysml/parser/ConditionalPredicate.java      |  1 +
 .../org/apache/sysml/parser/DMLProgram.java     |  1 +
 .../org/apache/sysml/parser/DataExpression.java |  2 +
 .../org/apache/sysml/parser/DataIdentifier.java |  1 +
 .../apache/sysml/parser/DoubleIdentifier.java   |  2 +
 .../org/apache/sysml/parser/ForStatement.java   |  4 +
 .../apache/sysml/parser/ForStatementBlock.java  |  8 +-
 .../sysml/parser/FunctionCallIdentifier.java    |  7 +-
 .../apache/sysml/parser/FunctionStatement.java  |  5 +-
 .../sysml/parser/FunctionStatementBlock.java    |  9 +-
 .../org/apache/sysml/parser/IfStatement.java    |  6 +-
 .../apache/sysml/parser/IfStatementBlock.java   |  4 +-
 .../apache/sysml/parser/ImportStatement.java    |  9 +-
 .../apache/sysml/parser/IndexedIdentifier.java  |  5 +-
 .../org/apache/sysml/parser/IntIdentifier.java  |  3 +-
 .../apache/sysml/parser/IterablePredicate.java  |  2 +
 .../sysml/parser/MultiAssignmentStatement.java  | 17 ++--
 .../apache/sysml/parser/OutputStatement.java    |  8 +-
 .../ParameterizedBuiltinFunctionExpression.java |  2 +
 .../org/apache/sysml/parser/PathStatement.java  | 12 ++-
 .../org/apache/sysml/parser/PrintStatement.java |  4 +
 .../sysml/parser/RelationalExpression.java      |  3 +-
 .../org/apache/sysml/parser/StatementBlock.java |  6 +-
 .../apache/sysml/parser/StringIdentifier.java   |  3 +-
 .../org/apache/sysml/parser/VariableSet.java    |  1 +
 .../org/apache/sysml/parser/WhileStatement.java |  5 +-
 .../sysml/parser/WhileStatementBlock.java       |  6 +-
 .../sysml/parser/dml/DmlSyntacticValidator.java |  3 +-
 .../parser/pydml/PydmlSyntacticValidator.java   |  3 +-
 .../runtime/codegen/SpoofOuterProduct.java      |  1 +
 .../ExternalFunctionProgramBlock.java           |  1 +
 .../ExternalFunctionProgramBlockCP.java         | 15 ++-
 .../runtime/controlprogram/ForProgramBlock.java |  8 +-
 .../controlprogram/FunctionProgramBlock.java    |  2 +-
 .../runtime/controlprogram/IfProgramBlock.java  |  8 +-
 .../controlprogram/LocalVariableMap.java        |  6 +-
 .../controlprogram/ParForProgramBlock.java      | 30 +++---
 .../sysml/runtime/controlprogram/Program.java   | 14 +--
 .../runtime/controlprogram/ProgramBlock.java    |  4 +-
 .../controlprogram/WhileProgramBlock.java       |  6 +-
 .../controlprogram/caching/CacheableData.java   |  5 +-
 .../controlprogram/caching/MatrixObject.java    |  2 +-
 .../context/ExecutionContext.java               | 36 +++----
 .../context/SparkExecutionContext.java          | 26 +++---
 .../DataPartitionerRemoteSparkMapper.java       |  2 +-
 .../controlprogram/parfor/LocalTaskQueue.java   |  2 +-
 .../controlprogram/parfor/ProgramConverter.java | 55 +++++------
 .../controlprogram/parfor/RemoteDPParForMR.java |  2 +-
 .../parfor/RemoteDPParForSpark.java             |  6 +-
 .../parfor/RemoteDPParForSparkWorker.java       | 10 +-
 .../parfor/RemoteParForColocatedFileSplit.java  | 22 ++---
 .../controlprogram/parfor/RemoteParForMR.java   |  2 +-
 .../parfor/RemoteParForSparkWorker.java         |  4 +-
 .../parfor/RemoteParForUtils.java               |  4 +-
 .../parfor/RemoteParWorkerMapper.java           |  7 +-
 .../controlprogram/parfor/ResultMerge.java      | 18 +---
 .../parfor/ResultMergeLocalMemory.java          |  5 +-
 .../parfor/ResultMergeRemoteMR.java             | 25 ++---
 .../parfor/ResultMergeRemoteReducer.java        |  4 +-
 .../parfor/ResultMergeRemoteSpark.java          |  4 +-
 .../parfor/ResultMergeRemoteSparkWCompare.java  |  2 +-
 .../runtime/controlprogram/parfor/Task.java     | 25 ++---
 .../parfor/TaskPartitionerFactoring.java        |  4 +-
 .../parfor/TaskPartitionerFixedsize.java        |  3 +-
 .../parfor/mqo/MergedMRJobInstruction.java      |  6 +-
 .../parfor/mqo/PiggybackingWorker.java          |  4 +-
 .../mqo/PiggybackingWorkerTimeSequential.java   |  2 +-
 .../PiggybackingWorkerUtilDecayParallel.java    |  4 +-
 .../mqo/PiggybackingWorkerUtilTimeParallel.java |  2 +-
 .../parfor/mqo/RuntimePiggybacking.java         |  8 +-
 .../controlprogram/parfor/opt/OptNode.java      | 13 ++-
 .../parfor/opt/OptTreeConverter.java            |  8 +-
 .../parfor/opt/OptTreePlanChecker.java          |  2 +-
 .../parfor/opt/OptTreePlanMapping.java          |  2 +-
 .../parfor/opt/OptTreePlanMappingAbstract.java  | 41 +++-----
 .../parfor/opt/OptTreePlanMappingRuntime.java   | 28 ++----
 .../parfor/opt/OptimizationWrapper.java         |  4 +-
 .../parfor/opt/OptimizerConstrained.java        |  6 +-
 .../parfor/opt/OptimizerRuleBased.java          | 47 +++++-----
 .../parfor/opt/ProgramRecompiler.java           |  4 +-
 .../parfor/stat/StatisticMonitor.java           |  6 +-
 .../sysml/runtime/functionobjects/Builtin.java  |  3 +-
 .../sysml/runtime/functionobjects/COV.java      |  2 +
 .../sysml/runtime/functionobjects/CTable.java   | 13 +--
 .../runtime/functionobjects/KahanPlus.java      |  1 +
 .../sysml/runtime/functionobjects/Mean.java     |  3 +-
 .../functionobjects/OffsetColumnIndex.java      |  1 +
 .../functionobjects/ParameterizedBuiltin.java   |  7 +-
 .../sysml/runtime/functionobjects/Plus.java     |  3 +-
 .../instructions/CPInstructionParser.java       |  6 +-
 .../sysml/runtime/instructions/Instruction.java |  1 +
 .../instructions/MRInstructionParser.java       |  2 +-
 .../runtime/instructions/MRJobInstruction.java  |  5 +-
 .../instructions/SPInstructionParser.java       |  2 +-
 .../instructions/cp/BreakPointInstruction.java  |  3 +-
 .../runtime/instructions/cp/CM_COV_Object.java  |  5 +-
 .../cp/FunctionCallCPInstruction.java           |  4 -
 .../runtime/instructions/cp/KahanObject.java    |  4 +-
 .../cp/ParameterizedBuiltinCPInstruction.java   |  2 +-
 .../cp/ScalarBuiltinMultipleCPInstruction.java  |  2 +-
 .../gpu/context/ExecutionConfig.java            |  2 +-
 .../instructions/gpu/context/JCudaKernels.java  |  2 +-
 .../instructions/mr/AppendMInstruction.java     |  2 +-
 .../mr/GroupedAggregateMInstruction.java        |  2 +-
 .../mr/ParameterizedBuiltinMRInstruction.java   |  2 +-
 .../mr/RangeBasedReIndexInstruction.java        |  2 +-
 .../mr/RemoveEmptyMRInstruction.java            |  2 +-
 .../instructions/mr/ReorgInstruction.java       |  2 +-
 .../instructions/mr/ScalarInstruction.java      |  1 +
 .../spark/AggregateTernarySPInstruction.java    |  4 +-
 .../spark/AggregateUnarySPInstruction.java      |  4 +-
 .../spark/AppendGAlignedSPInstruction.java      |  4 +-
 .../spark/AppendGSPInstruction.java             | 21 ++---
 .../instructions/spark/CpmmSPInstruction.java   |  6 +-
 .../spark/CumulativeAggregateSPInstruction.java |  2 +-
 .../spark/CumulativeOffsetSPInstruction.java    |  8 +-
 .../spark/FrameAppendMSPInstruction.java        |  2 +-
 .../spark/FrameAppendRSPInstruction.java        |  7 +-
 .../spark/FrameIndexingSPInstruction.java       | 18 ++--
 .../instructions/spark/MapmmSPInstruction.java  | 22 ++---
 .../spark/MatrixAppendMSPInstruction.java       | 22 ++---
 .../spark/MatrixIndexingSPInstruction.java      | 28 +++---
 .../spark/MatrixReshapeSPInstruction.java       |  2 +-
 .../instructions/spark/PMapmmSPInstruction.java |  8 +-
 .../ParameterizedBuiltinSPInstruction.java      | 22 ++---
 .../instructions/spark/PmmSPInstruction.java    |  6 +-
 .../spark/QuaternarySPInstruction.java          | 18 ++--
 .../instructions/spark/RandSPInstruction.java   | 40 ++++----
 .../instructions/spark/ReorgSPInstruction.java  | 12 +--
 .../instructions/spark/RmmSPInstruction.java    | 10 +-
 .../spark/TernarySPInstruction.java             | 27 +++---
 .../instructions/spark/Tsmm2SPInstruction.java  | 12 +--
 .../spark/UaggOuterChainSPInstruction.java      | 14 +--
 .../instructions/spark/WriteSPInstruction.java  |  4 +-
 .../spark/data/BroadcastObject.java             |  2 +-
 .../instructions/spark/data/LineageObject.java  |  2 +-
 .../spark/data/PartitionedBlock.java            |  2 +-
 .../functions/ConvertFrameBlockToIJVLines.java  |  3 +-
 .../functions/ConvertStringToLongTextPair.java  |  2 +-
 .../spark/functions/CopyBinaryCellFunction.java |  2 +-
 .../spark/functions/CopyBlockPairFunction.java  |  2 +-
 .../functions/CopyFrameBlockPairFunction.java   |  4 +-
 .../spark/functions/CopyTextInputFunction.java  |  2 +-
 .../functions/ExtractBlockForBinaryReblock.java |  4 +-
 .../spark/functions/ExtractGroup.java           |  6 +-
 .../spark/functions/ExtractGroupNWeights.java   |  4 +-
 .../spark/functions/GetMIMBFromRow.java         |  7 +-
 .../MatrixVectorBinaryOpPartitionFunction.java  |  2 +-
 .../functions/OuterVectorBinaryOpFunction.java  |  3 +-
 .../spark/functions/ReorgMapFunction.java       |  5 +-
 .../spark/functions/ReplicateBlockFunction.java |  8 +-
 .../functions/ReplicateVectorFunction.java      |  7 +-
 .../spark/utils/FrameRDDConverterUtils.java     | 45 +++++----
 .../spark/utils/RDDConverterUtils.java          | 59 +++++-------
 .../instructions/spark/utils/RDDSortUtils.java  | 47 +++++-----
 .../instructions/spark/utils/SparkUtils.java    | 25 +++--
 .../io/FrameReaderBinaryBlockParallel.java      |  6 +-
 .../sysml/runtime/io/FrameReaderTextCSV.java    |  3 +-
 .../runtime/io/FrameReaderTextCSVParallel.java  | 13 ++-
 .../runtime/io/FrameReaderTextCellParallel.java |  4 +-
 .../io/FrameWriterBinaryBlockParallel.java      |  2 +-
 .../runtime/io/FrameWriterTextCSVParallel.java  |  2 +-
 .../runtime/io/FrameWriterTextCellParallel.java |  2 +-
 .../sysml/runtime/io/IOUtilFunctions.java       |  4 +-
 .../apache/sysml/runtime/io/MatrixReader.java   |  2 +-
 .../sysml/runtime/io/ReaderBinaryBlock.java     |  2 +-
 .../runtime/io/ReaderBinaryBlockParallel.java   |  2 +-
 .../apache/sysml/runtime/io/ReaderTextCSV.java  |  2 +-
 .../sysml/runtime/io/ReaderTextCSVParallel.java |  4 +-
 .../runtime/io/ReaderTextCellParallel.java      |  2 +-
 .../runtime/io/WriterBinaryBlockParallel.java   |  2 +-
 .../runtime/io/WriterMatrixMarketParallel.java  |  2 +-
 .../apache/sysml/runtime/io/WriterTextCSV.java  |  2 +-
 .../sysml/runtime/io/WriterTextCSVParallel.java |  3 +-
 .../runtime/io/WriterTextCellParallel.java      |  2 +-
 .../sysml/runtime/matrix/CSVReblockMR.java      | 10 +-
 .../apache/sysml/runtime/matrix/CombineMR.java  |  3 +-
 .../runtime/matrix/MatrixCharacteristics.java   |  4 +-
 .../org/apache/sysml/runtime/matrix/SortMR.java | 98 ++++++++++----------
 .../matrix/data/AddDummyWeightConverter.java    |  3 +-
 .../data/BinaryBlockToBinaryCellConverter.java  |  3 +-
 .../data/BinaryBlockToRowBlockConverter.java    |  2 +-
 .../data/BinaryBlockToTextCellConverter.java    |  2 +-
 .../data/BinaryCellToRowBlockConverter.java     |  2 +-
 .../matrix/data/BinaryCellToTextConverter.java  |  2 +-
 .../sysml/runtime/matrix/data/CM_N_COVCell.java |  6 +-
 .../matrix/data/ConvolutionParameters.java      |  1 +
 .../sysml/runtime/matrix/data/FrameBlock.java   | 52 +++++++++--
 .../apache/sysml/runtime/matrix/data/IJV.java   |  1 +
 .../runtime/matrix/data/IdenticalConverter.java |  3 +-
 .../sysml/runtime/matrix/data/LibMatrixAgg.java | 12 +--
 .../data/LibMatrixCuDNNInputRowFetcher.java     | 10 +-
 .../runtime/matrix/data/LibMatrixDatagen.java   |  2 +-
 .../runtime/matrix/data/LibMatrixMult.java      | 20 ++--
 .../runtime/matrix/data/LibMatrixReorg.java     | 14 +--
 .../sysml/runtime/matrix/data/MatrixBlock.java  | 17 +++-
 .../sysml/runtime/matrix/data/MatrixCell.java   |  3 +-
 .../sysml/runtime/matrix/data/MatrixValue.java  |  6 +-
 .../matrix/data/OperationsOnMatrixValues.java   | 10 +-
 .../sysml/runtime/matrix/data/PartialBlock.java |  4 +-
 .../runtime/matrix/data/SparseBlockCOO.java     |  1 +
 .../runtime/matrix/data/SparseRowScalar.java    |  3 +
 .../sysml/runtime/matrix/data/Tagged.java       |  4 +-
 .../matrix/data/TaggedFirstSecondIndexes.java   | 18 ++--
 .../matrix/data/TaggedMatrixIndexes.java        |  2 +
 .../matrix/data/TaggedTripleIndexes.java        | 12 +--
 .../data/TextCellToRowBlockConverter.java       |  3 +-
 .../matrix/data/TextToBinaryCellConverter.java  |  3 +-
 .../runtime/matrix/data/TripleIndexes.java      | 12 +--
 .../matrix/data/UnPaddedOutputFormat.java       |  2 +-
 .../sysml/runtime/matrix/data/WeightedCell.java | 19 ++--
 .../data/WeightedCellToSortInputConverter.java  |  3 +-
 .../sysml/runtime/matrix/data/WeightedPair.java |  7 +-
 .../matrix/data/hadoopfix/MultipleInputs.java   |  4 +-
 .../runtime/matrix/mapred/CMCOVMRMapper.java    |  2 +
 .../runtime/matrix/mapred/CMCOVMRReducer.java   |  1 +
 .../runtime/matrix/mapred/CSVReblockMapper.java |  2 +-
 .../runtime/matrix/mapred/CSVWriteMapper.java   |  1 +
 .../runtime/matrix/mapred/CachedValueMap.java   |  2 +-
 .../matrix/mapred/FrameReblockBuffer.java       |  2 +-
 .../runtime/matrix/mapred/GMRCombiner.java      |  3 +-
 .../sysml/runtime/matrix/mapred/GMRMapper.java  |  4 +-
 .../matrix/mapred/GroupedAggMRMapper.java       |  3 +-
 .../matrix/mapred/IndexedMatrixValue.java       |  4 +-
 .../runtime/matrix/mapred/MMCJMRCache.java      |  4 +-
 .../mapred/MMCJMRCombinerReducerBase.java       |  2 +-
 .../runtime/matrix/mapred/MMCJMRMapper.java     |  1 +
 .../runtime/matrix/mapred/MMRJMRMapper.java     |  1 +
 .../runtime/matrix/mapred/MMRJMRReducer.java    |  7 +-
 .../mapred/MRBaseForCommonInstructions.java     |  2 +-
 .../matrix/mapred/MRJobConfiguration.java       |  2 +-
 .../sysml/runtime/matrix/mapred/MapperBase.java |  1 +
 .../sysml/runtime/matrix/mapred/ReduceBase.java |  2 +
 .../runtime/matrix/sort/CompactInputFormat.java |  4 +-
 .../matrix/sort/CompactOutputFormat.java        | 23 +++--
 .../matrix/sort/PickFromCompactInputFormat.java | 14 +--
 .../matrix/sort/SamplingSortMRInputFormat.java  | 13 ++-
 .../runtime/matrix/sort/ValueSortReducer.java   |  4 +-
 .../transform/decode/DecoderFactory.java        |  2 +-
 .../runtime/transform/decode/DecoderRecode.java |  2 +-
 .../transform/encode/EncoderFactory.java        |  2 +-
 .../transform/encode/EncoderMVImpute.java       | 11 ++-
 .../runtime/transform/encode/EncoderRecode.java |  7 +-
 .../runtime/transform/meta/TfMetaUtils.java     | 10 +-
 .../runtime/transform/meta/TfOffsetMap.java     |  4 +-
 .../sysml/runtime/util/NormalPRNGenerator.java  | 13 +--
 .../sysml/runtime/util/PoissonPRNGenerator.java | 12 +--
 .../sysml/runtime/util/UniformPRNGenerator.java | 13 +--
 .../ExternalFunctionInvocationInstruction.java  |  7 +-
 .../test/integration/AutomatedTestBase.java     |  9 +-
 .../test/integration/applications/ID3Test.java  | 12 +--
 .../BivariateCategoricalCategoricallTest.java   | 43 ++++-----
 .../BivariateOrdinalOrdinalTest.java            | 29 +++---
 .../BivariateScaleCategoricalTest.java          | 27 ++----
 .../BivariateScaleScaleTest.java                | 19 ++--
 .../parfor/ParForBivariateStatsTest.java        | 21 +----
 .../parfor/ParForCVMulticlassSVMTest.java       | 10 +-
 .../parfor/ParForUnivariateStatsTest.java       |  7 +-
 .../UltraSparseMRMatrixMultiplicationTest.java  | 13 +--
 .../FullIntegerDivisionTest.java                | 31 ++-----
 .../binary/matrix_full_other/FullPowerTest.java | 23 +----
 .../functions/codegen/CPlanComparisonTest.java  |  2 +-
 .../codegen/CPlanVectorPrimitivesTest.java      |  6 +-
 .../compress/BasicCompressionTest.java          |  7 +-
 .../functions/compress/BasicGetValueTest.java   |  7 +-
 .../compress/BasicMatrixAppendTest.java         |  7 +-
 .../compress/BasicMatrixCentralMomentTest.java  |  7 +-
 .../compress/BasicMatrixMultChainTest.java      |  8 +-
 .../compress/BasicMatrixQuantileTest.java       |  7 +-
 .../BasicMatrixTransposeSelfMultTest.java       |  7 +-
 .../compress/BasicMatrixVectorMultTest.java     |  7 +-
 .../BasicScalarOperationsSparseUnsafeTest.java  |  7 +-
 .../compress/BasicScalarOperationsTest.java     |  7 +-
 .../BasicTransposeSelfLeftMatrixMultTest.java   |  7 +-
 .../compress/BasicUnaryAggregateTest.java       |  6 +-
 .../compress/BasicVectorMatrixMultTest.java     |  7 +-
 .../compress/CompressedSerializationTest.java   |  8 +-
 .../compress/LargeCompressionTest.java          |  7 +-
 .../compress/LargeMatrixVectorMultTest.java     |  7 +-
 .../compress/LargeParMatrixVectorMultTest.java  |  7 +-
 .../compress/LargeParUnaryAggregateTest.java    |  8 +-
 .../compress/LargeVectorMatrixMultTest.java     |  7 +-
 .../functions/compress/ParCompressionTest.java  |  7 +-
 .../compress/ParMatrixMultChainTest.java        |  8 +-
 .../compress/ParMatrixVectorMultTest.java       |  7 +-
 .../ParTransposeSelfLeftMatrixMultTest.java     |  7 +-
 .../compress/ParUnaryAggregateTest.java         |  8 +-
 .../compress/ParVectorMatrixMultTest.java       |  7 +-
 .../functions/data/FullReblockTest.java         | 28 +-----
 .../functions/external/DynProjectTest.java      | 23 +----
 .../functions/frame/FrameAppendDistTest.java    |  2 +-
 .../functions/frame/FrameConverterTest.java     | 33 ++-----
 .../functions/frame/FrameIndexingDistTest.java  |  2 +-
 .../functions/frame/FrameMatrixCastingTest.java | 25 +----
 .../functions/frame/FrameMatrixReblockTest.java | 31 +------
 .../functions/frame/FrameMatrixWriteTest.java   | 12 +--
 .../functions/frame/FrameSchemaReadTest.java    | 16 +---
 .../functions/io/SeqParReadTest.java            | 16 +---
 .../functions/jmlc/FrameCastingTest.java        |  4 +-
 .../functions/jmlc/FrameDecodeTest.java         |  4 +-
 .../functions/jmlc/FrameEncodeTest.java         |  4 +-
 .../functions/jmlc/FrameIndexingAppendTest.java |  4 +-
 .../functions/jmlc/FrameLeftIndexingTest.java   |  4 +-
 .../functions/jmlc/FrameTransformTest.java      |  4 +-
 .../functions/jmlc/MulticlassSVMScoreTest.java  |  2 +-
 .../functions/jmlc/ReuseModelVariablesTest.java |  4 +-
 .../DataFrameVectorFrameConversionTest.java     |  2 +-
 .../mlcontext/DataFrameVectorScriptTest.java    |  2 +-
 .../functions/mlcontext/FrameTest.java          |  2 +-
 .../parfor/ParForNaNResultMergeTest.java        |  2 +-
 .../parfor/ParForRulebasedOptimizerTest.java    | 22 +----
 .../recompile/RandJobRecompileTest.java         | 15 +--
 .../sparse/SparseBlockGetFirstIndex.java        | 10 +-
 .../sparse/SparseBlockMemEstimate.java          |  9 +-
 .../functions/ternary/CTableSequenceTest.java   | 21 +----
 .../functions/ternary/TableOutputTest.java      | 20 +---
 .../transform/TransformEncodeDecodeTest.java    |  8 +-
 .../functions/unary/matrix/ReplaceTest.java     |  4 +-
 .../functions/unary/scalar/StopTestCtrlStr.java |  3 +-
 .../mlcontext/MLContextMultipleScriptsTest.java |  2 +-
 .../mlcontext/MLContextScratchCleanupTest.java  |  2 +-
 .../MLContextUnivariateStatisticsTest.java      |  2 +-
 .../org/apache/sysml/test/utils/TestUtils.java  | 38 ++++----
 367 files changed, 1231 insertions(+), 1668 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java b/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
index 67d7ab9..615e946 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/FrameMetadata.java
@@ -508,12 +508,9 @@ public class FrameMetadata extends Metadata {
 	 * @param matrixCharacteristics
 	 *            the frame metadata as a MatrixCharacteristics object
 	 */
+	@Override
 	public void setMatrixCharacteristics(MatrixCharacteristics matrixCharacteristics) {
-		this.numRows = matrixCharacteristics.getRows();
-		this.numColumns = matrixCharacteristics.getCols();
-		this.numNonZeros = matrixCharacteristics.getNonZeros();
-		this.numRowsPerBlock = matrixCharacteristics.getRowsPerBlock();
-		this.numColumnsPerBlock = matrixCharacteristics.getColsPerBlock();
+		super.setMatrixCharacteristics(matrixCharacteristics);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/conf/CompilerConfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/conf/CompilerConfig.java b/src/main/java/org/apache/sysml/conf/CompilerConfig.java
index 9dba923..bafe0ce 100644
--- a/src/main/java/org/apache/sysml/conf/CompilerConfig.java
+++ b/src/main/java/org/apache/sysml/conf/CompilerConfig.java
@@ -134,6 +134,7 @@ public class CompilerConfig
 		return -1;
 	}
 	
+	@Override
 	public CompilerConfig clone() {
 		return new CompilerConfig(this);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/conf/DMLConfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/conf/DMLConfig.java b/src/main/java/org/apache/sysml/conf/DMLConfig.java
index 6eaa52e..0b73ab0 100644
--- a/src/main/java/org/apache/sysml/conf/DMLConfig.java
+++ b/src/main/java/org/apache/sysml/conf/DMLConfig.java
@@ -458,6 +458,7 @@ public class DMLConfig
 		return _defaultVals.get( key );
 	}
 	
+	@Override
 	public DMLConfig clone() {
 		DMLConfig conf = new DMLConfig();
 		conf._fileName = _fileName;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/debug/DMLProgramCounter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/debug/DMLProgramCounter.java b/src/main/java/org/apache/sysml/debug/DMLProgramCounter.java
index 8a912ba..3dac61c 100644
--- a/src/main/java/org/apache/sysml/debug/DMLProgramCounter.java
+++ b/src/main/java/org/apache/sysml/debug/DMLProgramCounter.java
@@ -155,6 +155,7 @@ public class DMLProgramCounter {
 	 * Displays a pretty-printed program counter
 	 * @return Current pc
 	 */
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
 		sb.append(DMLProgram.constructFunctionKey(this.namespace, this.fname));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/hops/Hop.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/Hop.java b/src/main/java/org/apache/sysml/hops/Hop.java
index 6547e2f..23d4346 100644
--- a/src/main/java/org/apache/sysml/hops/Hop.java
+++ b/src/main/java/org/apache/sysml/hops/Hop.java
@@ -453,13 +453,11 @@ public abstract class Hop implements ParseInfo
 		return offset;
 	}
 	
-	public void setOutputEmptyBlocks(boolean flag)
-	{
+	public void setOutputEmptyBlocks(boolean flag) {
 		_outputEmptyBlocks = flag;
 	}
 	
-	public boolean isOutputEmptyBlocks()
-	{
+	public boolean isOutputEmptyBlocks() {
 		return _outputEmptyBlocks;
 	}
 	
@@ -1854,7 +1852,8 @@ public abstract class Hop implements ParseInfo
 		_endLine = that._endLine;
 		_endColumn = that._endColumn;
 	}
-
+	
+	@Override
 	public abstract Object clone() throws CloneNotSupportedException;
 	
 	public abstract boolean compare( Hop that );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java b/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
index b9b8649..3fd6ec0 100644
--- a/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
+++ b/src/main/java/org/apache/sysml/hops/ParameterizedBuiltinOp.java
@@ -62,7 +62,6 @@ public class ParameterizedBuiltinOp extends Hop implements MultiThreadedHop
 	private int _maxNumThreads = -1; //-1 for unlimited
 	
 	//removeEmpty hints
-	private boolean _outputEmptyBlocks = true;
 	private boolean _outputPermutationMatrix = false;
 	private boolean _bRmEmptyBC = false;
 	
@@ -128,10 +127,6 @@ public class ParameterizedBuiltinOp extends Hop implements MultiThreadedHop
 	public ParamBuiltinOp getOp() {
 		return _op;
 	}
-
-	public void setOutputEmptyBlocks(boolean flag) {
-		_outputEmptyBlocks = flag;
-	}
 	
 	public void setOutputPermutationMatrix(boolean flag) {
 		_outputPermutationMatrix = flag;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
index ab5853c..d5298ce 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/cplan/CNodeTpl.java
@@ -76,6 +76,7 @@ public abstract class CNodeTpl extends CNode implements Cloneable
 		return codegen(false);
 	}
 	
+	@Override
 	public abstract CNodeTpl clone();
 	
 	public abstract SpoofOutputDimsType getOutputDimType();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateMultiAgg.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateMultiAgg.java b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateMultiAgg.java
index 9b114b0..ebd6078 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateMultiAgg.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateMultiAgg.java
@@ -71,6 +71,7 @@ public class TemplateMultiAgg extends TemplateCell
 		return CloseType.CLOSED_INVALID;
 	}
 
+	@Override
 	public Pair<Hop[], CNodeTpl> constructCplan(Hop hop, CPlanMemoTable memo, boolean compileLiterals) 
 	{
 		//get all root nodes for multi aggregation

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateOuterProduct.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateOuterProduct.java b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateOuterProduct.java
index cac9f9b..904fbb3 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateOuterProduct.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateOuterProduct.java
@@ -103,6 +103,7 @@ public class TemplateOuterProduct extends TemplateBase {
 			return CloseType.OPEN;
 	}
 
+	@Override
 	public Pair<Hop[], CNodeTpl> constructCplan(Hop hop, CPlanMemoTable memo, boolean compileLiterals) 
 	{
 		//recursively process required cplan output

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/Aggregate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Aggregate.java b/src/main/java/org/apache/sysml/lops/Aggregate.java
index 0eefb16..f90e214 100644
--- a/src/main/java/org/apache/sysml/lops/Aggregate.java
+++ b/src/main/java/org/apache/sysml/lops/Aggregate.java
@@ -81,9 +81,9 @@ public class Aggregate extends Lop
 		}
 	}
 	
-	public String toString()
-	{
-		return "Operation: " + operation;		
+	@Override
+	public String toString() {
+		return "Operation: " + operation;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/Append.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Append.java b/src/main/java/org/apache/sysml/lops/Append.java
index e224e51..f2b9896 100644
--- a/src/main/java/org/apache/sysml/lops/Append.java
+++ b/src/main/java/org/apache/sysml/lops/Append.java
@@ -62,11 +62,11 @@ public class Append extends Lop
 	
 	@Override
 	public String toString() {
-
 		return " Append: ";
 	}
 
 	//called when append executes in CP
+	@Override
 	public String getInstructions(String input1, String input2, String input3, String output) 
 		throws LopsException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/AppendG.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/AppendG.java b/src/main/java/org/apache/sysml/lops/AppendG.java
index 161dea1..b412563 100644
--- a/src/main/java/org/apache/sysml/lops/AppendG.java
+++ b/src/main/java/org/apache/sysml/lops/AppendG.java
@@ -86,6 +86,7 @@ public class AppendG extends Lop
 	}
 
 	//called when append executes in MR
+	@Override
 	public String getInstructions(int input_index1, int input_index2, int input_index3, int input_index4, int output_index) 
 		throws LopsException
 	{
@@ -98,6 +99,7 @@ public class AppendG extends Lop
 	}
 	
 	//called when append executes in SP
+	@Override
 	public String getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index) 
 		throws LopsException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java b/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java
index ecd3192..a591c3e 100644
--- a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java
+++ b/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java
@@ -64,6 +64,7 @@ public class AppendGAlignedSP extends Lop
 	}
 
 	//called when append executes in CP
+	@Override
 	public String getInstructions(String input_index1, String input_index2, String input_index3, String output_index) 
 		throws LopsException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/AppendM.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/AppendM.java b/src/main/java/org/apache/sysml/lops/AppendM.java
index aea0105..0d71319 100644
--- a/src/main/java/org/apache/sysml/lops/AppendM.java
+++ b/src/main/java/org/apache/sysml/lops/AppendM.java
@@ -79,6 +79,7 @@ public class AppendM extends Lop
 	}
 
 	//called when append executes in MR
+	@Override
 	public String getInstructions(int input_index1, int input_index2, int input_index3, int output_index) 
 		throws LopsException
 	{
@@ -91,6 +92,7 @@ public class AppendM extends Lop
 
 
 	//called when append executes in SP
+	@Override
 	public String getInstructions(String input1, String input2, String input3, String output) 
 		throws LopsException
 	{
@@ -124,10 +126,12 @@ public class AppendM extends Lop
 		return sb.toString();
 	}
 	
+	@Override
 	public boolean usesDistributedCache() {
 		return true;
 	}
 	
+	@Override
 	public int[] distributedCacheInputIndex() {
 		return new int[]{2}; // second input is from distributed cache
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/AppendR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/AppendR.java b/src/main/java/org/apache/sysml/lops/AppendR.java
index 8495efe..e8d55b4 100644
--- a/src/main/java/org/apache/sysml/lops/AppendR.java
+++ b/src/main/java/org/apache/sysml/lops/AppendR.java
@@ -70,6 +70,7 @@ public class AppendR extends Lop
 	}
 
 	//called when append executes in MR
+	@Override
 	public String getInstructions(int input_index1, int input_index2, int output_index) 
 		throws LopsException
 	{
@@ -80,6 +81,7 @@ public class AppendR extends Lop
 	}
 	
 	//called when append executes in CP
+	@Override
 	public String getInstructions(String input1, String input2, String output) 
 		throws LopsException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java b/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java
index 3203cf5..e1b8968 100644
--- a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java
+++ b/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java
@@ -87,7 +87,7 @@ public class BinaryUAggChain extends Lop
 		}
 	}
 	
-
+	@Override
 	public String toString() {
 		return "Operation = BinUaggChain";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/CombineBinary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/CombineBinary.java b/src/main/java/org/apache/sysml/lops/CombineBinary.java
index 8a13710..44ee47d 100644
--- a/src/main/java/org/apache/sysml/lops/CombineBinary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineBinary.java
@@ -66,9 +66,9 @@ public class CombineBinary extends Lop
 		this.lps.setProducesIntermediateOutput(true);
 	}
 	
-	public String toString()
-	{
-		return "combinebinary";		
+	@Override
+	public String toString() {
+		return "combinebinary";
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/CombineTernary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/CombineTernary.java b/src/main/java/org/apache/sysml/lops/CombineTernary.java
index d49e099..ac1a60f 100644
--- a/src/main/java/org/apache/sysml/lops/CombineTernary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineTernary.java
@@ -62,6 +62,7 @@ public class CombineTernary extends Lop
 		this.lps.setProducesIntermediateOutput(true);
 	}
 
+	@Override
 	public String toString() {
 		return "combineternary";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/CombineUnary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/CombineUnary.java b/src/main/java/org/apache/sysml/lops/CombineUnary.java
index a3e92e7..a7f34f6 100644
--- a/src/main/java/org/apache/sysml/lops/CombineUnary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineUnary.java
@@ -54,9 +54,9 @@ public class CombineUnary extends Lop
 		this.lps.setProperties( inputs, ExecType.MR, ExecLocation.Map, breaksAlignment, aligner, definesMRJob );
 	}
 	
-	public String toString()
-	{
-		return "combineunary";		
+	@Override
+	public String toString() {
+		return "combineunary";
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java b/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
index 947b019..dfc187c 100644
--- a/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
+++ b/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
@@ -148,6 +148,7 @@ public class ConvolutionTransform extends Lop
 		}
 	}
 	
+	@Override
 	public String getInstructions(String input, String bias, String output) throws LopsException {
 		if(operation == OperationTypes.BIAS_ADD || operation == OperationTypes.BIAS_MULTIPLY || operation == OperationTypes.RELU_BACKWARD) {
 			StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 7237d94..c9ad84c 100644
--- a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
+++ b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java
@@ -83,6 +83,7 @@ public class CumulativeOffsetBinary extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "CumulativeOffsetBinary";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/Data.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Data.java b/src/main/java/org/apache/sysml/lops/Data.java
index 56601be..7f22038 100644
--- a/src/main/java/org/apache/sysml/lops/Data.java
+++ b/src/main/java/org/apache/sysml/lops/Data.java
@@ -495,10 +495,12 @@ public class Data extends Lop
 	 * 
 	 * @throws LopsException if LopsException occurs
 	 */
+	@Override
 	public String getInstructions() throws LopsException {
 		return getCreateVarInstructions(getOutputParameters().getFile_name(), getOutputParameters().getLabel());
 	}
 	
+	@Override
 	public String getInstructions(String outputFileName) throws LopsException {
 		return getCreateVarInstructions(outputFileName, getOutputParameters().getLabel() );
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/Lop.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Lop.java b/src/main/java/org/apache/sysml/lops/Lop.java
index 48554d9..499cd59 100644
--- a/src/main/java/org/apache/sysml/lops/Lop.java
+++ b/src/main/java/org/apache/sysml/lops/Lop.java
@@ -277,7 +277,7 @@ public abstract class Lop
 	/**
 	 * Method to have Lops print their state. This is for debugging purposes.
 	 */
-
+	@Override
 	public abstract String toString();
 
 	public void resetVisitStatus() {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/MapMult.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/MapMult.java b/src/main/java/org/apache/sysml/lops/MapMult.java
index d4919bc..7fb5a60 100644
--- a/src/main/java/org/apache/sysml/lops/MapMult.java
+++ b/src/main/java/org/apache/sysml/lops/MapMult.java
@@ -133,6 +133,7 @@ public class MapMult extends Lop
 		lps.setProperties( inputs, ExecType.SPARK, ExecLocation.ControlProgram, breaksAlignment, aligner, definesMRJob );
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = MapMM";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/MapMultChain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/MapMultChain.java b/src/main/java/org/apache/sysml/lops/MapMultChain.java
index f3eb6b5..e19e522 100644
--- a/src/main/java/org/apache/sysml/lops/MapMultChain.java
+++ b/src/main/java/org/apache/sysml/lops/MapMultChain.java
@@ -120,6 +120,7 @@ public class MapMultChain extends Lop
 		_numThreads = k;
 	}
 	
+	@Override
 	public String toString() {
 		return "Operation = MapMMChain";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/PMapMult.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/PMapMult.java b/src/main/java/org/apache/sysml/lops/PMapMult.java
index e5e978d..e6bf3ac 100644
--- a/src/main/java/org/apache/sysml/lops/PMapMult.java
+++ b/src/main/java/org/apache/sysml/lops/PMapMult.java
@@ -47,6 +47,7 @@ public class PMapMult extends Lop
 		lps.setProperties( inputs, ExecType.SPARK, ExecLocation.ControlProgram, breaksAlignment, aligner, definesMRJob );
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = PMapMM";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/PartialAggregate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/PartialAggregate.java b/src/main/java/org/apache/sysml/lops/PartialAggregate.java
index 0517ca5..c42e787 100644
--- a/src/main/java/org/apache/sysml/lops/PartialAggregate.java
+++ b/src/main/java/org/apache/sysml/lops/PartialAggregate.java
@@ -277,6 +277,7 @@ public class PartialAggregate extends Lop
 		}
 	}
 	
+	@Override
 	public String toString() {
 		return "Partial Aggregate " + operation;
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/RepMat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/RepMat.java b/src/main/java/org/apache/sysml/lops/RepMat.java
index 0303cd9..b443c80 100644
--- a/src/main/java/org/apache/sysml/lops/RepMat.java
+++ b/src/main/java/org/apache/sysml/lops/RepMat.java
@@ -62,7 +62,7 @@ public class RepMat extends Lop
 		lps.setProperties( inputs, ExecType.MR, ExecLocation.Map, breaksAlignment, aligner, definesMRJob );
 	}
 
-
+	@Override
 	public String toString() {
 		return "Operation = RepMat";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/UAggOuterChain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/UAggOuterChain.java b/src/main/java/org/apache/sysml/lops/UAggOuterChain.java
index 6885043..bdd4e0c 100644
--- a/src/main/java/org/apache/sysml/lops/UAggOuterChain.java
+++ b/src/main/java/org/apache/sysml/lops/UAggOuterChain.java
@@ -95,7 +95,7 @@ public class UAggOuterChain extends Lop
 		}
 	}
 	
-
+	@Override
 	public String toString() {
 		return "Operation = UaggOuterChain";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java
index a18de2d..5249eae 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java
@@ -83,6 +83,7 @@ public class WeightedCrossEntropy extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedCrossEntropy";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java
index b05beaf..228b9d7 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java
@@ -80,6 +80,7 @@ public class WeightedCrossEntropyR extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedCrossEntropyR";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedDivMM.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedDivMM.java b/src/main/java/org/apache/sysml/lops/WeightedDivMM.java
index cd6a311..758ef9e 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedDivMM.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedDivMM.java
@@ -122,6 +122,7 @@ public class WeightedDivMM extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedDivMM";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java b/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java
index 7da8b3c..648551b 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java
@@ -77,6 +77,7 @@ public class WeightedDivMMR extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedDivMMR";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java b/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java
index df6a081..3dcc930 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java
@@ -80,6 +80,7 @@ public class WeightedSigmoid extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedSigmoid";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java b/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java
index da9efd1..9778168 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java
@@ -77,6 +77,7 @@ public class WeightedSigmoidR extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedSigmoidR";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java b/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java
index c58a804..84de064 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java
@@ -85,6 +85,7 @@ public class WeightedSquaredLoss extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedSquaredLoss";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java b/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java
index f55d12c..6d7127a 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java
@@ -78,6 +78,7 @@ public class WeightedSquaredLossR extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedSquaredLossR";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java b/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java
index 97e3cc8..8d120af 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java
@@ -80,6 +80,7 @@ public class WeightedUnaryMM extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedUMM";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java b/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java
index 36e4343..0a91034 100644
--- a/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java
+++ b/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java
@@ -79,6 +79,7 @@ public class WeightedUnaryMMR extends Lop
 		}
 	}
 
+	@Override
 	public String toString() {
 		return "Operation = WeightedUMMR";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/AssignmentStatement.java b/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
index 3d12394..9195fbd 100644
--- a/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
+++ b/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
@@ -28,22 +28,18 @@ import org.apache.sysml.debug.DMLBreakpointManager;
 
 public class AssignmentStatement extends Statement
 {
-		
 	private ArrayList<DataIdentifier> _targetList;
 	private Expression _source;
 	 
 	// rewrites statement to support function inlining (creates deep copy)
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException {
-
 		// rewrite target (deep copy)
 		DataIdentifier newTarget = (DataIdentifier) _targetList.get(0).rewriteExpression(prefix);
-
 		// rewrite source (deep copy)
 		Expression newSource = _source.rewriteExpression(prefix);
-
 		// create rewritten assignment statement (deep copy)
 		AssignmentStatement retVal = new AssignmentStatement(newTarget, newSource, this);
-
 		return retVal;
 	}
 
@@ -96,15 +92,18 @@ public class AssignmentStatement extends Statement
 		
 		return false;
 	}
-	
+
+	@Override
 	public void initializeforwardLV(VariableSet activeIn){
 		//do nothing
 	}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo){
 		return lo;
 	}
 	
+	@Override
 	public VariableSet variablesRead() {
 		VariableSet result = new VariableSet();
 		
@@ -121,6 +120,7 @@ public class AssignmentStatement extends Statement
 		return result;
 	}
 	
+	@Override
 	public  VariableSet variablesUpdated() {
 		VariableSet result =  new VariableSet();
 		
@@ -132,6 +132,7 @@ public class AssignmentStatement extends Statement
 		return result;
 	}
 	
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		for (int i=0; i< _targetList.size(); i++){

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/BinaryExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/BinaryExpression.java b/src/main/java/org/apache/sysml/parser/BinaryExpression.java
index 68678e7..c4f23ea 100644
--- a/src/main/java/org/apache/sysml/parser/BinaryExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BinaryExpression.java
@@ -28,6 +28,7 @@ public class BinaryExpression extends Expression
 	private Expression _right;
 	private BinaryOp _opcode;
 	
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		BinaryExpression newExpr = new BinaryExpression(this._opcode, this);
 		newExpr.setLeft(_left.rewriteExpression(prefix));
@@ -181,6 +182,7 @@ public class BinaryExpression extends Expression
 		}
 	}
 	
+	@Override
 	public String toString() {
 		String leftString;
 		String rightString;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/BooleanExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/BooleanExpression.java b/src/main/java/org/apache/sysml/parser/BooleanExpression.java
index 2069c06..c16e58d 100644
--- a/src/main/java/org/apache/sysml/parser/BooleanExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BooleanExpression.java
@@ -75,6 +75,7 @@ public class BooleanExpression extends Expression
 		return _right;
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		BooleanExpression newExpr = new BooleanExpression(this._opcode, this);
 		newExpr.setLeft(_left.rewriteExpression(prefix));
@@ -122,6 +123,7 @@ public class BooleanExpression extends Expression
 		}
 	}
 
+	@Override
 	public String toString(){
 		if (_opcode == BooleanOp.NOT) {
 			return "(" + _opcode.toString() + " " + _left.toString() + ")";

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/BooleanIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/BooleanIdentifier.java b/src/main/java/org/apache/sysml/parser/BooleanIdentifier.java
index 6ca2b9f..60836cd 100644
--- a/src/main/java/org/apache/sysml/parser/BooleanIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/BooleanIdentifier.java
@@ -52,6 +52,7 @@ public class BooleanIdentifier extends ConstIdentifier
 		setValueType(ValueType.BOOLEAN);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		return this;
 	}
@@ -60,6 +61,7 @@ public class BooleanIdentifier extends ConstIdentifier
 		return _val;
 	}
 	
+	@Override
 	public String toString(){
 		return Boolean.toString(_val);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 d63cf7b..9a8129c 100644
--- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
@@ -61,6 +61,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		setCtxValuesAndFilename(ctx, fname);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		Expression[] newArgs = new Expression[_args.length];
 		for (int i = 0; i < _args.length; i++) {
@@ -1375,6 +1376,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		}
 	}
 
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder(_opcode.toString() + "(");
 		if (_args != null) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/ConditionalPredicate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ConditionalPredicate.java b/src/main/java/org/apache/sysml/parser/ConditionalPredicate.java
index 2a11175..a54012c 100644
--- a/src/main/java/org/apache/sysml/parser/ConditionalPredicate.java
+++ b/src/main/java/org/apache/sysml/parser/ConditionalPredicate.java
@@ -34,6 +34,7 @@ public class ConditionalPredicate implements ParseInfo
 		_expr = expr;
 	}
 	
+	@Override
 	public String toString(){
 		return _expr.toString();
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/DMLProgram.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DMLProgram.java b/src/main/java/org/apache/sysml/parser/DMLProgram.java
index 43be802..6fa5b98 100644
--- a/src/main/java/org/apache/sysml/parser/DMLProgram.java
+++ b/src/main/java/org/apache/sysml/parser/DMLProgram.java
@@ -131,6 +131,7 @@ public class DMLProgram
 		_blocks = StatementBlock.mergeStatementBlocks(_blocks);
 	}
 	
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/DataExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DataExpression.java b/src/main/java/org/apache/sysml/parser/DataExpression.java
index a24bc53..4d14b66 100644
--- a/src/main/java/org/apache/sysml/parser/DataExpression.java
+++ b/src/main/java/org/apache/sysml/parser/DataExpression.java
@@ -380,6 +380,7 @@ public class DataExpression extends DataIdentifier
 		setCtxValuesAndFilename(ctx, filename);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		
 		HashMap<String,Expression> newVarParams = new HashMap<>();
@@ -1668,6 +1669,7 @@ public class DataExpression extends DataIdentifier
 			
 	}
 	
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
 		sb.append(_opcode.toString());

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/DataIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DataIdentifier.java b/src/main/java/org/apache/sysml/parser/DataIdentifier.java
index 5523cec..1873549 100644
--- a/src/main/java/org/apache/sysml/parser/DataIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/DataIdentifier.java
@@ -34,6 +34,7 @@ public class DataIdentifier extends Identifier
 		setParseInfo(passed);
 	}
 	
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		DataIdentifier newId = new DataIdentifier(this);
 		String newIdName = prefix + _name;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/DoubleIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DoubleIdentifier.java b/src/main/java/org/apache/sysml/parser/DoubleIdentifier.java
index b6c60fb..9e620a8 100644
--- a/src/main/java/org/apache/sysml/parser/DoubleIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/DoubleIdentifier.java
@@ -61,6 +61,7 @@ public class DoubleIdentifier extends ConstIdentifier
 		setValueType(ValueType.DOUBLE);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		return this;
 	}
@@ -78,6 +79,7 @@ public class DoubleIdentifier extends ConstIdentifier
 		_val = v;
 	}
 	
+	@Override
 	public String toString(){
 		return Double.toString(_val);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/ForStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ForStatement.java b/src/main/java/org/apache/sysml/parser/ForStatement.java
index f1404e1..7309739 100644
--- a/src/main/java/org/apache/sysml/parser/ForStatement.java
+++ b/src/main/java/org/apache/sysml/parser/ForStatement.java
@@ -28,6 +28,7 @@ public class ForStatement extends Statement
 	protected IterablePredicate _predicate;
 	protected ArrayList<StatementBlock> _body;
 	
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should not call rewriteStatement for ForStatement");
 		throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for ForStatement");
@@ -69,6 +70,7 @@ public class ForStatement extends Statement
 		_body = StatementBlock.mergeStatementBlocks(_body);
 	}
 	
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		sb.append("for ");
@@ -81,11 +83,13 @@ public class ForStatement extends Statement
 		return sb.toString();
 	}
 
+	@Override
 	public void initializeforwardLV(VariableSet activeIn) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for ForStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for ForStatement");
 	}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for ForStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for ForStatement");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 07a51db..856e151 100644
--- a/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/ForStatementBlock.java
@@ -182,6 +182,7 @@ public class ForStatementBlock extends StatementBlock
 		return ids;
 	}
 	
+	@Override
 	public VariableSet initializeforwardLV(VariableSet activeInPassed) throws LanguageException {
 		
 		ForStatement fstmt = (ForStatement)_statements.get(0);
@@ -245,6 +246,7 @@ public class ForStatementBlock extends StatementBlock
 		return _liveOut;
 	}
 
+	@Override
 	public VariableSet initializebackwardLV(VariableSet loPassed) throws LanguageException{
 		
 		ForStatement fstmt = (ForStatement)_statements.get(0);
@@ -264,13 +266,12 @@ public class ForStatementBlock extends StatementBlock
 	
 	}
 
+	@Override
 	public ArrayList<Hop> get_hops() throws HopsException {
-		
 		if (_hops != null && !_hops.isEmpty()){
 			LOG.error(this.printBlockErrorLocation() + "there should be no HOPs associated with the ForStatementBlock");
 			throw new HopsException(this.printBlockErrorLocation() + "there should be no HOPs associated with the ForStatementBlock");
 		}
-		
 		return _hops;
 	}
 
@@ -292,8 +293,7 @@ public class ForStatementBlock extends StatementBlock
 	public Lop getToLops()        { return _toLops; }
 	public Lop getIncrementLops() { return _incrementLops; }
 
-	
-	
+	@Override
 	public VariableSet analyze(VariableSet loPassed) throws LanguageException{
  		
 		VariableSet predVars = new VariableSet();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java b/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
index 091d8cb..420e5a6 100644
--- a/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
@@ -52,20 +52,17 @@ public class FunctionCallIdentifier extends DataIdentifier
 		return _paramExprs;
 	}
 	
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
-			
 		ArrayList<ParameterExpression> newParameterExpressions = new ArrayList<>();
 		for (ParameterExpression paramExpr : _paramExprs)
 			newParameterExpressions.add(new ParameterExpression(paramExpr.getName(), paramExpr.getExpr().rewriteExpression(prefix)));
-		
 		// rewrite each output expression
 		FunctionCallIdentifier fci = new FunctionCallIdentifier(newParameterExpressions);
 		fci.setParseInfo(this);
-			
 		fci._name = this._name;
 		fci._namespace = this._namespace;
-		fci._opcode = this._opcode;	 
-		
+		fci._opcode = this._opcode;
 		return fci;
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/FunctionStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/FunctionStatement.java b/src/main/java/org/apache/sysml/parser/FunctionStatement.java
index fdddc92..3d7960a 100644
--- a/src/main/java/org/apache/sysml/parser/FunctionStatement.java
+++ b/src/main/java/org/apache/sysml/parser/FunctionStatement.java
@@ -30,6 +30,7 @@ public class FunctionStatement extends Statement
 	protected ArrayList <DataIdentifier> _inputParams;
 	protected ArrayList <DataIdentifier> _outputParams;
 	
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should not call rewriteStatement for FunctionStatement");
 		throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for FunctionStatement");
@@ -84,6 +85,7 @@ public class FunctionStatement extends Statement
 		_body = StatementBlock.mergeStatementBlocks(_body);
 	}
 	
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		sb.append(_name + " = ");
@@ -110,15 +112,16 @@ public class FunctionStatement extends Statement
 		return sb.toString();
 	}
 
+	@Override
 	public void initializeforwardLV(VariableSet activeIn) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for FunctionStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for FunctionStatement");
 	}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for FunctionStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for FunctionStatement");
-		
 	}
 	
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/FunctionStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/FunctionStatementBlock.java b/src/main/java/org/apache/sysml/parser/FunctionStatementBlock.java
index 833ecfa..0f91d00 100644
--- a/src/main/java/org/apache/sysml/parser/FunctionStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/FunctionStatementBlock.java
@@ -202,14 +202,13 @@ public class FunctionStatementBlock extends StatementBlock
 		return ret;
 	}
 	
+	@Override
 	public VariableSet initializeforwardLV(VariableSet activeInPassed) throws LanguageException {
-		
 		FunctionStatement fstmt = (FunctionStatement)_statements.get(0);
 		if (_statements.size() > 1){
 			LOG.error(this.printBlockErrorLocation() + "FunctionStatementBlock should have only 1 statement (while statement)");
 			throw new LanguageException(this.printBlockErrorLocation() + "FunctionStatementBlock should have only 1 statement (while statement)");
 		}
-		
 		_read = new VariableSet();
 		_gen = new VariableSet();
 				
@@ -247,6 +246,7 @@ public class FunctionStatementBlock extends StatementBlock
 		return _liveOut;
 	}
 
+	@Override
 	public VariableSet initializebackwardLV(VariableSet loPassed) throws LanguageException{
 		
 		FunctionStatement wstmt = (FunctionStatement)_statements.get(0);
@@ -266,7 +266,7 @@ public class FunctionStatementBlock extends StatementBlock
 	
 	}
 	
-	
+	@Override
 	public ArrayList<Hop> get_hops() throws HopsException {
 		
 		if (_hops != null && _hops.size() > 0){
@@ -277,13 +277,12 @@ public class FunctionStatementBlock extends StatementBlock
 		return _hops;
 	}
 	
-	
+	@Override
 	public VariableSet analyze(VariableSet loPassed) throws LanguageException{
 		LOG.error(this.printBlockErrorLocation() + "Both liveIn and liveOut variables need to be specified for liveness analysis for FunctionStatementBlock");
 		throw new LanguageException(this.printBlockErrorLocation() + "Both liveIn and liveOut variables need to be specified for liveness analysis for FunctionStatementBlock");	
 	}
 	
-	
 	public VariableSet analyze(VariableSet liPassed, VariableSet loPassed) throws LanguageException{
  		
 		VariableSet candidateLO = new VariableSet();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/IfStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IfStatement.java b/src/main/java/org/apache/sysml/parser/IfStatement.java
index cbb0c7b..1448e8a 100644
--- a/src/main/java/org/apache/sysml/parser/IfStatement.java
+++ b/src/main/java/org/apache/sysml/parser/IfStatement.java
@@ -29,6 +29,7 @@ public class IfStatement extends Statement
 	private ArrayList<StatementBlock> _ifBody;
 	private ArrayList<StatementBlock> _elseBody;
 	
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should not call rewriteStatement for IfStatement");
 		throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for IfStatement");
@@ -79,16 +80,16 @@ public class IfStatement extends Statement
 		return true;
 	}
 	
+	@Override
 	public void initializeforwardLV(VariableSet activeIn) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for IfStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for IfStatement");
-		
 	}
 
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for IfStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for IfStatement");
-		
 	}
 
 	public void mergeStatementBlocksIfBody(){
@@ -100,6 +101,7 @@ public class IfStatement extends Statement
 			_elseBody = StatementBlock.mergeStatementBlocks(_elseBody);
 	}
 
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		sb.append("if ( ");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java b/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
index 1b42e08..2a66857 100644
--- a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
@@ -455,13 +455,12 @@ public class IfStatementBlock extends StatementBlock
 		_predicateHops = hops;
 	}
 	
+	@Override
 	public ArrayList<Hop> get_hops() throws HopsException{
-	
 		if (_hops != null && _hops.size() > 0){
 			LOG.error(this.printBlockErrorLocation() + "error there should be no HOPs in IfStatementBlock");
 			throw new HopsException(this.printBlockErrorLocation() + "error there should be no HOPs in IfStatementBlock");
 		}
-			
 		return _hops;
 	}
 	
@@ -477,6 +476,7 @@ public class IfStatementBlock extends StatementBlock
 		_predicateLops = predicateLops;
 	}
 
+	@Override
 	public VariableSet analyze(VariableSet loPassed) throws LanguageException{
 	 	
 		VariableSet predVars = ((IfStatement)_statements.get(0)).getConditionalPredicate().variablesRead();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/ImportStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ImportStatement.java b/src/main/java/org/apache/sysml/parser/ImportStatement.java
index 7947d0e..6b892d1 100644
--- a/src/main/java/org/apache/sysml/parser/ImportStatement.java
+++ b/src/main/java/org/apache/sysml/parser/ImportStatement.java
@@ -73,14 +73,17 @@ public class ImportStatement extends Statement
 		_completePath = filePath;
 	}
 	
-	
+
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "rewriting for inlining not supported for ImportStatement");
 		throw new LanguageException(this.printErrorLocation() + "rewriting for inlining not supported for ImportStatement");
 	}
-		
+	
+	@Override
 	public void initializeforwardLV(VariableSet activeIn){}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo){
 		return lo;
 	}
@@ -100,6 +103,7 @@ public class ImportStatement extends Statement
 		return false;
 	}
 
+	@Override
 	public String toString(){
 		 StringBuilder sb = new StringBuilder();
 		 sb.append(Statement.SOURCE + "(");
@@ -111,5 +115,4 @@ public class ImportStatement extends Statement
 		 sb.append(";");
 		 return sb.toString(); 
 	}
-	 
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java b/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
index cb870af..9c2b2d8 100644
--- a/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
@@ -527,11 +527,11 @@ public class IndexedIdentifier extends DataIdentifier
 	public long getOrigDim2() { return this._origDim2; }
 	
 	
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
-		
 		IndexedIdentifier newIndexedIdentifier = new IndexedIdentifier(this.getName(), this._rowLowerEqualsUpper, this._colLowerEqualsUpper);
 		newIndexedIdentifier.setParseInfo(this);
-			
+		
 		// set dimensionality information and other Identifier specific properties for new IndexedIdentifier
 		newIndexedIdentifier.setProperties(this);
 		newIndexedIdentifier.setOriginalDimensions(this._origDim1, this._origDim2);
@@ -675,6 +675,7 @@ public class IndexedIdentifier extends DataIdentifier
 		return result;
 	}
 	
+	@Override
 	public void setProperties(Identifier i){
 		_dataType = i.getDataType();
 		_valueType = i.getValueType();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/IntIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IntIdentifier.java b/src/main/java/org/apache/sysml/parser/IntIdentifier.java
index d07fbef..1e384bc 100644
--- a/src/main/java/org/apache/sysml/parser/IntIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/IntIdentifier.java
@@ -23,9 +23,9 @@ import org.antlr.v4.runtime.ParserRuleContext;
 
 public class IntIdentifier extends ConstIdentifier 
 {
-	
 	private long _val;
 	
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException{
 		return this;
 	}
@@ -71,6 +71,7 @@ public class IntIdentifier extends ConstIdentifier
 		return _val;
 	}
 	
+	@Override
 	public String toString(){
 		return Long.toString(_val);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/IterablePredicate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IterablePredicate.java b/src/main/java/org/apache/sysml/parser/IterablePredicate.java
index 68274f5..ea49073 100644
--- a/src/main/java/org/apache/sysml/parser/IterablePredicate.java
+++ b/src/main/java/org/apache/sysml/parser/IterablePredicate.java
@@ -43,6 +43,7 @@ public class IterablePredicate extends Expression
 		setCtxValuesAndFilename(ctx, filename);
 	}
 	
+	@Override
 	public VariableSet variablesRead() {
 		VariableSet result = new VariableSet();
 		result.addVariables(_fromExpr.variablesRead());
@@ -52,6 +53,7 @@ public class IterablePredicate extends Expression
 		return result;
 	}
 	
+	@Override
 	public VariableSet variablesUpdated() {
 		VariableSet result = new VariableSet();
 		result.addVariable(_iterVar.getName(), _iterVar);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java b/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
index 3db1e56..4010a65 100644
--- a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
+++ b/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
@@ -30,8 +30,9 @@ public class MultiAssignmentStatement extends Statement
 {
 	private ArrayList<DataIdentifier> _targetList;
 	private Expression _source;
-		
+	
 	// rewrites statement to support function inlining (creates deep copy) 
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 				
 		ArrayList<DataIdentifier> newTargetList = new ArrayList<>();
@@ -75,17 +76,17 @@ public class MultiAssignmentStatement extends Statement
 		return true;
 	}
 	
-	public void initializeforwardLV(VariableSet activeIn){}
-	public VariableSet initializebackwardLV(VariableSet lo){
-		return lo;
-	}
+	@Override
+	public void initializeforwardLV(VariableSet activeIn) { }
 	
+	@Override
+	public VariableSet initializebackwardLV(VariableSet lo) { return lo; }
+	
+	@Override
 	public VariableSet variablesRead() {
 		VariableSet result = new VariableSet();
-		
 		// add variables read by source expression
 		result.addVariables(_source.variablesRead());
-		
 		// for any IndexedIdentifier on LHS, add variables for indexing expressions
 		for (int i=0; i<_targetList.size(); i++){
 			if (_targetList.get(i) instanceof IndexedIdentifier) {
@@ -93,10 +94,10 @@ public class MultiAssignmentStatement extends Statement
 				result.addVariables(target.variablesRead());
 			}
 		}
-			
 		return result;
 	}
 	
+	@Override
 	public  VariableSet variablesUpdated() {
 	
 		VariableSet result =  new VariableSet();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/OutputStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/OutputStatement.java b/src/main/java/org/apache/sysml/parser/OutputStatement.java
index a636519..9105dd0 100644
--- a/src/main/java/org/apache/sysml/parser/OutputStatement.java
+++ b/src/main/java/org/apache/sysml/parser/OutputStatement.java
@@ -81,6 +81,7 @@ public class OutputStatement extends Statement
 	}
 	
 	// rewrites statement to support function inlining (create deep copy)
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 
 		OutputStatement newStatement = new OutputStatement(null, Expression.DataOp.WRITE, this);
@@ -107,11 +108,12 @@ public class OutputStatement extends Statement
 		return _paramsExpr.getVarParam(key);
 	}
 	
+	@Override
 	public void initializeforwardLV(VariableSet activeIn){}
-	public VariableSet initializebackwardLV(VariableSet lo){
-		return lo;
-	}
+	@Override
+	public VariableSet initializebackwardLV(VariableSet lo){return lo;}
 
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
 		sb.append(Statement.OUTPUTSTATEMENT + "(");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java b/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
index 3286049..ad95552 100644
--- a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
@@ -140,6 +140,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 		setParseInfo(parseInfo);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		HashMap<String,Expression> newVarParams = new HashMap<>();
 		for (String key : _varParams.keySet()){
@@ -737,6 +738,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 					+ "It is of type '"+data.getOutput().getDataType().toString()+"', '"+data.getOutput().getValueType().toString()+"'.", conditional, LanguageErrorCodes.INVALID_PARAMETERS);		
 	}
 
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder(_opcode.toString() + "(");
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/PathStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/PathStatement.java b/src/main/java/org/apache/sysml/parser/PathStatement.java
index 85416d1..6fe61af 100644
--- a/src/main/java/org/apache/sysml/parser/PathStatement.java
+++ b/src/main/java/org/apache/sysml/parser/PathStatement.java
@@ -23,7 +23,6 @@ package org.apache.sysml.parser;
  
 public class PathStatement extends Statement
 {
-		
 	// Set of file system paths to packages
 	private String _pathValue;
 	
@@ -35,12 +34,15 @@ public class PathStatement extends Statement
 		return _pathValue;
 	}
 	
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
-		return this;	
+		return this;
 	}
-		
+	
+	@Override
 	public void initializeforwardLV(VariableSet activeIn){}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo){
 		return lo;
 	}
@@ -60,13 +62,13 @@ public class PathStatement extends Statement
 		return false;
 	}
 
+	@Override
 	public String toString(){
 		 StringBuilder sb = new StringBuilder();
 		 sb.append(Statement.SETWD + "(");
 		 sb.append(_pathValue);
 		 sb.append(")");
 		 sb.append(";");
-		 return sb.toString(); 
+		 return sb.toString();
 	}
-	 
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/PrintStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/PrintStatement.java b/src/main/java/org/apache/sysml/parser/PrintStatement.java
index 27a5f0a..e964595 100644
--- a/src/main/java/org/apache/sysml/parser/PrintStatement.java
+++ b/src/main/java/org/apache/sysml/parser/PrintStatement.java
@@ -81,6 +81,7 @@ public class PrintStatement extends Statement
 		}
 	}
 
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		List<Expression> newExpressions = new ArrayList<>();
 		for (Expression oldExpression : expressions) {
@@ -92,12 +93,15 @@ public class PrintStatement extends Statement
 		return retVal;
 	}
 	
+	@Override
 	public void initializeforwardLV(VariableSet activeIn){}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo){
 		return lo;
 	}
 	
+	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
 		sb.append(_type + "(");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/RelationalExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/RelationalExpression.java b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
index 8a82b1e..91e9da3 100644
--- a/src/main/java/org/apache/sysml/parser/RelationalExpression.java
+++ b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
@@ -45,6 +45,7 @@ public class RelationalExpression extends Expression
 		setParseInfo(parseInfo);
 	}
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		RelationalExpression newExpr = new RelationalExpression(this._opcode, this);
 		newExpr.setLeft(_left.rewriteExpression(prefix));
@@ -188,6 +189,7 @@ public class RelationalExpression extends Expression
 		}
 	}
 
+	@Override
 	public String toString(){
 		String leftString;
 		String rightString;
@@ -220,5 +222,4 @@ public class RelationalExpression extends Expression
 		result.addVariables(_right.variablesUpdated());
 		return result;
 	}
-	
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/StatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/StatementBlock.java b/src/main/java/org/apache/sysml/parser/StatementBlock.java
index 71c1894..4a24675 100644
--- a/src/main/java/org/apache/sysml/parser/StatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/StatementBlock.java
@@ -349,6 +349,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 		return result;
 	}
 
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		sb.append("statements\n");
@@ -926,10 +927,9 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 		return _constVarsOut;
 	}
 
-
+	@Override
 	public VariableSet analyze(VariableSet loPassed)
-		throws LanguageException{
-
+		throws LanguageException {
 		VariableSet candidateLO = new VariableSet();
 		candidateLO.addVariables(loPassed);
 		//candidateLO.addVariables(_gen);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/StringIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/StringIdentifier.java b/src/main/java/org/apache/sysml/parser/StringIdentifier.java
index ed0c1d6..aaaade2 100644
--- a/src/main/java/org/apache/sysml/parser/StringIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/StringIdentifier.java
@@ -23,9 +23,9 @@ import org.antlr.v4.runtime.ParserRuleContext;
 
 public class StringIdentifier extends ConstIdentifier 
 {
-	
 	private String _val;
 
+	@Override
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		return this;
 	}
@@ -53,6 +53,7 @@ public class StringIdentifier extends ConstIdentifier
 		return _val;
 	}
 	
+	@Override
 	public String toString(){
 		return _val;
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/VariableSet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/VariableSet.java b/src/main/java/org/apache/sysml/parser/VariableSet.java
index 29c4ae3..eb5dc92 100644
--- a/src/main/java/org/apache/sysml/parser/VariableSet.java
+++ b/src/main/java/org/apache/sysml/parser/VariableSet.java
@@ -73,6 +73,7 @@ public class VariableSet
 		return _variables;
 	}
 	
+	@Override
 	public String toString() {
 		return Arrays.toString(
 			_variables.keySet().toArray());


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/data/FullReblockTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/data/FullReblockTest.java b/src/test/java/org/apache/sysml/test/integration/functions/data/FullReblockTest.java
index ae37819..5533022 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/data/FullReblockTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/data/FullReblockTest.java
@@ -489,22 +489,12 @@ public class FullReblockTest extends AutomatedTestBase
 			rtplatform = platformOld;
 			DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
 			
-		    if( !success )
+			if( !success )
 				LOG.error("FullReblockTest failed with seed="+seed1+", seed2="+seed2);
 		}
 	}
 	
-	/**
-	 * 
-	 * @param ii
-	 * @param rows
-	 * @param cols
-	 * @param brows
-	 * @param bcols
-	 * @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);
@@ -512,19 +502,7 @@ public class FullReblockTest extends AutomatedTestBase
 		return C;
 	}
 	
-	/**
-	 * 
-	 * @param A
-	 * @param dir
-	 * @param oi
-	 * @param rows
-	 * @param cols
-	 * @param brows
-	 * @param bcols
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private void writeMatrix( double[][] A, String fname, OutputInfo oi, long rows, long cols, int brows, int bcols ) 
+	private static void writeMatrix( double[][] A, String fname, OutputInfo oi, long rows, long cols, int brows, int bcols ) 
 		throws DMLRuntimeException, IOException
 	{
 		MatrixCharacteristics mc = new MatrixCharacteristics(rows, cols, brows, bcols);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/external/DynProjectTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/external/DynProjectTest.java b/src/test/java/org/apache/sysml/test/integration/functions/external/DynProjectTest.java
index 283e095..8b434c7 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/external/DynProjectTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/external/DynProjectTest.java
@@ -99,11 +99,11 @@ public class DynProjectTest extends AutomatedTestBase
 		rCmd = getRCmd(inputDir(), expectedDir());
 		
 		long seed = System.nanoTime();
-        double[][] X = getRandomMatrix(rows, cols, 0, 1, sparsity, seed);
-        double[][] c = round(getRandomMatrix(1, size, 1-0.49, rows+0.49, 1, seed));
-        
-        writeInputMatrix("X", X, true);
-        writeInputMatrix("c", c, true);
+		double[][] X = getRandomMatrix(rows, cols, 0, 1, sparsity, seed);
+		double[][] c = TestUtils.round(getRandomMatrix(1, size, 1-0.49, rows+0.49, 1, seed));
+		
+		writeInputMatrix("X", X, true);
+		writeInputMatrix("c", c, true);
 		
 		runTest(true, false, null, -1);
 		runRScript(true);
@@ -113,17 +113,4 @@ public class DynProjectTest extends AutomatedTestBase
 		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Y.mtx");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 	}
-	
-	/**
-	 * 
-	 * @param data
-	 * @return
-	 */
-	private double[][] round(double[][] data) 
-	{
-		for(int i=0; i<data.length; i++)
-			for(int j=0; j<data[i].length; j++)
-				data[i][j]=Math.round(data[i][j]);
-		return data;
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameAppendDistTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameAppendDistTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameAppendDistTest.java
index ccb91f4..2294b1f 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameAppendDistTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameAppendDistTest.java
@@ -211,7 +211,7 @@ public class FrameAppendDistTest extends AutomatedTestBase
 		return schemaMixedLarge;
 	}
 	
-	private void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
+	private static void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
 		for ( int i=0; i<frame1.getNumRows(); i++ )
 			for( int j=0; j<frame1.getNumColumns(); j++ )	{
 				Object val1 = UtilFunctions.stringToObject(schema[j], UtilFunctions.objectToString(frame1.get(i, j)));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameConverterTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameConverterTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameConverterTest.java
index ad309aa..3cd14c7 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameConverterTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameConverterTest.java
@@ -386,13 +386,7 @@ public class FrameConverterTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param frame
-	 * @param data
-	 * @param lschema
-	 */
-	private void initFrameData(FrameBlock frame, double[][] data, ValueType[] lschema) {
+	private static void initFrameData(FrameBlock frame, double[][] data, ValueType[] lschema) {
 		Object[] row1 = new Object[lschema.length];
 		for( int i=0; i<rows; i++ ) {
 			for( int j=0; j<lschema.length; j++ )
@@ -401,30 +395,19 @@ public class FrameConverterTest extends AutomatedTestBase
 			frame.appendRow(row1);
 		}
 	}
-
-	/**
-	 * 
-	 * @param frame1
-	 * @param frame2
-	 */
-	private void verifyFrameData(FrameBlock frame1, FrameBlock frame2) {
+	
+	private static void verifyFrameData(FrameBlock frame1, FrameBlock frame2) {
 		for ( int i=0; i<frame1.getNumRows(); i++ )
 			for( int j=0; j<frame1.getNumColumns(); j++ )	{
 				String val1 = UtilFunctions.objectToString(frame1.get(i, j));
-				String val2 = UtilFunctions.objectToString(frame2.get(i, j));				
+				String val2 = UtilFunctions.objectToString(frame2.get(i, j));
 				if( UtilFunctions.compareTo(ValueType.STRING, val1, val2) != 0)
 					Assert.fail("The original data for cell ("+ i + "," + j + ") is " + val1 + 
 							", not same as the converted value " + val2);
 			}
 	}
-
-
-	/**
-	 * 
-	 * @param frame1
-	 * @param frame2
-	 */
-	private void verifyFrameMatrixData(FrameBlock frame, MatrixBlock matrix) {
+	
+	private static void verifyFrameMatrixData(FrameBlock frame, MatrixBlock matrix) {
 		for ( int i=0; i<frame.getNumRows(); i++ )
 			for( int j=0; j<frame.getNumColumns(); j++ )	{
 				Object val1 = UtilFunctions.doubleToObject(frame.getSchema()[j],
@@ -448,11 +431,11 @@ public class FrameConverterTest extends AutomatedTestBase
 	 */
 
 	@SuppressWarnings("unchecked")
-	private void runConverter(ConvType type, MatrixCharacteristics mc, MatrixCharacteristics mcMatrix, 
+	private static void runConverter(ConvType type, MatrixCharacteristics mc, MatrixCharacteristics mcMatrix, 
 			List<ValueType> schema, String fnameIn, String fnameOut)
 		throws DMLRuntimeException, IOException
 	{
-		SparkExecutionContext sec = (SparkExecutionContext) ExecutionContextFactory.createContext();		
+		SparkExecutionContext sec = (SparkExecutionContext) ExecutionContextFactory.createContext();
 		JavaSparkContext sc = sec.getSparkContext();
 		ValueType[] lschema = schema.toArray(new ValueType[0]);
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameIndexingDistTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameIndexingDistTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameIndexingDistTest.java
index 1d435c4..fc37042 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameIndexingDistTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameIndexingDistTest.java
@@ -265,7 +265,7 @@ public class FrameIndexingDistTest extends AutomatedTestBase
 		}
 	}
 	
-	private void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
+	private static void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
 		for ( int i=0; i<frame1.getNumRows(); i++ )
 			for( int j=0; j<frame1.getNumColumns(); j++ )	{
 				Object val1 = UtilFunctions.stringToObject(schema[j], UtilFunctions.objectToString(frame1.get(i, j)));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixCastingTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixCastingTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixCastingTest.java
index fba037d..05f9136 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixCastingTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixCastingTest.java
@@ -184,18 +184,7 @@ public class FrameMatrixCastingTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param fname
-	 * @param A
-	 * @param rows
-	 * @param cols
-	 * @param dt
-	 * @param vt
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private void writeMatrixOrFrameInput(String fname, double[][] A, int rows, int cols, DataType dt, ValueType vt) 
+	private static void writeMatrixOrFrameInput(String fname, double[][] A, int rows, int cols, DataType dt, ValueType vt) 
 		throws DMLRuntimeException, IOException 
 	{
 		int blksize = ConfigurationManager.getBlocksize();
@@ -218,17 +207,7 @@ public class FrameMatrixCastingTest extends AutomatedTestBase
 	
 	}
 	
-	/**
-	 * 
-	 * @param fname
-	 * @param rows
-	 * @param cols
-	 * @param dt
-	 * @return
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private double[][] readMatrixOrFrameInput(String fname, int rows, int cols, DataType dt) 
+	private static double[][] readMatrixOrFrameInput(String fname, int rows, int cols, DataType dt) 
 		throws DMLRuntimeException, IOException 
 	{
 		MatrixBlock ret = null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixReblockTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixReblockTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixReblockTest.java
index c629eee..e11aeb9 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixReblockTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixReblockTest.java
@@ -179,13 +179,6 @@ public class FrameMatrixReblockTest extends AutomatedTestBase
 		runFrameReblockTest(TEST_NAME1, true, true, "csv", ExecType.SPARK);
 	}
 	
-	/**
-	 * 
-	 * @param testname
-	 * @param multColBlks
-	 * @param ofmt
-	 * @param et
-	 */
 	private void runFrameReblockTest( String testname, boolean multColBlks, boolean sparse, String ofmt, ExecType et)
 	{
 		//rtplatform for MR
@@ -233,17 +226,7 @@ public class FrameMatrixReblockTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param fname
-	 * @param ofmt
-	 * @param frame
-	 * @param rows
-	 * @param cols
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private void writeFrameInput(String fname, String ofmt, double[][] frame, int rows, int cols) 
+	private static void writeFrameInput(String fname, String ofmt, double[][] frame, int rows, int cols) 
 		throws DMLRuntimeException, IOException 
 	{
 		MatrixBlock mb = DataConverter.convertToMatrixBlock(frame);
@@ -255,17 +238,7 @@ public class FrameMatrixReblockTest extends AutomatedTestBase
 		writer.writeFrameToHDFS(fb, fname, rows, cols);
 	}
 	
-	/**
-	 * 
-	 * @param fname
-	 * @param rows
-	 * @param cols
-	 * @param ofmt
-	 * @return
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private double[][] readMatrixOutput(String fname, String ofmt, int rows, int cols) 
+	private static double[][] readMatrixOutput(String fname, String ofmt, int rows, int cols) 
 		throws DMLRuntimeException, IOException 
 	{
 		MatrixReader reader = MatrixReaderFactory.createMatrixReader(InputInfo.stringExternalToInputInfo(ofmt));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixWriteTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixWriteTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixWriteTest.java
index 7e28640..aaac262 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixWriteTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameMatrixWriteTest.java
@@ -170,17 +170,7 @@ public class FrameMatrixWriteTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param fname
-	 * @param ofmt
-	 * @param rows
-	 * @param cols
-	 * @return
-	 * @throws DMLRuntimeException
-	 * @throws IOException
-	 */
-	private double[][] readFrameInput(String fname, String ofmt, int rows, int cols) 
+	private static double[][] readFrameInput(String fname, String ofmt, int rows, int cols) 
 		throws DMLRuntimeException, IOException 
 	{
 		//read input data

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameSchemaReadTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameSchemaReadTest.java b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameSchemaReadTest.java
index 1bf215a..bd9f138 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameSchemaReadTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/frame/FrameSchemaReadTest.java
@@ -155,13 +155,7 @@ public class FrameSchemaReadTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param frame
-	 * @param data
-	 * @param lschema
-	 */
-	private void initFrameData(FrameBlock frame, double[][] data, ValueType[] lschema) {
+	private static void initFrameData(FrameBlock frame, double[][] data, ValueType[] lschema) {
 		Object[] row1 = new Object[lschema.length];
 		for( int i=0; i<rows; i++ ) {
 			for( int j=0; j<lschema.length; j++ )
@@ -171,13 +165,7 @@ public class FrameSchemaReadTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param lschema
-	 * @param wildcard
-	 * @return
-	 */
-	private String getSchemaString( ValueType[] lschema, boolean wildcard ) {
+	private static String getSchemaString( ValueType[] lschema, boolean wildcard ) {
 		if( wildcard )
 			return "*";		
 		StringBuilder ret = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/io/SeqParReadTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/io/SeqParReadTest.java b/src/test/java/org/apache/sysml/test/integration/functions/io/SeqParReadTest.java
index d26779c..c6dc9b8 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/io/SeqParReadTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/io/SeqParReadTest.java
@@ -254,24 +254,10 @@ public class SeqParReadTest extends AutomatedTestBase {
 		}
 	}
 	
-	
-	/**
-	 * 
-	 * @param A
-	 * @param dir
-	 * @param oi
-	 * @param rows
-	 * @param cols
-	 * @param brows
-	 * @param bcols
-	 * @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.deleteFileWithMTDIfExistOnHDFS(fname);
-		
 		MatrixCharacteristics mc = new MatrixCharacteristics(rows, cols, brows, bcols, nnz);
 		MatrixBlock mb = DataConverter.convertToMatrixBlock(A);
 		DataConverter.writeMatrixToHDFS(mb, fname, oi, mc);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 1209f70..418769c 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
@@ -97,7 +97,7 @@ public class FrameCastingTest extends AutomatedTestBase
 					Assert.assertEquals("Wrong result: "+data[i][j]+".", new Double(data[i][j]), new Double(cF1[i][j]));
 	}
 
-	private ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, boolean modelReuse) 
+	private static ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -106,7 +106,7 @@ public class FrameCastingTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameDecodeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameDecodeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameDecodeTest.java
index 59ac69d..ea0c8d5 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameDecodeTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameDecodeTest.java
@@ -97,7 +97,7 @@ public class FrameDecodeTest extends AutomatedTestBase
 					Assert.assertEquals("Wrong result: "+data[i][j]+".", data[i][j], F1s[i][j]);
 	}
 
-	private ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
+	private static ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -106,7 +106,7 @@ public class FrameDecodeTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameEncodeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameEncodeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameEncodeTest.java
index 7309763..b2c8bb7 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameEncodeTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameEncodeTest.java
@@ -96,7 +96,7 @@ public class FrameEncodeTest extends AutomatedTestBase
 					Assert.assertEquals("Wrong result: "+data[i][j]+".", data[i][j], F1s[i][j]);
 	}
 
-	private ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, boolean modelReuse) 
+	private static ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -105,7 +105,7 @@ public class FrameEncodeTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameIndexingAppendTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameIndexingAppendTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameIndexingAppendTest.java
index 1e62af9..19afe29 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameIndexingAppendTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameIndexingAppendTest.java
@@ -97,7 +97,7 @@ public class FrameIndexingAppendTest extends AutomatedTestBase
 					Assert.assertEquals("Wrong result: "+data[i][j]+".", data[i][j], F1s[i][j]);
 	}
 
-	private ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
+	private static ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -106,7 +106,7 @@ public class FrameIndexingAppendTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameLeftIndexingTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameLeftIndexingTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameLeftIndexingTest.java
index 5b07e09..ca4b60c 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameLeftIndexingTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameLeftIndexingTest.java
@@ -97,7 +97,7 @@ public class FrameLeftIndexingTest extends AutomatedTestBase
 					Assert.assertEquals("Wrong result: "+data[i][j]+".", data[i][j], F1s[i][j]);
 	}
 
-	private ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
+	private static ArrayList<String[][]> execDMLScriptviaJMLC( String testname, String[][] F1, String[][] M, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -106,7 +106,7 @@ public class FrameLeftIndexingTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameTransformTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameTransformTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameTransformTest.java
index 89c4053..7fb6bfd 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameTransformTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/FrameTransformTest.java
@@ -98,7 +98,7 @@ public class FrameTransformTest extends AutomatedTestBase
 			Assert.assertEquals("Wrong result: "+data[0][0]+".", new Double(8), new Double(data[0][0]));
 	}
 
-	private ArrayList<double[][]> execDMLScriptviaJMLC( String testname, String[][] X, String[][] M, boolean modelReuse) 
+	private static ArrayList<double[][]> execDMLScriptviaJMLC( String testname, String[][] X, String[][] M, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -107,7 +107,7 @@ public class FrameTransformTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			//prepare input arguments

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/MulticlassSVMScoreTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/MulticlassSVMScoreTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/MulticlassSVMScoreTest.java
index b8ad575..5304688 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/MulticlassSVMScoreTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/MulticlassSVMScoreTest.java
@@ -117,7 +117,7 @@ public class MulticlassSVMScoreTest extends AutomatedTestBase
 		}
 	}
 
-	private ArrayList<double[][]> execDMLScriptviaJMLC( ArrayList<double[][]> X) 
+	private static ArrayList<double[][]> execDMLScriptviaJMLC( ArrayList<double[][]> X) 
 		throws IOException
 	{
 		Timing time = new Timing(true);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/ReuseModelVariablesTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/ReuseModelVariablesTest.java b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/ReuseModelVariablesTest.java
index 1a1d572..2ed066d 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/jmlc/ReuseModelVariablesTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/jmlc/ReuseModelVariablesTest.java
@@ -113,7 +113,7 @@ public class ReuseModelVariablesTest extends AutomatedTestBase
 		Assert.assertEquals(Xset.size(), Yset.size());
 	}
 
-	private ArrayList<double[][]> execDMLScriptviaJMLC( String testname, ArrayList<double[][]> X, boolean modelReuse) 
+	private static ArrayList<double[][]> execDMLScriptviaJMLC( String testname, ArrayList<double[][]> X, boolean modelReuse) 
 		throws IOException
 	{
 		Timing time = new Timing(true);
@@ -122,7 +122,7 @@ public class ReuseModelVariablesTest extends AutomatedTestBase
 		
 		//establish connection to SystemML
 		Connection conn = new Connection();
-				
+		
 		try
 		{
 			// For now, JMLC pipeline only allows dml

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorFrameConversionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorFrameConversionTest.java b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorFrameConversionTest.java
index 989c4bd..29bc8a3 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorFrameConversionTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorFrameConversionTest.java
@@ -291,7 +291,7 @@ public class DataFrameVectorFrameConversionTest extends AutomatedTestBase
 	}
 
 	@SuppressWarnings("resource")
-	private Dataset<Row> createDataFrame(SparkSession sparkSession, MatrixBlock mb, boolean containsID, ValueType[] schema) 
+	private static Dataset<Row> createDataFrame(SparkSession sparkSession, MatrixBlock mb, boolean containsID, ValueType[] schema) 
 		throws DMLRuntimeException
 	{
 		//create in-memory list of rows

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorScriptTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorScriptTest.java b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorScriptTest.java
index 55b8371..c17e0e2 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorScriptTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/DataFrameVectorScriptTest.java
@@ -280,7 +280,7 @@ public class DataFrameVectorScriptTest extends MLContextTestBase
 	}
 
 	@SuppressWarnings("resource")
-	private Dataset<Row> createDataFrame(SparkSession sparkSession, MatrixBlock mb, boolean containsID, ValueType[] schema)
+	private static Dataset<Row> createDataFrame(SparkSession sparkSession, MatrixBlock mb, boolean containsID, ValueType[] schema)
 		throws DMLRuntimeException
 	{
 		//create in-memory list of rows

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/FrameTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/FrameTest.java b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/FrameTest.java
index 382f433..60a285a 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/FrameTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/mlcontext/FrameTest.java
@@ -345,7 +345,7 @@ public class FrameTest extends MLContextTestBase
 		}
 	}
 	
-	private void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
+	private static void verifyFrameData(FrameBlock frame1, FrameBlock frame2, ValueType[] schema) {
 		for ( int i=0; i<frame1.getNumRows(); i++ )
 			for( int j=0; j<frame1.getNumColumns(); j++ )	{
 				Object val1 = UtilFunctions.stringToObject(schema[j], UtilFunctions.objectToString(frame1.get(i, j)));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForNaNResultMergeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForNaNResultMergeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForNaNResultMergeTest.java
index b469649..8d8c815 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForNaNResultMergeTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForNaNResultMergeTest.java
@@ -118,7 +118,7 @@ public class ParForNaNResultMergeTest extends AutomatedTestBase
 	 * 
 	 * @param ret
 	 */
-	private HashMap<CellIndex, Double> replaceNaNValues(HashMap<CellIndex, Double> in) 
+	private static HashMap<CellIndex, Double> replaceNaNValues(HashMap<CellIndex, Double> in) 
 	{
 		HashMap<CellIndex, Double> out = new HashMap<CellIndex, Double>();
 		double NaN = 0d/0d;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRulebasedOptimizerTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRulebasedOptimizerTest.java b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRulebasedOptimizerTest.java
index 343d846..194bcc8 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRulebasedOptimizerTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/parfor/ParForRulebasedOptimizerTest.java
@@ -313,15 +313,15 @@ public class ParForRulebasedOptimizerTest extends AutomatedTestBase
 		{
 			Dkind[i]=(i%3)+1;//kind 1,2,3
 			if( Dkind[i]!=1 )
-				round(D,i); //for ordinal and categorical vars
+				TestUtils.floor(D,i); //for ordinal and categorical vars
 		}
 		writeInputMatrix("D", D, true);
 		
 		//generate attribute sets		
-        double[][] S1 = getRandomMatrix(1, cols, 1, cols+1-eps, 1, 1112);
-        double[][] S2 = getRandomMatrix(1, cols, 1, cols+1-eps, 1, 1113);
-        round(S1);
-        round(S2);
+		double[][] S1 = getRandomMatrix(1, cols, 1, cols+1-eps, 1, 1112);
+		double[][] S2 = getRandomMatrix(1, cols, 1, cols+1-eps, 1, 1113);
+		TestUtils.floor(S1);
+		TestUtils.floor(S2);
 		writeInputMatrix("S1", S1, true);
 		writeInputMatrix("S2", S2, true);	
 
@@ -350,16 +350,4 @@ public class ParForRulebasedOptimizerTest extends AutomatedTestBase
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 	}
-	
-	private void round(double[][] data) {
-		for(int i=0; i<data.length; i++)
-			for(int j=0; j<data[i].length; j++)
-				data[i][j]=Math.floor(data[i][j]);
-	}
-	
-	private void round(double[][] data, int col) {
-		for(int i=0; i<data.length; i++)
-			data[i][col]=Math.floor(data[i][col]);
-	}
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/recompile/RandJobRecompileTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/recompile/RandJobRecompileTest.java b/src/test/java/org/apache/sysml/test/integration/functions/recompile/RandJobRecompileTest.java
index 3ac563d..1f20197 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/recompile/RandJobRecompileTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/recompile/RandJobRecompileTest.java
@@ -87,7 +87,7 @@ public class RandJobRecompileTest extends AutomatedTestBase
 
 			OptimizerUtils.ALLOW_WORSTCASE_SIZE_EXPRESSION_EVALUATION = estSizeEval;
 			
-			double[][] V = round( getRandomMatrix(rows, cols, min, max, 1.0d, 7) );
+			double[][] V = TestUtils.round( getRandomMatrix(rows, cols, min, max, 1.0d, 7) );
 			writeInputMatrix("X", V, true);
 			
 			runTest(true, false, null, -1); 
@@ -110,17 +110,4 @@ public class RandJobRecompileTest extends AutomatedTestBase
 			OptimizerUtils.ALLOW_WORSTCASE_SIZE_EXPRESSION_EVALUATION = oldFlagSizeEval;
 		}
 	}
-	
-	/**
-	 * 
-	 * @param data
-	 * @return
-	 */
-	private double[][] round( double[][] data )
-	{
-		for( int i=0; i<data.length; i++ )
-			for( int j=0; j<data[i].length; j++ )
-				data[i][j] = Math.round(data[i][j]);
-		return data;
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockGetFirstIndex.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockGetFirstIndex.java b/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockGetFirstIndex.java
index e2800eb..a105adc 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockGetFirstIndex.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockGetFirstIndex.java
@@ -250,15 +250,7 @@ public class SparseBlockGetFirstIndex extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param A
-	 * @param rix
-	 * @param cix
-	 * @param type
-	 * @return
-	 */
-	private int getFirstIx( double[][] A, int rix, int cix, IndexType type ) {
+	private static int getFirstIx( double[][] A, int rix, int cix, IndexType type ) {
 		if( type==IndexType.GT ) {
 			for( int j=cix+1; j<cols; j++ )
 				if( A[rix][j] != 0 )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockMemEstimate.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockMemEstimate.java b/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockMemEstimate.java
index 8d2fbd0..c68fb83 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockMemEstimate.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/sparse/SparseBlockMemEstimate.java
@@ -53,13 +53,8 @@ public class SparseBlockMemEstimate extends AutomatedTestBase
 	public void testSparseBlockUltraSparse()  {
 		runSparseBlockMemoryTest(sparsity2);
 	}
-		
-	/**
-	 * 
-	 * @param btype
-	 * @param sparsity
-	 */
-	private void runSparseBlockMemoryTest( double sparsity)
+	
+	private static void runSparseBlockMemoryTest( double sparsity)
 	{
 		double memMCSR = SparseBlockFactory.estimateSizeSparseInMemory(SparseBlock.Type.MCSR, rows, cols, sparsity);
 		double memCSR = SparseBlockFactory.estimateSizeSparseInMemory(SparseBlock.Type.CSR, rows, cols, sparsity);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableSequenceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableSequenceTest.java b/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableSequenceTest.java
index 97859ac..a147a8f 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableSequenceTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableSequenceTest.java
@@ -257,7 +257,7 @@ public class CTableSequenceTest extends AutomatedTestBase
 			rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 			
 			//generate actual dataset (always dense because values <=0 invalid)
-			double[][] A = floor(getRandomMatrix(rows, 1, 1, maxVal, 1.0, 7), rows, 1); 
+			double[][] A = TestUtils.floor(getRandomMatrix(rows, 1, 1, maxVal, 1.0, 7)); 
 			writeInputMatrix("A", A, true);
 	
 			runTest(true, false, null, -1); 
@@ -274,28 +274,11 @@ public class CTableSequenceTest extends AutomatedTestBase
 				int expectedNumCompiled = ((et==ExecType.CP) ? 2 :(rewrite ? 4 : 6))+(withAgg ? 1 : 0);
 				checkNumCompiledMRJobs(expectedNumCompiled);
 			}
-			
 		}
-		finally
-		{
+		finally {
 			rtplatform = platformOld;
 			DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
 			TernaryOp.ALLOW_CTABLE_SEQUENCE_REWRITES = rewriteOld;
 		}
 	}
-
-	/**
-	 * 
-	 * @param X
-	 * @param rows
-	 * @param cols
-	 * @return
-	 */
-	private double[][] floor( double[][] X, int rows, int cols )
-	{
-		for( int i=0; i<rows; i++ )
-			for( int j=0; j<cols; j++ )
-				X[i][j] = Math.floor(X[i][j]);
-		return X;
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/ternary/TableOutputTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/ternary/TableOutputTest.java b/src/test/java/org/apache/sysml/test/integration/functions/ternary/TableOutputTest.java
index 4dbe6b6..2c51ad8 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/ternary/TableOutputTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/ternary/TableOutputTest.java
@@ -30,6 +30,7 @@ import org.apache.sysml.lops.LopProperties.ExecType;
 import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
 import org.apache.sysml.test.integration.AutomatedTestBase;
 import org.apache.sysml.test.integration.TestConfiguration;
+import org.apache.sysml.test.utils.TestUtils;
 
 public class TableOutputTest extends AutomatedTestBase 
 {
@@ -145,9 +146,9 @@ public class TableOutputTest extends AutomatedTestBase
 			rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 			
 			//generate actual dataset (always dense because values <=0 invalid)
-			double[][] A = floor(getRandomMatrix(rows, 1, 1, maxVal1, 1.0, -1), rows, 1); 
+			double[][] A = TestUtils.floor(getRandomMatrix(rows, 1, 1, maxVal1, 1.0, -1)); 
 			writeInputMatrixWithMTD("A", A, true);
-			double[][] B = floor(getRandomMatrix(rows, 1, 1, maxVal2, 1.0, -1), rows, 1); 
+			double[][] B = TestUtils.floor(getRandomMatrix(rows, 1, 1, maxVal2, 1.0, -1)); 
 			writeInputMatrixWithMTD("B", B, true);
 			
 			runTest(true, false, null, -1); 
@@ -200,19 +201,4 @@ public class TableOutputTest extends AutomatedTestBase
 			DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
 		}
 	}
-
-	/**
-	 * 
-	 * @param X
-	 * @param rows
-	 * @param cols
-	 * @return
-	 */
-	private double[][] floor( double[][] X, int rows, int cols )
-	{
-		for( int i=0; i<rows; i++ )
-			for( int j=0; j<cols; j++ )
-				X[i][j] = Math.floor(X[i][j]);
-		return X;
-	}
 } 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/transform/TransformEncodeDecodeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/transform/TransformEncodeDecodeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/transform/TransformEncodeDecodeTest.java
index 9146183..c50e760 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/transform/TransformEncodeDecodeTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/transform/TransformEncodeDecodeTest.java
@@ -149,13 +149,7 @@ public class TransformEncodeDecodeTest extends AutomatedTestBase
 		}
 	}	
 	
-	/**
-	 * 
-	 * @param input
-	 * @param groupBy
-	 * @return
-	 */
-	private HashMap<String, Long> getCounts(FrameBlock input, int groupBy) {
+	private static HashMap<String, Long> getCounts(FrameBlock input, int groupBy) {
 		HashMap<String, Long> ret = new HashMap<String, Long>();
 		for( int i=0; i<input.getNumRows(); i++ ) {
 			String key = input.get(i, groupBy).toString();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/unary/matrix/ReplaceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/unary/matrix/ReplaceTest.java b/src/test/java/org/apache/sysml/test/integration/functions/unary/matrix/ReplaceTest.java
index 7861a8b..4dca2b0 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/unary/matrix/ReplaceTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/unary/matrix/ReplaceTest.java
@@ -352,11 +352,9 @@ public class ReplaceTest extends AutomatedTestBase
 		}
 	}
 	
-	private void replaceRandom( double[][] A, int rows, int cols, double replacement, int len )
-	{
+	private static void replaceRandom( double[][] A, int rows, int cols, double replacement, int len ) {
 		Random rand = new Random();
 		for( int i=0; i<len; i++ )
 			A[rand.nextInt(rows-1)][rand.nextInt(cols-1)] = replacement;
 	}
-	
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/unary/scalar/StopTestCtrlStr.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/unary/scalar/StopTestCtrlStr.java b/src/test/java/org/apache/sysml/test/integration/functions/unary/scalar/StopTestCtrlStr.java
index 3502ef2..a3eb8a9 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/unary/scalar/StopTestCtrlStr.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/unary/scalar/StopTestCtrlStr.java
@@ -119,7 +119,7 @@ public class StopTestCtrlStr extends AutomatedTestBase
 		rtplatform = oldRT;
 	}
 	
-	private int findIndexAtCutoff(double[][] vector, double cutoff) {
+	private static int findIndexAtCutoff(double[][] vector, double cutoff) {
 		int i=1;
 		while(i<=vector.length) {
 			if(vector[i-1][0] > cutoff)
@@ -128,5 +128,4 @@ public class StopTestCtrlStr extends AutomatedTestBase
 		}
 		return i;
 	}
-	
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextMultipleScriptsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextMultipleScriptsTest.java b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextMultipleScriptsTest.java
index 9b58322..bdc33bf 100644
--- a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextMultipleScriptsTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextMultipleScriptsTest.java
@@ -80,7 +80,7 @@ public class MLContextMultipleScriptsTest extends AutomatedTestBase
 		runMLContextTestMultipleScript(RUNTIME_PLATFORM.SPARK, true);
 	}
 
-	private void runMLContextTestMultipleScript(RUNTIME_PLATFORM platform, boolean wRead) 
+	private static void runMLContextTestMultipleScript(RUNTIME_PLATFORM platform, boolean wRead) 
 	{
 		RUNTIME_PLATFORM oldplatform = DMLScript.rtplatform;
 		DMLScript.rtplatform = platform;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextScratchCleanupTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextScratchCleanupTest.java b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextScratchCleanupTest.java
index e5e575b..de3ab3c 100644
--- a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextScratchCleanupTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextScratchCleanupTest.java
@@ -80,7 +80,7 @@ public class MLContextScratchCleanupTest extends AutomatedTestBase
 		runMLContextTestMultipleScript(RUNTIME_PLATFORM.SPARK, true);
 	}
 
-	private void runMLContextTestMultipleScript(RUNTIME_PLATFORM platform, boolean wRead) 
+	private static void runMLContextTestMultipleScript(RUNTIME_PLATFORM platform, boolean wRead) 
 	{
 		RUNTIME_PLATFORM oldplatform = DMLScript.rtplatform;
 		DMLScript.rtplatform = platform;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/mlcontext/algorithms/MLContextUnivariateStatisticsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/mlcontext/algorithms/MLContextUnivariateStatisticsTest.java b/src/test/java/org/apache/sysml/test/integration/mlcontext/algorithms/MLContextUnivariateStatisticsTest.java
index c18c20f..09b1677 100644
--- a/src/test/java/org/apache/sysml/test/integration/mlcontext/algorithms/MLContextUnivariateStatisticsTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/mlcontext/algorithms/MLContextUnivariateStatisticsTest.java
@@ -82,7 +82,7 @@ public class MLContextUnivariateStatisticsTest extends MLContextTestBase {
 		Assert.assertEquals(1.0, stats[16][0], 0); // number of modes
 	}
 
-	private void replaceColumnWithRandomInts(double[][] matrix, int whichColumn, int lowValue, int highValue) {
+	private static void replaceColumnWithRandomInts(double[][] matrix, int whichColumn, int lowValue, int highValue) {
 		for (int i = 0; i < matrix.length; i++) {
 			double[] row = matrix[i];
 			row[whichColumn] = ThreadLocalRandom.current().nextInt(lowValue, highValue + 1);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/utils/TestUtils.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/utils/TestUtils.java b/src/test/java/org/apache/sysml/test/utils/TestUtils.java
index 2ea3760..0ea4489 100644
--- a/src/test/java/org/apache/sysml/test/utils/TestUtils.java
+++ b/src/test/java/org/apache/sysml/test/utils/TestUtils.java
@@ -35,7 +35,6 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
-import java.text.DecimalFormat;
 import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -2011,7 +2010,7 @@ public class TestUtils
 	 * @return string representation
 	 */
 	public static String getStringRepresentationForDouble(double value) {
-		NumberFormat nf = DecimalFormat.getInstance(new Locale("EN"));
+		NumberFormat nf = NumberFormat.getInstance(new Locale("EN"));
 		nf.setGroupingUsed(false);
 		nf.setMinimumFractionDigits(1);
 		nf.setMaximumFractionDigits(20);
@@ -2051,27 +2050,32 @@ public class TestUtils
 		return matrix;
 	}
 	
-	/**
-	 * 
-	 * @param data
-	 * @return
-	 */
-	public static double[][] round(double[][] data) 
-	{
+	public static double[][] round(double[][] data) {
 		for(int i=0; i<data.length; i++)
 			for(int j=0; j<data[i].length; j++)
 				data[i][j]=Math.round(data[i][j]);
-		
 		return data;
 	}
 	
-	/**
-	 * 
-	 * @param data
-	 * @param rows
-	 * @param cols
-	 * @return
-	 */
+	public static double[][] round(double[][] data, int col) {
+		for(int i=0; i<data.length; i++)
+			data[i][col]=Math.round(data[i][col]);
+		return data;
+	}
+	
+	public static double[][] floor(double[][] data) {
+		for(int i=0; i<data.length; i++)
+			for(int j=0; j<data[i].length; j++)
+				data[i][j]=Math.floor(data[i][j]);
+		return data;
+	}
+	
+	public static double[][] floor(double[][] data, int col) {
+		for(int i=0; i<data.length; i++)
+			data[i][col]=Math.floor(data[i][col]);
+		return data;
+	}
+	
 	public static double sum(double[][] data, int rows, int cols)
 	{
 		double sum = 0;


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCache.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCache.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCache.java
index 66fc5cf..1b17aca 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCache.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCache.java
@@ -64,9 +64,9 @@ public abstract class MMCJMRCache
 		_bufferCapacity = buffCapacity;
 		_buffer = new Pair[_bufferCapacity];
 		for(int i=0; i<_bufferCapacity; i++)
-			_buffer[i] = new Pair<MatrixIndexes, MatrixValue>(new MatrixIndexes(), valueClass.newInstance());
+			_buffer[i] = new Pair<>(new MatrixIndexes(), valueClass.newInstance());
 		if( buffMap )
-			_bufferMap = new HashMap<MatrixIndexes, Integer>();
+			_bufferMap = new HashMap<>();
 	
 		//System.out.println("allocated buffer: "+_bufferCapacity);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCombinerReducerBase.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCombinerReducerBase.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCombinerReducerBase.java
index 57440b3..0e19fd3 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCombinerReducerBase.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRCombinerReducerBase.java
@@ -49,8 +49,8 @@ public class MMCJMRCombinerReducerBase extends ReduceBase
 	protected byte tagForRight=1;
 	protected MatrixCharacteristics dim1;
 	protected MatrixCharacteristics dim2;
-//	protected int elementSize=8;
 
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRMapper.java
index b9e9723..f96e4ef 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMCJMRMapper.java
@@ -58,6 +58,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		commonMap(rawKey, rawValue, out, reporter);
 	}
 
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
index af46b7d..c0455b3 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
@@ -109,6 +109,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRReducer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRReducer.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRReducer.java
index 2b500b7..4bcb9c6 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRReducer.java
@@ -125,23 +125,20 @@ implements Reducer<TripleIndexes, TaggedMatrixValue, MatrixIndexes, MatrixValue>
 				OperationsOnMatrixValues.incrementalAggregation(out.getValue(), null, resultblock, 
 						((AggregateBinaryOperator) aggBinInstruction.getOperator()).aggOp, false);
 
-		//		System.out.println("agg: \n"+out.getValue());
 			} catch (Exception e) {
 				throw new IOException(e);
 			}
 		}
 	}
 	
+	@Override
 	public void close() throws IOException
 	{
 		long start=System.currentTimeMillis();
 		
-//		System.out.println("cacheValues before processReducerInstructions: \n"+cachedValues);
 		//perform mixed operations
 		processReducerInstructions();
 		
-//		System.out.println("cacheValues before output: \n"+cachedValues);
-		
 		//output results
 		outputResultsFromCachedValues(cachedReporter);
 		
@@ -150,7 +147,7 @@ implements Reducer<TripleIndexes, TaggedMatrixValue, MatrixIndexes, MatrixValue>
 		super.close();
 	}
 	
-
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 2cd4bc6..dc18b1d 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
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 
-import org.apache.hadoop.filecache.DistributedCache;
+import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapred.MapReduceBase;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
index 269fe52..378d1ef 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
@@ -30,7 +30,7 @@ import java.util.Map.Entry;
 import java.util.TreeMap;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.filecache.DistributedCache;
+import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.IntWritable;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
index 3b630ae..11ff6e7 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
@@ -174,6 +174,7 @@ public abstract class MapperBase extends MRBaseForCommonInstructions
 		return ret && count>0;
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
index eade689..80df55d 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
@@ -92,6 +92,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
 		}
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{	
 		super.configure(job);
@@ -193,6 +194,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
 		return ret;
 	}
 	
+	@Override
 	public void close() throws IOException
 	{
 		if(cachedReporter!=null)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactInputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactInputFormat.java b/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactInputFormat.java
index 350f65b..5582a76 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactInputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactInputFormat.java
@@ -50,12 +50,14 @@ public class CompactInputFormat<K extends WritableComparable, V extends Writable
 		job.setClass(VALUE_CLASS, valueClass, Writable.class);
 	}
 	
+	@Override
 	public RecordReader<K,V> getRecordReader(InputSplit split
 			, JobConf job, Reporter reporter) throws IOException {
-		return new CompactInputRecordReader<K,V>(job, (FileSplit) split);
+		return new CompactInputRecordReader<>(job, (FileSplit) split);
 	}
 	
 	//the files are not splitable
+	@Override
 	protected boolean isSplitable(FileSystem fs, Path filename)
 	{
 		return false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactOutputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactOutputFormat.java b/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactOutputFormat.java
index cd730cb..de20b65 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactOutputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/sort/CompactOutputFormat.java
@@ -36,27 +36,26 @@ import org.apache.sysml.runtime.io.IOUtilFunctions;
 
 public class CompactOutputFormat<K extends Writable, V extends Writable> extends FileOutputFormat<K,V> 
 {
-
-	
 	static final String FINAL_SYNC_ATTRIBUTE = "final.sync";
 
-	  /**
-	   * Does the user want a final sync at close?
-	   * 
-	   * @param conf job configuration
-	   * @return true if final sync at close
-	   */
-	  public static boolean getFinalSync(JobConf conf) {
-	    return conf.getBoolean(FINAL_SYNC_ATTRIBUTE, false);
-	  }
+	/**
+	 * Does the user want a final sync at close?
+	 * 
+	 * @param conf job configuration
+	 * @return true if final sync at close
+	*/
+	public static boolean getFinalSync(JobConf conf) {
+		return conf.getBoolean(FINAL_SYNC_ATTRIBUTE, false);
+	}
 	
+	@Override
 	public RecordWriter<K,V> getRecordWriter(FileSystem ignored, JobConf job, String name, Progressable progress) 
 	throws IOException {
 		
 		Path file = FileOutputFormat.getTaskOutputPath(job, name);
 		FileSystem fs = file.getFileSystem(job);
 		FSDataOutputStream fileOut = fs.create(file, progress);
-		return new FixedLengthRecordWriter<K,V>(fileOut, job);
+		return new FixedLengthRecordWriter<>(fileOut, job);
 	}
 	
 	public static class FixedLengthRecordWriter<K extends Writable, V extends Writable> implements RecordWriter<K, V> {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 0b7d5ac..a615741 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
@@ -57,6 +57,7 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 	public static final String PARTITION_OF_ZERO="partition.of.zero";
 	public static final String NUMBER_OF_ZERO="number.of.zero";
 	
+	@Override
 	protected  boolean isSplitable(FileSystem fs, Path filename) {
 		return false;
 	}
@@ -128,23 +129,21 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 			ArrayList<Pair<Integer, Integer>> vec=posMap.get(currentPart);
 			if(vec==null)
 			{
-				vec=new ArrayList<Pair<Integer, Integer>>();
+				vec=new ArrayList<>();
 				posMap.put(currentPart, vec);
 			}
 			
 			//set the actual position starting from 0
 			if(currentPart>0)
-				vec.add( new Pair<Integer, Integer>( (int)(pos-ranges[currentPart-1]-1), e.index));
+				vec.add( new Pair<>( (int)(pos-ranges[currentPart-1]-1), e.index));
 			else
-				vec.add( new Pair<Integer, Integer>( (int)pos-1,  e.index));
+				vec.add( new Pair<>( (int)pos-1,  e.index));
 		}
 	}
 	
 	public static Set<Integer> setPickRecordsInEachPartFile(JobConf job, NumItemsByEachReducerMetaData metadata, double[] probs)
 	{
-		HashMap<Integer, ArrayList<Pair<Integer, Integer>>> posMap
-		=new HashMap<Integer, ArrayList<Pair<Integer, Integer>>>();
-		
+		HashMap<Integer, ArrayList<Pair<Integer, Integer>>> posMap = new HashMap<>();
 		getPointsInEachPartFile(metadata.getNumItemsArray(), probs, posMap);
 		
 		for(Entry<Integer, ArrayList<Pair<Integer, Integer>>> e: posMap.entrySet())
@@ -209,6 +208,7 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 		return sb.substring(0, sb.length()-1);
 	}
 
+	@Override
 	public RecordReader<MatrixIndexes, MatrixCell> getRecordReader(InputSplit split
 			, JobConf job, Reporter reporter) throws IOException {
 		if(job.getBoolean(INPUT_IS_VECTOR, true))
@@ -269,7 +269,7 @@ public class PickFromCompactInputFormat extends FileInputFormat<MatrixIndexes, M
 			String[] f2 = null;
 			
 			// Each field of the form: "pid,wt" where wt is the total wt until the part pid
-			partWeights = new HashMap<Integer,Double>();
+			partWeights = new HashMap<>();
 			for(int i=0; i < f1.length-1; i++) {
 				f2 = f1[i].split(",");
 				if(i==0) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/sort/SamplingSortMRInputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/sort/SamplingSortMRInputFormat.java b/src/main/java/org/apache/sysml/runtime/matrix/sort/SamplingSortMRInputFormat.java
index 3f6cd05..abaf272 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/sort/SamplingSortMRInputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/sort/SamplingSortMRInputFormat.java
@@ -71,7 +71,7 @@ extends SequenceFileInputFormat<K,V>
     {
 		if(reporter!=null)
 			reporter.setStatus(split.toString());
-		return new SequenceFileRecordReader<K,V>(job, (FileSplit) split);
+		return new SequenceFileRecordReader<>(job, (FileSplit) split);
     }
 
 	/**
@@ -188,7 +188,7 @@ extends SequenceFileInputFormat<K,V>
 
 	private static class Sampler implements IndexedSortable 
 	{
-		private ArrayList<WritableComparable> records = new ArrayList<WritableComparable>();
+		private ArrayList<WritableComparable> records = new ArrayList<>();
 		
 		@SuppressWarnings("unchecked")
 		public int compare(int i, int j) {
@@ -204,13 +204,12 @@ extends SequenceFileInputFormat<K,V>
 			records.set(i, right);
 		}
 		
-		public void addValue(WritableComparable r)
-		{
+		public void addValue(WritableComparable r) {
 			records.add(r);
 		}
 		
-		public String toString()
-		{
+		@Override
+		public String toString() {
 			return records.toString();
 		}
 
@@ -233,7 +232,7 @@ extends SequenceFileInputFormat<K,V>
 			//System.out.println("after sort: "+ toString());
 			float stepSize = numRecords / (float) numPartitions;
 			//System.out.println("Step size is " + stepSize);
-			ArrayList<WritableComparable> result = new ArrayList<WritableComparable>(numPartitions-1);
+			ArrayList<WritableComparable> result = new ArrayList<>(numPartitions-1);
 			for(int i=1; i < numPartitions; i++) {
 				result.add(records.get(Math.round(stepSize * i)));
 			}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/sort/ValueSortReducer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/sort/ValueSortReducer.java b/src/main/java/org/apache/sysml/runtime/matrix/sort/ValueSortReducer.java
index 13751c5..89857d0 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/sort/ValueSortReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/sort/ValueSortReducer.java
@@ -43,8 +43,8 @@ public class ValueSortReducer<K extends WritableComparable, V extends Writable>
 	private boolean valueIsWeight=false;
 	private long count=0;
 	
-	public void configure(JobConf job)
-	{
+	@Override
+	public void configure(JobConf job) {
 		taskID=MapReduceTool.getUniqueKeyPerTask(job, false);
 		valueIsWeight=job.getBoolean(SortMR.VALUE_IS_WEIGHT, false);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderFactory.java b/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderFactory.java
index dcacd6d..5a351cb 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderFactory.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderFactory.java
@@ -45,7 +45,7 @@ public class DecoderFactory
 		{
 			//parse transform specification
 			JSONObject jSpec = new JSONObject(spec);
-			List<Decoder> ldecoders = new ArrayList<Decoder>();
+			List<Decoder> ldecoders = new ArrayList<>();
 		
 			//create decoders 'recode', 'dummy' and 'pass-through'
 			List<Integer> rcIDs = Arrays.asList(ArrayUtils.toObject(

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderRecode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderRecode.java b/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderRecode.java
index f6e8471..5a71444 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderRecode.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/decode/DecoderRecode.java
@@ -78,7 +78,7 @@ public class DecoderRecode extends Decoder
 		//initialize recode maps according to schema
 		_rcMaps = new HashMap[_colList.length];
 		for( int j=0; j<_colList.length; j++ ) {
-			HashMap<Long, Object> map = new HashMap<Long, Object>();
+			HashMap<Long, Object> map = new HashMap<>();
 			for( int i=0; i<meta.getNumRows(); i++ ) {
 				if( meta.get(i, _colList[j]-1)==null )
 					break; //reached end of recode map

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderFactory.java b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderFactory.java
index b8180f3..a776cb6 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderFactory.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderFactory.java
@@ -54,7 +54,7 @@ public class EncoderFactory
 		try {
 			//parse transform specification
 			JSONObject jSpec = new JSONObject(spec);
-			List<Encoder> lencoders = new ArrayList<Encoder>();
+			List<Encoder> lencoders = new ArrayList<>();
 		
 			//prepare basic id lists (recode, dummycode, pass-through)
 			//note: any dummycode column requires recode as preparation

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderMVImpute.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderMVImpute.java b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderMVImpute.java
index ad155e9..53895b7 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderMVImpute.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderMVImpute.java
@@ -88,15 +88,15 @@ public class EncoderMVImpute extends Encoder
 		parseMethodsAndReplacments(parsedSpec);
 		
 		//create reuse histograms
-		_hist = new HashMap<Integer, HashMap<String,Long>>();
+		_hist = new HashMap<>();
 	}
-			
+	
 	public EncoderMVImpute(JSONObject parsedSpec, String[] colnames, String[] NAstrings, int clen)
 		throws JSONException 
 	{
-		super(null, clen);	
+		super(null, clen);
 		boolean isMV = parsedSpec.containsKey(TfUtils.TXMETHOD_IMPUTE);
-		boolean isSC = parsedSpec.containsKey(TfUtils.TXMETHOD_SCALE);		
+		boolean isSC = parsedSpec.containsKey(TfUtils.TXMETHOD_SCALE);
 		_NAstrings = NAstrings;
 		
 		if(!isMV) {
@@ -314,7 +314,7 @@ public class EncoderMVImpute extends Encoder
 				else if( _mvMethodList[j] == MVMethod.GLOBAL_MODE ) {
 					//compute global column mode (categorical), i.e., most frequent category
 					HashMap<String,Long> hist = _hist.containsKey(colID) ? 
-							_hist.get(colID) : new HashMap<String,Long>();
+							_hist.get(colID) : new HashMap<>();
 					for( int i=0; i<in.getNumRows(); i++ ) {
 						String key = String.valueOf(in.get(i, colID-1));
 						if( key != null && !key.isEmpty() ) {
@@ -358,6 +358,7 @@ public class EncoderMVImpute extends Encoder
 		return out;
 	}
 
+	@Override
 	public void initMetaData(FrameBlock meta) {
 		//init replacement lists, replace recoded values to
 		//apply mv imputation potentially after recoding

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderRecode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderRecode.java b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderRecode.java
index d090e66..8758e73 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderRecode.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/encode/EncoderRecode.java
@@ -37,7 +37,7 @@ public class EncoderRecode extends Encoder
 	private static final long serialVersionUID = 8213163881283341874L;
 	
 	//recode maps and custom map for partial recode maps 
-	private HashMap<Integer, HashMap<String, Long>> _rcdMaps  = new HashMap<Integer, HashMap<String, Long>>();
+	private HashMap<Integer, HashMap<String, Long>> _rcdMaps  = new HashMap<>();
 	private HashMap<Integer, HashSet<Object>> _rcdMapsPart = null;
 	
 	public EncoderRecode(JSONObject parsedSpec, String[] colnames, int clen)
@@ -105,7 +105,7 @@ public class EncoderRecode extends Encoder
 
 		//ensure allocated partial recode map
 		if( _rcdMapsPart == null )
-			_rcdMapsPart = new HashMap<Integer, HashSet<Object>>();
+			_rcdMapsPart = new HashMap<>();
 		
 		//construct partial recode map (tokens w/o codes)
 		//iterate over columns for sequential access
@@ -113,7 +113,7 @@ public class EncoderRecode extends Encoder
 			int colID = _colList[j]; //1-based
 			//allocate column map if necessary
 			if( !_rcdMapsPart.containsKey(colID) ) 
-				_rcdMapsPart.put(colID, new HashSet<Object>());
+				_rcdMapsPart.put(colID, new HashSet<>());
 			HashSet<Object> map = _rcdMapsPart.get(colID);
 			//probe and build column map
 			for( int i=0; i<in.getNumRows(); i++ )
@@ -178,6 +178,7 @@ public class EncoderRecode extends Encoder
 	 * 
 	 * @param meta frame block
 	 */
+	@Override
 	public void initMetaData( FrameBlock meta ) {
 		if( meta == null || meta.getNumRows()<=0 )
 			return;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/meta/TfMetaUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/meta/TfMetaUtils.java b/src/main/java/org/apache/sysml/runtime/transform/meta/TfMetaUtils.java
index 14a12b8..3d4353d 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/meta/TfMetaUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/meta/TfMetaUtils.java
@@ -169,8 +169,8 @@ public class TfMetaUtils
 		
 		//read meta data (currently supported: recode, dummycode, bin, omit, impute)
 		//note: recode/binning and impute might be applied on the same column
-		HashMap<String,String> meta = new HashMap<String,String>();
-		HashMap<String,String> mvmeta = new HashMap<String,String>();
+		HashMap<String,String> meta = new HashMap<>();
+		HashMap<String,String> mvmeta = new HashMap<>();
 		int rows = 0;
 		for( int j=0; j<colnames.length; j++ ) {
 			String colName = colnames[j];
@@ -223,8 +223,8 @@ public class TfMetaUtils
 		
 		//read meta data (currently supported: recode, dummycode, bin, omit)
 		//note: recode/binning and impute might be applied on the same column
-		HashMap<String,String> meta = new HashMap<String,String>();
-		HashMap<String,String> mvmeta = new HashMap<String,String>();
+		HashMap<String,String> meta = new HashMap<>();
+		HashMap<String,String> mvmeta = new HashMap<>();
 		int rows = 0;
 		for( int j=0; j<colnames.length; j++ ) {
 			String colName = colnames[j];
@@ -289,7 +289,7 @@ public class TfMetaUtils
 			
 			InputStream is = new ByteArrayInputStream(map.getBytes("UTF-8"));
 			BufferedReader br = new BufferedReader(new InputStreamReader(is));
-			Pair<String,String> pair = new Pair<String,String>();
+			Pair<String,String> pair = new Pair<>();
 			String line; int rpos = 0; 
 			while( (line = br.readLine()) != null ) {
 				DecoderRecode.parseRecodeMapEntry(line, pair);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/transform/meta/TfOffsetMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/transform/meta/TfOffsetMap.java b/src/main/java/org/apache/sysml/runtime/transform/meta/TfOffsetMap.java
index a486697..8fde769 100644
--- a/src/main/java/org/apache/sysml/runtime/transform/meta/TfOffsetMap.java
+++ b/src/main/java/org/apache/sysml/runtime/transform/meta/TfOffsetMap.java
@@ -36,12 +36,12 @@ public class TfOffsetMap implements Serializable
 	
 	public TfOffsetMap( List<Pair<Long,Long>> rmRows ) {
 		//sort input list of <key, rm rows per block>
-		TreeMap<Long, Long> tmap = new TreeMap<Long, Long>();
+		TreeMap<Long, Long> tmap = new TreeMap<>();
 		for( Pair<Long, Long> pair : rmRows )
 			tmap.put(pair.getKey(), pair.getValue());
 		
 		//compute shifted keys and build hash table
-		_map = new HashMap<Long, Long>();
+		_map = new HashMap<>();
 		long shift = 0;
 		for( Entry<Long, Long> e : tmap.entrySet() ) {
 			_map.put(e.getKey(), e.getKey()-shift);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/util/NormalPRNGenerator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/util/NormalPRNGenerator.java b/src/main/java/org/apache/sysml/runtime/util/NormalPRNGenerator.java
index ce6f7e0..69af6a6 100644
--- a/src/main/java/org/apache/sysml/runtime/util/NormalPRNGenerator.java
+++ b/src/main/java/org/apache/sysml/runtime/util/NormalPRNGenerator.java
@@ -28,22 +28,17 @@ import java.util.Random;
  * RandNPair, which uses Box-Muller method.
  */
 
-
 public class NormalPRNGenerator extends PRNGenerator
 {
-	//private long seed;
-	Random r;
+	private Random r;
 	private RandNPair pair;
-	boolean flag = false; // we use pair.N1 if flag=false, and pair.N2 otherwise
+	private boolean flag = false; // we use pair.N1 if flag=false, and pair.N2 otherwise
 	
 	public NormalPRNGenerator() {
 		super();
 	}
-
-	/*public NormalPRNGenerator(Random random) {
-		init(random);
-	}*/
 	
+	@Override
 	public void setSeed(long sd) {
 		//seed = s;
 		seed = sd;
@@ -53,6 +48,7 @@ public class NormalPRNGenerator extends PRNGenerator
 		pair.compute(r);
 	}
 	
+	@Override
 	public double nextDouble() {
 		double d;
 		if (!flag) {
@@ -65,5 +61,4 @@ public class NormalPRNGenerator extends PRNGenerator
 		flag = !flag;
 		return d;
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/util/PoissonPRNGenerator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/util/PoissonPRNGenerator.java b/src/main/java/org/apache/sysml/runtime/util/PoissonPRNGenerator.java
index 39de4c0..cf24d07 100644
--- a/src/main/java/org/apache/sysml/runtime/util/PoissonPRNGenerator.java
+++ b/src/main/java/org/apache/sysml/runtime/util/PoissonPRNGenerator.java
@@ -32,8 +32,8 @@ import org.apache.commons.math3.random.Well1024a;
 
 public class PoissonPRNGenerator extends PRNGenerator
 {
-	PoissonDistribution _pdist = null;
-	double _mean = Double.NaN;
+	private PoissonDistribution _pdist = null;
+	private double _mean = Double.NaN;
 
 	public PoissonPRNGenerator() {
 		// default mean and default seed
@@ -42,8 +42,7 @@ public class PoissonPRNGenerator extends PRNGenerator
 		setup(_mean, seed);
 	}
 	
-	public PoissonPRNGenerator(double mean) 
-	{
+	public PoissonPRNGenerator(double mean) {
 		// default seed
 		super();
 		_mean = mean;
@@ -52,7 +51,6 @@ public class PoissonPRNGenerator extends PRNGenerator
 
 	public void setup(double mean, long sd) {
 		seed = sd;
-		
 		SynchronizedRandomGenerator srg = new SynchronizedRandomGenerator(new Well1024a());
 		srg.setSeed(seed);
 		_pdist = new PoissonDistribution(srg, _mean, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS);
@@ -67,10 +65,8 @@ public class PoissonPRNGenerator extends PRNGenerator
 		setup(mean, seed);
 	}
 	
+	@Override
 	public double nextDouble() {
 		return (double) _pdist.sample();
 	}
-	
-	
-
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/util/UniformPRNGenerator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/util/UniformPRNGenerator.java b/src/main/java/org/apache/sysml/runtime/util/UniformPRNGenerator.java
index 529ca03..9e819be 100644
--- a/src/main/java/org/apache/sysml/runtime/util/UniformPRNGenerator.java
+++ b/src/main/java/org/apache/sysml/runtime/util/UniformPRNGenerator.java
@@ -24,11 +24,10 @@ import java.util.Random;
 
 public class UniformPRNGenerator extends PRNGenerator {
 
-	Random runif = null;
+	private Random runif = null;
 	
-	public void setSeed(long sd) {
-		seed = sd;
-		runif = new Random(seed);
+	public UniformPRNGenerator() {
+		super();
 	}
 	
 	public UniformPRNGenerator(long sd) {
@@ -36,8 +35,10 @@ public class UniformPRNGenerator extends PRNGenerator {
 		setSeed(sd);
 	}
 
-	public UniformPRNGenerator() {
-		super();
+	@Override
+	public void setSeed(long sd) {
+		seed = sd;
+		runif = new Random(seed);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/udf/ExternalFunctionInvocationInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/udf/ExternalFunctionInvocationInstruction.java b/src/main/java/org/apache/sysml/udf/ExternalFunctionInvocationInstruction.java
index 476970a..93717e5 100644
--- a/src/main/java/org/apache/sysml/udf/ExternalFunctionInvocationInstruction.java
+++ b/src/main/java/org/apache/sysml/udf/ExternalFunctionInvocationInstruction.java
@@ -67,11 +67,12 @@ public class ExternalFunctionInvocationInstruction extends Instruction
 		return outputParams;
 	}
 
+	@Override
 	public String toString() {
 		return className + ELEMENT_DELIM + 
-		       configFile + ELEMENT_DELIM + 
-		       inputParams + ELEMENT_DELIM + 
-		       outputParams;
+			configFile + ELEMENT_DELIM + 
+			inputParams + ELEMENT_DELIM + 
+			outputParams;
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 6a78011..d39e513 100644
--- a/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysml/test/integration/AutomatedTestBase.java
@@ -1712,18 +1712,13 @@ public abstract class AutomatedTestBase
 		}
 	}
 
-	private String getSourceDirectory(String testDirectory) {
+	private static String getSourceDirectory(String testDirectory) {
 		String sourceDirectory = "";
-
-		if (null != testDirectory)
-		{
+		if (null != testDirectory) {
 			if (testDirectory.endsWith("/"))
-			{
 				testDirectory = testDirectory.substring(0, testDirectory.length() - "/".length());
-			}
 			sourceDirectory = testDirectory.substring(0, testDirectory.lastIndexOf("/") + "/".length());
 		}
-
 		return sourceDirectory;
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/ID3Test.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/ID3Test.java b/src/test/java/org/apache/sysml/test/integration/applications/ID3Test.java
index c7d3cb4..a158f52 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/ID3Test.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/ID3Test.java
@@ -89,8 +89,8 @@ public abstract class ID3Test extends AutomatedTestBase
 		rCmd = getRCmd(inputDir(), expectedDir());
 
         // prepare training data set
-        double[][] X = round(getRandomMatrix(rows, cols, 1, 10, 1.0, 3));
-        double[][] y = round(getRandomMatrix(rows, 1, 1, 10, 1.0, 7));
+        double[][] X = TestUtils.round(getRandomMatrix(rows, cols, 1, 10, 1.0, 3));
+        double[][] y = TestUtils.round(getRandomMatrix(rows, 1, 1, 10, 1.0, 7));
         writeInputMatrixWithMTD("X", X, true);
         writeInputMatrixWithMTD("y", y, true);
         
@@ -114,12 +114,4 @@ public abstract class ID3Test extends AutomatedTestBase
         TestUtils.compareMatrices(nR, nSYSTEMML, Math.pow(10, -14), "nR", "nSYSTEMML");
         TestUtils.compareMatrices(eR, eSYSTEMML, Math.pow(10, -14), "eR", "eSYSTEMML");      
     }
-    
-    private double[][] round( double[][] data )
-	{
-		for( int i=0; i<data.length; i++ )
-			for( int j=0; j<data[i].length; j++ )
-				data[i][j] = Math.round(data[i][j]);
-		return data;
-	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateCategoricalCategoricallTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateCategoricalCategoricallTest.java b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateCategoricalCategoricallTest.java
index 506cf5e..2430d52 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateCategoricalCategoricallTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateCategoricalCategoricallTest.java
@@ -82,11 +82,11 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 		fullRScriptName = CC_HOME + TEST_NOMINAL_NOMINAL + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, 3);
-        double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, 7);
-        round(A);
-        round(B);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, 3);
+		double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, 7);
+		TestUtils.round(A);
+		TestUtils.round(B);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("B", B, true);
 
@@ -121,11 +121,6 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 		
 	}
 	
-	private void round(double[][] weight) {
-		for(int i=0; i<weight.length; i++)
-			weight[i][0]=Math.round(weight[i][0]);
-	}
-
 	@Test
 	public void testCategoricalCategoricalWithWeights() {
 		TestConfiguration config = getTestConfiguration(TEST_NOMINAL_NOMINAL_WEIGHTS);
@@ -141,18 +136,18 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 		fullRScriptName = CC_HOME + TEST_NOMINAL_NOMINAL_WEIGHTS + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
-        double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis()+1);
-        double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis()+2);
-        round(A);
-        round(B);
-        round(WM);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
+		double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis()+1);
+		double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis()+2);
+		TestUtils.round(A);
+		TestUtils.round(B);
+		TestUtils.round(WM);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("B", B, true);
 		writeInputMatrix("WM", WM, true);
-        createHelperMatrix();
-        
+		createHelperMatrix();
+		
 		/*
 		 * Expected number of jobs:
 		 * Mean etc - 2 jobs (reblock & gmr)
@@ -210,11 +205,11 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 
 		// current test works only for 2x2 contingency tables => #categories must be 2
 		int numCat = 2;
-        double[][] A = getRandomMatrix(rows, 1, 1, numCat, 1, System.currentTimeMillis());
-        double[][] B = getRandomMatrix(rows, 1, 1, numCat, 1, System.currentTimeMillis()+1);
-        round(A);
-        round(B);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, numCat, 1, System.currentTimeMillis());
+		double[][] B = getRandomMatrix(rows, 1, 1, numCat, 1, System.currentTimeMillis()+1);
+		TestUtils.round(A);
+		TestUtils.round(B);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("B", B, true);
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateOrdinalOrdinalTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateOrdinalOrdinalTest.java b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateOrdinalOrdinalTest.java
index d945904..45d8966 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateOrdinalOrdinalTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateOrdinalOrdinalTest.java
@@ -68,11 +68,11 @@ public class BivariateOrdinalOrdinalTest extends AutomatedTestBase
 		fullRScriptName = OO_HOME + TEST_ORDINAL_ORDINAL + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
-        double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis()+1);
-        round(A);
-        round(B);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
+		double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis()+1);
+		TestUtils.floor(A);
+		TestUtils.floor(B);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("B", B, true);
 
@@ -97,11 +97,6 @@ public class BivariateOrdinalOrdinalTest extends AutomatedTestBase
 		}
 	}
 	
-	private void round(double[][] weight) {
-		for(int i=0; i<weight.length; i++)
-			weight[i][0]=Math.floor(weight[i][0]);
-	}
-
 	@Test
 	public void testOrdinalOrdinalWithWeights() {
 		TestConfiguration config = getTestConfiguration(TEST_ORDINAL_ORDINAL_WEIGHTS);
@@ -117,13 +112,13 @@ public class BivariateOrdinalOrdinalTest extends AutomatedTestBase
 		fullRScriptName = OO_HOME + TEST_ORDINAL_ORDINAL_WEIGHTS + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
-        double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis());
-        double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
-        round(A);
-        round(B);
-        round(WM);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
+		double[][] B = getRandomMatrix(rows, 1, 1, ncatB, 1, System.currentTimeMillis());
+		double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
+		TestUtils.floor(A);
+		TestUtils.floor(B);
+		TestUtils.floor(WM);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("B", B, true);
 		writeInputMatrix("WM", WM, true);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleCategoricalTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleCategoricalTest.java b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleCategoricalTest.java
index 90310c5..431be84 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleCategoricalTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleCategoricalTest.java
@@ -73,18 +73,14 @@ public class BivariateScaleCategoricalTest extends AutomatedTestBase
 		fullRScriptName = SC_HOME + TEST_SCALE_NOMINAL + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis()) ; 
-        round(A);
-        double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis()) ; 
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis()) ; 
+		TestUtils.floor(A);
+		double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis()) ; 
 
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("Y", Y, true);
 
 		boolean exceptionExpected = false;
-		/*
-		 * Expected number of jobs:
-		 */
-		// int expectedNumberOfJobs = 5;
 		runTest(true, exceptionExpected, null, -1);
 		
 		runRScript(true);
@@ -106,11 +102,6 @@ public class BivariateScaleCategoricalTest extends AutomatedTestBase
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
 	}
-	
-	private void round(double[][] weight) {
-		for(int i=0; i<weight.length; i++)
-			weight[i][0]=Math.floor(weight[i][0]);
-	}
 
 	@Test
 	public void testScaleCategoricalWithWeights() {
@@ -129,12 +120,12 @@ public class BivariateScaleCategoricalTest extends AutomatedTestBase
 		fullRScriptName = SC_HOME + TEST_SCALE_NOMINAL_WEIGHTS + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-        double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
-        double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
-        double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
-        round(A);
-        round(WM);
-        
+		double[][] A = getRandomMatrix(rows, 1, 1, ncatA, 1, System.currentTimeMillis());
+		double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
+		double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
+		TestUtils.floor(A);
+		TestUtils.floor(WM);
+
 		writeInputMatrix("A", A, true);
 		writeInputMatrix("Y", Y, true);
 		writeInputMatrix("WM", WM, true);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleScaleTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleScaleTest.java b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleScaleTest.java
index 95e57e7..7c1bbc8 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleScaleTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/descriptivestats/BivariateScaleScaleTest.java
@@ -103,11 +103,6 @@ public class BivariateScaleScaleTest extends AutomatedTestBase
 		}
 	}
 	
-	private void round(double[][] weight) {
-		for(int i=0; i<weight.length; i++)
-			weight[i][0]=Math.floor(weight[i][0]);
-	}
-
 	@Test
 	public void testPearsonRWithWeights() {
 
@@ -124,17 +119,15 @@ public class BivariateScaleScaleTest extends AutomatedTestBase
 		fullRScriptName = SS_HOME + TEST_SCALE_SCALE_WEIGHTS + ".R";
 		rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + expectedDir();
 
-		//long seed = System.currentTimeMillis();
-		//System.out.println("Seed = " + seed);
-        double[][] X = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
-        double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
-        double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
-        round(WM);
-        
+		double[][] X = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
+		double[][] Y = getRandomMatrix(rows, 1, minVal, maxVal, 0.1, System.currentTimeMillis());
+		double[][] WM = getRandomMatrix(rows, 1, 1, maxW, 1, System.currentTimeMillis());
+		TestUtils.floor(WM);
+
 		writeInputMatrix("X", X, true);
 		writeInputMatrix("Y", Y, true);
 		writeInputMatrix("WM", WM, true);
-        createHelperMatrix();
+		createHelperMatrix();
 		
 		boolean exceptionExpected = false;
 		/*

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForBivariateStatsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForBivariateStatsTest.java b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForBivariateStatsTest.java
index 3381436..bad8589 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForBivariateStatsTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForBivariateStatsTest.java
@@ -138,15 +138,15 @@ public class ParForBivariateStatsTest extends AutomatedTestBase
 		{
 			Dkind[i]=(i%3)+1;//kind 1,2,3
 			if( Dkind[i]!=1 )
-				round(D,i); //for ordinal and categorical vars
+				TestUtils.floor(D,i); //for ordinal and categorical vars
 		}
 		writeInputMatrix("D", D, true);
 		
 		//generate attribute sets		
-        double[][] S1 = getRandomMatrix(1, cols2, 1, cols+1-eps, 1, 1112);
-        double[][] S2 = getRandomMatrix(1, cols2, 1, cols+1-eps, 1, 1113);
-        round(S1);
-        round(S2);
+		double[][] S1 = getRandomMatrix(1, cols2, 1, cols+1-eps, 1, 1112);
+		double[][] S2 = getRandomMatrix(1, cols2, 1, cols+1-eps, 1, 1113);
+		TestUtils.floor(S1);
+		TestUtils.floor(S2);
 		writeInputMatrix("S1", S1, true);
 		writeInputMatrix("S2", S2, true);	
 
@@ -175,15 +175,4 @@ public class ParForBivariateStatsTest extends AutomatedTestBase
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 	}
-	
-	private void round(double[][] data) {
-		for(int i=0; i<data.length; i++)
-			for(int j=0; j<data[i].length; j++)
-				data[i][j]=Math.floor(data[i][j]);
-	}
-	
-	private void round(double[][] data, int col) {
-		for(int i=0; i<data.length; i++)
-			data[i][col]=Math.floor(data[i][col]);
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForCVMulticlassSVMTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForCVMulticlassSVMTest.java b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForCVMulticlassSVMTest.java
index be5c771..fe53897 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForCVMulticlassSVMTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForCVMulticlassSVMTest.java
@@ -143,8 +143,8 @@ public class ParForCVMulticlassSVMTest extends AutomatedTestBase
 		
 		//generate actual dataset
 		double[][] X = getRandomMatrix(rows, cols, 0, 1, sparsity, 7); 
-		double[][] y = round(getRandomMatrix(rows, 1, 0.51, numclasses+0.49, 1.0, 7)); 
-		double[][] P = round(getRandomMatrix(rows, 1, 0.51, k+0.49, 1.0, 3)); 
+		double[][] y = TestUtils.round(getRandomMatrix(rows, 1, 0.51, numclasses+0.49, 1.0, 7)); 
+		double[][] P = TestUtils.round(getRandomMatrix(rows, 1, 0.51, k+0.49, 1.0, 3)); 
 
 		MatrixCharacteristics mc1 = new MatrixCharacteristics(rows,cols,-1,-1);
 		writeInputMatrixWithMTD("X", X, true, mc1);
@@ -163,10 +163,4 @@ public class ParForCVMulticlassSVMTest extends AutomatedTestBase
 		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("stats");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 	}
-	
-	private double[][] round(double[][] data) {
-		for(int i=0; i<data.length; i++)
-			data[i][0]=Math.round(data[i][0]);
-		return data;
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForUnivariateStatsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForUnivariateStatsTest.java b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForUnivariateStatsTest.java
index 772b35b..4303e50 100644
--- a/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForUnivariateStatsTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/applications/parfor/ParForUnivariateStatsTest.java
@@ -143,7 +143,7 @@ public class ParForUnivariateStatsTest extends AutomatedTestBase
 		{
 			Dkind[i]=(i%3)+1;//kind 1,2,3
 			if( Dkind[i]!=1 )
-				round(D,i); //for ordinal and categorical vars
+				TestUtils.floor(D,i); //for ordinal and categorical vars
 		}
 		MatrixCharacteristics mc1 = new MatrixCharacteristics(rows,cols,-1,-1);
 		writeInputMatrixWithMTD("D", D, true, mc1);
@@ -172,9 +172,4 @@ public class ParForUnivariateStatsTest extends AutomatedTestBase
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 	}
-	
-	private void round(double[][] data, int col) {
-		for(int i=0; i<data.length; i++)
-			data[i][col]=Math.floor(data[i][col]);
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
index 71ca7a6..229b5d7 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
@@ -183,7 +183,7 @@ public class UltraSparseMRMatrixMultiplicationTest extends AutomatedTestBase
 			double[][] A = getRandomMatrix(rows, cols, 0, 1, sparseM1?sparsity2:sparsity1, 7); 
 			writeInputMatrix("A", A, true);
 			double[][] B = getRandomMatrix(rows, 1, 0.51, 3.49, 1.0, 3); 
-			B = round(B);
+			B = TestUtils.round(B);
 			writeInputMatrix("B", B, true);
 	
 			boolean exceptionExpected = false;
@@ -195,19 +195,10 @@ public class UltraSparseMRMatrixMultiplicationTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
-		finally
-		{
+		finally {
 			rtplatform = platformOld;
 			DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
 			AggBinaryOp.FORCED_MMULT_METHOD = null;
 		}
 	}
-
-	
-	private double[][] round(double[][] data) {
-		for(int i=0; i<data.length; i++)
-			data[i][0]=Math.round(data[i][0]);
-		return data;
-	}
-	
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullIntegerDivisionTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
index 4b3f5b0..1597f32 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
@@ -387,56 +387,37 @@ public class FullIntegerDivisionTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param name
-	 * @param matrix
-	 * @param includeR
-	 */
-	private void writeScalarInputMatrixWithMTD(String name, double[][] matrix, boolean includeR) 
+	private static void writeScalarInputMatrixWithMTD(String name, double[][] matrix, boolean includeR) 
 	{
-		try
-		{
+		try {
 			//write DML scalar
 			String fname = baseDirectory + INPUT_DIR + name; // + "/in";
 			MapReduceTool.deleteFileIfExistOnHDFS(fname);
 			MapReduceTool.writeDoubleToHDFS(matrix[0][0], fname);
 			MapReduceTool.writeScalarMetaDataFile(baseDirectory + INPUT_DIR + name + ".mtd", ValueType.DOUBLE);
 		
-			
 			//write R matrix
 			if( includeR ){
 				String completeRPath = baseDirectory + INPUT_DIR + name + ".mtx";
 				TestUtils.writeTestMatrix(completeRPath, matrix, true);
 			}
 		}
-		catch(IOException e)
-		{
+		catch(IOException e) {
 			e.printStackTrace();
 			throw new RuntimeException(e);
 		}
 	}
 	
-	/**
-	 * 
-	 * @param name
-	 * @return
-	 */
-	private HashMap<CellIndex,Double> readScalarMatrixFromHDFS(String name) 
-	{
+	private static HashMap<CellIndex,Double> readScalarMatrixFromHDFS(String name) {
 		HashMap<CellIndex,Double> dmlfile = new HashMap<CellIndex,Double>();
-		try
-		{
+		try {
 			Double val = MapReduceTool.readDoubleFromHDFSFile(baseDirectory + OUTPUT_DIR + name);
 			dmlfile.put(new CellIndex(1,1), val);
 		}
-		catch(IOException e)
-		{
+		catch(IOException e) {
 			e.printStackTrace();
 			throw new RuntimeException(e);
 		}
-		
 		return dmlfile;
 	}
-		
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPowerTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPowerTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPowerTest.java
index b59fd26..3e0e48d 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPowerTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPowerTest.java
@@ -271,13 +271,7 @@ public class FullPowerTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param name
-	 * @param matrix
-	 * @param includeR
-	 */
-	private void writeScalarInputMatrixWithMTD(String name, double[][] matrix, boolean includeR) 
+	private static void writeScalarInputMatrixWithMTD(String name, double[][] matrix, boolean includeR) 
 	{
 		try
 		{
@@ -301,26 +295,17 @@ public class FullPowerTest extends AutomatedTestBase
 		}
 	}
 	
-	/**
-	 * 
-	 * @param name
-	 * @return
-	 */
-	private HashMap<CellIndex,Double> readScalarMatrixFromHDFS(String name) 
+	private static HashMap<CellIndex,Double> readScalarMatrixFromHDFS(String name) 
 	{
 		HashMap<CellIndex,Double> dmlfile = new HashMap<CellIndex,Double>();
-		try
-		{
+		try {
 			Double val = MapReduceTool.readDoubleFromHDFSFile(baseDirectory + OUTPUT_DIR + name);
 			dmlfile.put(new CellIndex(1,1), val);
 		}
-		catch(IOException e)
-		{
+		catch(IOException e) {
 			e.printStackTrace();
 			throw new RuntimeException(e);
 		}
-		
 		return dmlfile;
 	}
-		
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanComparisonTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanComparisonTest.java b/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanComparisonTest.java
index 01908b4..bc68e68 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanComparisonTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanComparisonTest.java
@@ -243,7 +243,7 @@ public class CPlanComparisonTest extends AutomatedTestBase
 			DataOpTypes.TRANSIENTREAD, "tmp", 77L, 7L, -1L, 1000L, 1000L);
 	}
 	
-	private Hop createDataOp(String name, DataType dt) {
+	private static Hop createDataOp(String name, DataType dt) {
 		return new DataOp(name, dt, ValueType.DOUBLE, 
 			DataOpTypes.TRANSIENTREAD, "tmp", 77L, 7L, -1L, 1000L, 1000L);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanVectorPrimitivesTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanVectorPrimitivesTest.java b/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanVectorPrimitivesTest.java
index 065233c..3b65281 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanVectorPrimitivesTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/codegen/CPlanVectorPrimitivesTest.java
@@ -646,7 +646,7 @@ public class CPlanVectorPrimitivesTest extends AutomatedTestBase
 	}
 	
 	@SuppressWarnings("incomplete-switch")
-	private void testVectorAggPrimitive(UnaryType aggtype, InputType type1)
+	private static void testVectorAggPrimitive(UnaryType aggtype, InputType type1)
 	{
 		try {
 			//generate input data
@@ -684,7 +684,7 @@ public class CPlanVectorPrimitivesTest extends AutomatedTestBase
 		}
 	}
 	
-	private void testVectorUnaryPrimitive(UnaryType utype, InputType type1)
+	private static void testVectorUnaryPrimitive(UnaryType utype, InputType type1)
 	{
 		try {
 			//generate input data
@@ -720,7 +720,7 @@ public class CPlanVectorPrimitivesTest extends AutomatedTestBase
 		}
 	}
 	
-	private void testVectorBinaryPrimitive(BinType bintype, InputType type1, InputType type2)
+	private static void testVectorBinaryPrimitive(BinType bintype, InputType type1, InputType type2)
 	{
 		try {
 			//generate input data (scalar later derived if needed)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicCompressionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicCompressionTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicCompressionTest.java
index 2d1b592..dc6ca57 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicCompressionTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicCompressionTest.java
@@ -135,12 +135,7 @@ public class BasicCompressionTest extends AutomatedTestBase
 		runCompressionTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicGetValueTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicGetValueTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicGetValueTest.java
index 47c9fcc..c789b0f 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicGetValueTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicGetValueTest.java
@@ -137,12 +137,7 @@ public class BasicGetValueTest extends AutomatedTestBase
 		runGetValueTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runGetValueTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runGetValueTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixAppendTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixAppendTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixAppendTest.java
index 3bd6f0c..83a1164 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixAppendTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixAppendTest.java
@@ -136,12 +136,7 @@ public class BasicMatrixAppendTest extends AutomatedTestBase
 		runMatrixAppendTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixCentralMomentTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixCentralMomentTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixCentralMomentTest.java
index b3dd43b..9ea28e5 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixCentralMomentTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixCentralMomentTest.java
@@ -138,12 +138,7 @@ public class BasicMatrixCentralMomentTest extends AutomatedTestBase
 		runMatrixAppendTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixMultChainTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixMultChainTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixMultChainTest.java
index fe46107..3a7322f 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixMultChainTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixMultChainTest.java
@@ -225,12 +225,8 @@ public class BasicMatrixMultChainTest extends AutomatedTestBase
 	public void testSparseConstDataWeightsNoCompression() {
 		runMatrixMultChainTest(SparsityType.SPARSE, ValueType.CONST, ChainType.XtwXv, false);
 	}
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixMultChainTest(SparsityType sptype, ValueType vtype, ChainType ctype, boolean compress)
+	
+	private static void runMatrixMultChainTest(SparsityType sptype, ValueType vtype, ChainType ctype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixQuantileTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixQuantileTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixQuantileTest.java
index 77fc471..1a2b697 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixQuantileTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixQuantileTest.java
@@ -135,12 +135,7 @@ public class BasicMatrixQuantileTest extends AutomatedTestBase
 		runMatrixAppendTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixAppendTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixTransposeSelfMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixTransposeSelfMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixTransposeSelfMultTest.java
index c00f25f..bd351b0 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixTransposeSelfMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixTransposeSelfMultTest.java
@@ -135,13 +135,8 @@ public class BasicMatrixTransposeSelfMultTest extends AutomatedTestBase
 	public void testSparseConstDataNoCompression() {
 		runTransposeSelfMatrixMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
-	
 
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixVectorMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixVectorMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixVectorMultTest.java
index 5a19f6e..537bef6 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixVectorMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicMatrixVectorMultTest.java
@@ -140,12 +140,7 @@ public class BasicMatrixVectorMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsSparseUnsafeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsSparseUnsafeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsSparseUnsafeTest.java
index 218739b..eee2d30 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsSparseUnsafeTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsSparseUnsafeTest.java
@@ -138,12 +138,7 @@ public class BasicScalarOperationsSparseUnsafeTest extends AutomatedTestBase
 		runScalarOperationsTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runScalarOperationsTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runScalarOperationsTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsTest.java
index ed6f25c..7a84e71 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicScalarOperationsTest.java
@@ -138,12 +138,7 @@ public class BasicScalarOperationsTest extends AutomatedTestBase
 		runScalarOperationsTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runScalarOperationsTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runScalarOperationsTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicTransposeSelfLeftMatrixMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicTransposeSelfLeftMatrixMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicTransposeSelfLeftMatrixMultTest.java
index eb53024..47a4e6b 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicTransposeSelfLeftMatrixMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicTransposeSelfLeftMatrixMultTest.java
@@ -136,12 +136,7 @@ public class BasicTransposeSelfLeftMatrixMultTest extends AutomatedTestBase
 		runTransposeSelfMatrixMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicUnaryAggregateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicUnaryAggregateTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicUnaryAggregateTest.java
index 7f87219..df54964 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicUnaryAggregateTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicUnaryAggregateTest.java
@@ -1032,11 +1032,7 @@ public class BasicUnaryAggregateTest extends AutomatedTestBase
 		runUnaryAggregateTest(SparsityType.SPARSE, ValueType.CONST, AggType.MIN, false);
 	}
 	
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
+	private static void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicVectorMatrixMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicVectorMatrixMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicVectorMatrixMultTest.java
index 69a8016..29832f1 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicVectorMatrixMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/BasicVectorMatrixMultTest.java
@@ -140,12 +140,7 @@ public class BasicVectorMatrixMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/CompressedSerializationTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/CompressedSerializationTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/CompressedSerializationTest.java
index b0857a1..9afd85e 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/CompressedSerializationTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/CompressedSerializationTest.java
@@ -140,13 +140,7 @@ public class CompressedSerializationTest extends AutomatedTestBase
 		runCompressedSerializationTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runCompressedSerializationTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runCompressedSerializationTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeCompressionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeCompressionTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeCompressionTest.java
index d90118c..35d07e2 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeCompressionTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeCompressionTest.java
@@ -136,12 +136,7 @@ public class LargeCompressionTest extends AutomatedTestBase
 		runCompressionTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeMatrixVectorMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeMatrixVectorMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeMatrixVectorMultTest.java
index f5a5a4b..990845b 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeMatrixVectorMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeMatrixVectorMultTest.java
@@ -140,12 +140,7 @@ public class LargeMatrixVectorMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParMatrixVectorMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParMatrixVectorMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParMatrixVectorMultTest.java
index 4b6d033..c5f9560 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParMatrixVectorMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParMatrixVectorMultTest.java
@@ -141,12 +141,7 @@ public class LargeParMatrixVectorMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParUnaryAggregateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParUnaryAggregateTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParUnaryAggregateTest.java
index 6d2585a..a566682 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParUnaryAggregateTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeParUnaryAggregateTest.java
@@ -1034,12 +1034,8 @@ public class LargeParUnaryAggregateTest extends AutomatedTestBase
 	public void testMinSparseConstDataNoCompression() {
 		runUnaryAggregateTest(SparsityType.SPARSE, ValueType.CONST, AggType.MIN, false);
 	}
-		
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
+	
+	private static void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeVectorMatrixMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeVectorMatrixMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeVectorMatrixMultTest.java
index 4da0a79..982c0c1 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeVectorMatrixMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/LargeVectorMatrixMultTest.java
@@ -140,12 +140,7 @@ public class LargeVectorMatrixMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParCompressionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParCompressionTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParCompressionTest.java
index a7b42d7..04152cd 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParCompressionTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParCompressionTest.java
@@ -138,12 +138,7 @@ public class ParCompressionTest extends AutomatedTestBase
 		runCompressionTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runCompressionTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
index 4a9d4f5..993164b 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
@@ -216,12 +216,8 @@ public class ParMatrixMultChainTest extends AutomatedTestBase
 	public void testSparseConstDataWeightsNoCompression() {
 		runMatrixMultChainTest(SparsityType.SPARSE, ValueType.CONST, ChainType.XtwXv, false);
 	}
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixMultChainTest(SparsityType sptype, ValueType vtype, ChainType ctype, boolean compress)
+	
+	private static void runMatrixMultChainTest(SparsityType sptype, ValueType vtype, ChainType ctype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
index 30e57b4..c34216c 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
@@ -141,12 +141,7 @@ public class ParMatrixVectorMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
index a12588a..44e18c5 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
@@ -137,12 +137,7 @@ public class ParTransposeSelfLeftMatrixMultTest extends AutomatedTestBase
 		runTransposeSelfMatrixMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runTransposeSelfMatrixMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
index ebc1159..b883c21 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
@@ -1033,12 +1033,8 @@ public class ParUnaryAggregateTest extends AutomatedTestBase
 	public void testMinSparseConstDataNoCompression() {
 		runUnaryAggregateTest(SparsityType.SPARSE, ValueType.CONST, AggType.MIN, false);
 	}
-		
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
+	
+	private static void runUnaryAggregateTest(SparsityType sptype, ValueType vtype, AggType aggtype, boolean compress)
 	{
 		try
 		{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
index 5281404..1fee256 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
@@ -140,12 +140,7 @@ public class ParVectorMatrixMultTest extends AutomatedTestBase
 		runMatrixVectorMultTest(SparsityType.SPARSE, ValueType.CONST, false);
 	}
 	
-
-	/**
-	 * 
-	 * @param mb
-	 */
-	private void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
+	private static void runMatrixVectorMultTest(SparsityType sptype, ValueType vtype, boolean compress)
 	{
 		try
 		{


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/PmmSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/PmmSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/PmmSPInstruction.java
index 850d4ea..cfd2456 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/PmmSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/PmmSPInstruction.java
@@ -131,7 +131,7 @@ public class PmmSPInstruction extends BinarySPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			MatrixIndexes ixIn = arg0._1();
 			MatrixBlock mb2 = arg0._2();
 			
@@ -163,9 +163,9 @@ public class PmmSPInstruction extends BinarySPInstruction {
 				//hence we do a meta data correction afterwards)
 				mb1.permutationMatrixMultOperations(mb2, out1, out2);
 				out1.setNumRows(UtilFunctions.computeBlockSize(_rlen, rowIX1, _brlen));
-				ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(rowIX1, ixIn.getColumnIndex()), out1));
+				ret.add(new Tuple2<>(new MatrixIndexes(rowIX1, ixIn.getColumnIndex()), out1));
 				if( out2 != null )
-					ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(rowIX2, ixIn.getColumnIndex()), out2));
+					ret.add(new Tuple2<>(new MatrixIndexes(rowIX2, ixIn.getColumnIndex()), out2));
 			}
 			
 			return ret.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/QuaternarySPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/QuaternarySPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/QuaternarySPInstruction.java
index 907fa6f..a4d3b2e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/QuaternarySPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/QuaternarySPInstruction.java
@@ -200,8 +200,8 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 		QuaternaryOperator qop = (QuaternaryOperator) _optr;
 		
 		//tracking of rdds and broadcasts (for lineage maintenance)
-		ArrayList<String> rddVars = new ArrayList<String>();
-		ArrayList<String> bcVars = new ArrayList<String>();
+		ArrayList<String> rddVars = new ArrayList<>();
+		ArrayList<String> bcVars = new ArrayList<>();
 
 		JavaPairRDD<MatrixIndexes,MatrixBlock> in = sec.getBinaryBlockRDDHandleForVariable( input1.getName() );
 		JavaPairRDD<MatrixIndexes, MatrixBlock> out = null;
@@ -399,8 +399,8 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 				
 				//create return tuple
 				MatrixIndexes ixOut = createOutputIndexes(ixIn);
-				return new Tuple2<MatrixIndexes,MatrixBlock>(ixOut, blkOut);
-			}			
+				return new Tuple2<>(ixOut, blkOut);
+			}
 			
 		}
 	}
@@ -433,8 +433,8 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 			blkIn1.quaternaryOperations(_qop, mbU, mbV, mbW, blkOut);
 			
 			//create return tuple
-			MatrixIndexes ixOut = createOutputIndexes(ixIn);			
-			return new Tuple2<MatrixIndexes,MatrixBlock>(ixOut, blkOut);
+			MatrixIndexes ixOut = createOutputIndexes(ixIn);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 
@@ -470,7 +470,7 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 			
 			//create return tuple
 			MatrixIndexes ixOut = createOutputIndexes(ixIn);
-			return new Tuple2<MatrixIndexes,MatrixBlock>(ixOut, blkOut);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 	
@@ -504,7 +504,7 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 			
 			//create return tuple
 			MatrixIndexes ixOut = createOutputIndexes(ixIn1);
-			return new Tuple2<MatrixIndexes,MatrixBlock>(ixOut, blkOut);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 	
@@ -524,7 +524,7 @@ public class QuaternarySPInstruction extends ComputationSPInstruction {
 			MatrixBlock blkOut = new MatrixBlock(blkIn);
 			
 			//output new tuple
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut,blkOut);
+			return new Tuple2<>(ixOut,blkOut);
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/RandSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/RandSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/RandSPInstruction.java
index 668a7d6..b50bf73 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/RandSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/RandSPInstruction.java
@@ -354,26 +354,25 @@ public class RandSPInstruction extends UnarySPInstruction {
 		double hdfsBlkSize = InfrastructureAnalyzer.getHDFSBlockSize();
 		long numBlocks = new MatrixCharacteristics(rows, cols, rowsInBlock, colsInBlock).getNumBlocks();
 		long numColBlocks = (long)Math.ceil((double)cols/(double)colsInBlock);
-				
+		
 		//a) in-memory seed rdd construction 
 		if( numBlocks < INMEMORY_NUMBLOCKS_THRESHOLD )
 		{
 			ArrayList<Tuple2<MatrixIndexes, Tuple2<Long, Long>>> seeds = 
-					new ArrayList<Tuple2<MatrixIndexes, Tuple2<Long, Long>>>();
+					new ArrayList<>();
 			for( long i=0; i<numBlocks; i++ ) {
 				long r = 1 + i/numColBlocks;
 				long c = 1 + i%numColBlocks;
 				MatrixIndexes indx = new MatrixIndexes(r, c);
 				Long seedForBlock = bigrand.nextLong();
-				seeds.add(new Tuple2<MatrixIndexes, Tuple2<Long, Long>>(indx, 
-						new Tuple2<Long, Long>(seedForBlock, nnzIter.nextLong())));
+				seeds.add(new Tuple2<>(indx, new Tuple2<>(seedForBlock, nnzIter.nextLong())));
 			}
 			
 			//for load balancing: degree of parallelism such that ~128MB per partition
 			int numPartitions = (int) Math.max(Math.min(totalSize/hdfsBlkSize, numBlocks), 1);
 				
 			//create seeds rdd 
-			seedsRDD = sec.getSparkContext().parallelizePairs(seeds, numPartitions);				
+			seedsRDD = sec.getSparkContext().parallelizePairs(seeds, numPartitions);
 		}
 		//b) file-based seed rdd construction (for robustness wrt large number of blocks)
 		else
@@ -454,7 +453,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 		//a) in-memory offset rdd construction 
 		if( numBlocks < INMEMORY_NUMBLOCKS_THRESHOLD )
 		{
-			ArrayList<Double> offsets = new ArrayList<Double>();
+			ArrayList<Double> offsets = new ArrayList<>();
 			for( long i=0; i<numBlocks; i++ ) {
 				double off = seq_from + seq_incr*i*rowsInBlock;
 				offsets.add(off);
@@ -539,13 +538,12 @@ public class RandSPInstruction extends UnarySPInstruction {
 		int numPartitions = (int) Math.ceil((double)outputSize/hdfsBlockSize);
 		long partitionSize = (long) Math.ceil(maxValue/numPartitions);
 
-		ArrayList<SampleTask> offsets = new ArrayList<SampleTask>();
+		ArrayList<SampleTask> offsets = new ArrayList<>();
 		long st = 1;
 		while ( st <= maxValue ) {
 			SampleTask s = new SampleTask();
 			s.range_start = st;
 			s.seed = bigrand.nextLong();
-			
 			offsets.add(s);
 			st = st + partitionSize;
 		}
@@ -585,7 +583,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 		private static final long serialVersionUID = -725284524434342939L;
 		long seed;
 		long range_start;
-		
+		@Override
 		public String toString() { return "(" + seed + "," + range_start +")"; } 
 	}
 	
@@ -630,7 +628,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 
 			long st = t.range_start;
 			long end = Math.min(t.range_start+_partitionSize, _maxValue);
-			ArrayList<Double> retList = new ArrayList<Double>();
+			ArrayList<Double> retList = new ArrayList<>();
 			
 			if ( _frac == 1.0 ) 
 			{
@@ -696,8 +694,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 			long rowID = t._2()+1;
 			MatrixIndexes mi = new MatrixIndexes(rowID, 1);
 			MatrixCell mc = new MatrixCell(t._1());
-			
-			return new Tuple2<MatrixIndexes, MatrixCell>(mi, mc);
+			return new Tuple2<>(mi, mc);
 		}
 	}
 	
@@ -714,7 +711,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 		}
 		@Override
 		public Tuple2<Double, Double> call(Double t) throws Exception {
-			return new Tuple2<Double,Double>( r.nextDouble(), t );
+			return new Tuple2<>( r.nextDouble(), t );
 		}
 	}
 
@@ -728,10 +725,9 @@ public class RandSPInstruction extends UnarySPInstruction {
 			String[] parts = IOUtilFunctions.split(arg, ",");
 			MatrixIndexes ix = new MatrixIndexes(
 					Long.parseLong(parts[0]), Long.parseLong(parts[1]));
-			Tuple2<Long,Long> seed = new Tuple2<Long,Long>(
+			Tuple2<Long,Long> seed = new Tuple2<>(
 					Long.parseLong(parts[2]), Long.parseLong(parts[3]));
-			
-			return new Tuple2<MatrixIndexes, Tuple2<Long, Long>>(ix,seed);
+			return new Tuple2<>(ix,seed);
 		}
 	}
 
@@ -780,19 +776,15 @@ public class RandSPInstruction extends UnarySPInstruction {
 			long blockColIndex = ix.getColumnIndex();
 			int lrlen = UtilFunctions.computeBlockSize(_rlen, blockRowIndex, _brlen);
 			int lclen = UtilFunctions.computeBlockSize(_clen, blockColIndex, _bclen);
-			
 			long seed = kv._2._1;
 			long blockNNZ = kv._2._2;
 			
 			MatrixBlock blk = new MatrixBlock();
-			
 			RandomMatrixGenerator rgen = LibMatrixDatagen.createRandomMatrixGenerator(
 					_pdf, lrlen, lclen, lrlen, lclen,   
 					_sparsity, _min, _max, _pdfParams );
-			
 			blk.randOperationsInPlace(rgen, LongStream.of(blockNNZ), null, seed);
-
-			return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, blk);
+			return new Tuple2<>(kv._1, blk);
 		}
 	}
 
@@ -819,12 +811,12 @@ public class RandSPInstruction extends UnarySPInstruction {
 			double seq_to = (_seq_incr > 0) ?
 				Math.min(_global_seq_end, seq_from + _seq_incr*(_brlen-1)) :
 				Math.max(_global_seq_end, seq_from + _seq_incr*(_brlen+1));
-			long globalRow = (long)Math.round((seq_from-_global_seq_start)/_seq_incr)+1;			
+			long globalRow = (long)Math.round((seq_from-_global_seq_start)/_seq_incr)+1;
 			long rowIndex = UtilFunctions.computeBlockIndex(globalRow, _brlen);
 			
 			MatrixIndexes indx = new MatrixIndexes(rowIndex, 1);
 			MatrixBlock blk = MatrixBlock.seqOperations(seq_from, seq_to, _seq_incr);
-			return new Tuple2<MatrixIndexes, MatrixBlock>(indx, blk);
+			return new Tuple2<>(indx, blk);
 		}	
 	}
 	
@@ -841,7 +833,7 @@ public class RandSPInstruction extends UnarySPInstruction {
 	private boolean isMemAvail(long lRows, long lCols, double sparsity, double min, double max) 
 	{
 		double size = (min == 0 && max == 0) ? OptimizerUtils.estimateSizeEmptyBlock(rows, cols):
-												OptimizerUtils.estimateSizeExactSparsity(rows, cols, sparsity);
+			OptimizerUtils.estimateSizeExactSparsity(rows, cols, sparsity);
 		
 		return ( OptimizerUtils.isValidCPDimensions(rows, cols)
 				 && OptimizerUtils.isValidCPMatrixSize(rows, cols, sparsity) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/ReorgSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/ReorgSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/ReorgSPInstruction.java
index b547310..f8b92ac 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/ReorgSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/ReorgSPInstruction.java
@@ -242,7 +242,7 @@ public class ReorgSPInstruction extends UnarySPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ixIn = arg0._1();
 			MatrixBlock blkIn = arg0._2();
@@ -251,16 +251,16 @@ public class ReorgSPInstruction extends UnarySPInstruction {
 			long rix = ixIn.getRowIndex();
 			MatrixIndexes ixOut = new MatrixIndexes(rix, rix);
 			MatrixBlock blkOut = (MatrixBlock) blkIn.reorgOperations(_reorgOp, new MatrixBlock(), -1, -1, -1);
-			ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(ixOut,blkOut));
+			ret.add(new Tuple2<>(ixOut,blkOut));
 			
 			// insert newly created empty blocks for entire row
 			int numBlocks = (int) Math.ceil((double)_mcIn.getRows()/_mcIn.getRowsPerBlock());
 			for(int i = 1; i <= numBlocks; i++) {
 				if(i != ixOut.getColumnIndex()) {
 					int lrlen = UtilFunctions.computeBlockSize(_mcIn.getRows(), rix, _mcIn.getRowsPerBlock());
-		    		int lclen = UtilFunctions.computeBlockSize(_mcIn.getRows(), i, _mcIn.getRowsPerBlock());
-		    		MatrixBlock emptyBlk = new MatrixBlock(lrlen, lclen, true);
-					ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(rix, i), emptyBlk));
+					int lclen = UtilFunctions.computeBlockSize(_mcIn.getRows(), i, _mcIn.getRowsPerBlock());
+					MatrixBlock emptyBlk = new MatrixBlock(lrlen, lclen, true);
+					ret.add(new Tuple2<>(new MatrixIndexes(rix, i), emptyBlk));
 				}
 			}
 			
@@ -288,7 +288,7 @@ public class ReorgSPInstruction extends UnarySPInstruction {
 			IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(arg0);
 			
 			//execute reverse operation
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			LibMatrixReorg.rev(in, _mcIn.getRows(), _mcIn.getRowsPerBlock(), out);
 			
 			//construct output

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/RmmSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/RmmSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/RmmSPInstruction.java
index 43ba34a..608200f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/RmmSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/RmmSPInstruction.java
@@ -140,7 +140,7 @@ public class RmmSPInstruction extends BinarySPInstruction {
 		public Iterator<Tuple2<TripleIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 			throws Exception 
 		{
-			LinkedList<Tuple2<TripleIndexes, MatrixBlock>> ret = new LinkedList<Tuple2<TripleIndexes, MatrixBlock>>();
+			LinkedList<Tuple2<TripleIndexes, MatrixBlock>> ret = new LinkedList<>();
 			MatrixIndexes ixIn = arg0._1();
 			MatrixBlock blkIn = arg0._2();
 			
@@ -153,7 +153,7 @@ public class RmmSPInstruction extends BinarySPInstruction {
 				long k = ixIn.getColumnIndex();
 				for( long j=1; j<=numBlocks; j++ ) {
 					TripleIndexes tmptix = new TripleIndexes(i, j, k);
-					ret.add( new Tuple2<TripleIndexes, MatrixBlock>(tmptix, blkIn) );
+					ret.add( new Tuple2<>(tmptix, blkIn) );
 				}
 			} 
 			else // RHS MATRIX
@@ -163,7 +163,7 @@ public class RmmSPInstruction extends BinarySPInstruction {
 				long j = ixIn.getColumnIndex();
 				for( long i=1; i<=numBlocks; i++ ) {
 					TripleIndexes tmptix = new TripleIndexes(i, j, k);
-					ret.add( new Tuple2<TripleIndexes, MatrixBlock>(tmptix, blkIn) );
+					ret.add( new Tuple2<>(tmptix, blkIn) );
 				}
 			}
 			
@@ -197,9 +197,9 @@ public class RmmSPInstruction extends BinarySPInstruction {
 			
 			//core block matrix multiplication 
 			blkIn1.aggregateBinaryOperations(blkIn1, blkIn2, blkOut, _op);
-							
+			
 			//output new tuple
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 b4e48df..4ef5109 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
@@ -263,7 +263,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 			MatrixBlock mb = arg0._2(); //col-vector
 			
 			//create an output cell per matrix block row (aligned w/ original source position)
-			ArrayList<Tuple2<MatrixIndexes, Double>> retVal = new ArrayList<Tuple2<MatrixIndexes,Double>>();
+			ArrayList<Tuple2<MatrixIndexes, Double>> retVal = new ArrayList<>();
 			CTable ctab = CTable.getCTableFnObject();
 			for( int i=0; i<mb.getNumRows(); i++ )
 			{
@@ -274,7 +274,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 				
 				//indirect construction over pair to avoid tuple2 dependency in general ctable obj
 				if( p.getKey().getRowIndex() >= 1 ) //filter rejected entries
-					retVal.add(new Tuple2<MatrixIndexes,Double>(p.getKey(), p.getValue()));
+					retVal.add(new Tuple2<>(p.getKey(), p.getValue()));
 			}
 			
 			return retVal.iterator();
@@ -306,9 +306,9 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 			in1 = extractBlock(kv._2._1, in1);
 			in2 = extractBlock(kv._2._2, in2);
 			// Now return unflatten AL
-			ArrayList<MatrixBlock> inputs = new ArrayList<MatrixBlock>();
+			ArrayList<MatrixBlock> inputs = new ArrayList<>();
 			inputs.add(in1); inputs.add(in2);  
-			return new Tuple2<MatrixIndexes, ArrayList<MatrixBlock>>(kv._1, inputs);
+			return new Tuple2<>(kv._1, inputs);
 		}
 		
 	}
@@ -343,9 +343,9 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 			in3 = extractBlock(kv._2._2, in3);
 			
 			// Now return unflatten AL
-			ArrayList<MatrixBlock> inputs = new ArrayList<MatrixBlock>();
+			ArrayList<MatrixBlock> inputs = new ArrayList<>();
 			inputs.add(in1); inputs.add(in2); inputs.add(in3);  
-			return new Tuple2<MatrixIndexes, ArrayList<MatrixBlock>>(kv._1, inputs);
+			return new Tuple2<>(kv._1, inputs);
 		}
 		
 	}
@@ -430,10 +430,9 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 					break;
 				}
 				default:
-					throw new DMLRuntimeException("Unrecognized opcode in Tertiary Instruction: " + instString);		
+					throw new DMLRuntimeException("Unrecognized opcode in Tertiary Instruction: " + instString);
 			}
-			
-			return new Tuple2<MatrixIndexes, CTableMap>(kv._1, ctableResult);
+			return new Tuple2<>(kv._1, ctableResult);
 		}
 		
 	}
@@ -445,9 +444,9 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 		@Override
 		public Tuple2<MatrixIndexes, ArrayList<MatrixBlock>> call(
 				Tuple2<MatrixIndexes, MatrixBlock> kv) throws Exception {
-			ArrayList<MatrixBlock> retVal = new ArrayList<MatrixBlock>();
+			ArrayList<MatrixBlock> retVal = new ArrayList<>();
 			retVal.add(kv._2);
-			return new Tuple2<MatrixIndexes, ArrayList<MatrixBlock>>(kv._1, retVal);
+			return new Tuple2<>(kv._1, retVal);
 		}
 		
 	}
@@ -459,14 +458,14 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 		@Override
 		public Iterator<Tuple2<MatrixIndexes, Double>> call(CTableMap ctableMap)
 				throws Exception {
-			ArrayList<Tuple2<MatrixIndexes, Double>> retVal = new ArrayList<Tuple2<MatrixIndexes, Double>>();
+			ArrayList<Tuple2<MatrixIndexes, Double>> retVal = new ArrayList<>();
 			Iterator<LLDoubleEntry> iter = ctableMap.getIterator();
 			while( iter.hasNext() ) {
 				LLDoubleEntry ijv = iter.next();
 				long i = ijv.key1;
 				long j =  ijv.key2;
 				double v =  ijv.value;
-				retVal.add(new Tuple2<MatrixIndexes, Double>(new MatrixIndexes(i, j), v));
+				retVal.add(new Tuple2<>(new MatrixIndexes(i, j), v));
 			}
 			return retVal.iterator();
 		}
@@ -482,7 +481,7 @@ public class TernarySPInstruction extends ComputationSPInstruction {
 				Tuple2<MatrixIndexes, Double> kv) throws Exception {
 			
 			MatrixCell cell = new MatrixCell(kv._2().doubleValue());
-			return new Tuple2<MatrixIndexes, MatrixCell>(kv._1(), cell);
+			return new Tuple2<>(kv._1(), cell);
 		}
 		
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 5147b8f..e52fbdc 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
@@ -147,14 +147,14 @@ public class Tsmm2SPInstruction extends UnarySPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Tuple2<MatrixIndexes, MatrixBlock> arg0)
 			throws Exception 
 		{
-			List<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			List<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			MatrixIndexes ixin = arg0._1();
 			MatrixBlock mbin = arg0._2();
 			
 			//execute block tsmm operation
 			MatrixBlock out1 = mbin.transposeSelfMatrixMultOperations(new MatrixBlock(), _type);
 			long ixout = _type.isLeft() ? ixin.getColumnIndex() : ixin.getRowIndex();
-			ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(ixout, ixout), out1));
+			ret.add(new Tuple2<>(new MatrixIndexes(ixout, ixout), out1));
 			
 			if( _type.isLeft() ? ixin.getColumnIndex() == 1 : ixin.getRowIndex() == 1 ) {
 				//execute block mapmm operation for full block only (output two blocks, due to symmetry)
@@ -166,11 +166,11 @@ public class Tsmm2SPInstruction extends UnarySPInstruction {
 				MatrixBlock out2 = (MatrixBlock) OperationsOnMatrixValues.performAggregateBinaryIgnoreIndexes( //mm
 						_type.isLeft() ? mbin2t : mbin, _type.isLeft() ? mbin : mbin2t, new MatrixBlock(), _op);
 				MatrixIndexes ixout2 = _type.isLeft() ? new MatrixIndexes(2,1) : new MatrixIndexes(1,2);
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ixout2, out2));
+				ret.add(new Tuple2<>(ixout2, out2));
 				
 				MatrixBlock out3 = transpose(out2, new MatrixBlock()); 
 				MatrixIndexes ixout3 = _type.isLeft() ? new MatrixIndexes(1,2) : new MatrixIndexes(2,1);
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ixout3, out3));
+				ret.add(new Tuple2<>(ixout3, out3));
 			}
 			
 			return ret.iterator();
@@ -254,9 +254,9 @@ public class Tsmm2SPInstruction extends UnarySPInstruction {
 			throws Exception 
 		{
 			if( _type.isLeft() )
-				return new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(arg0._1().getRowIndex(), 1), arg0._2());
+				return new Tuple2<>(new MatrixIndexes(arg0._1().getRowIndex(), 1), arg0._2());
 			else
-				return new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(1, arg0._1().getColumnIndex()), arg0._2());	
+				return new Tuple2<>(new MatrixIndexes(1, arg0._1().getColumnIndex()), arg0._2());	
 		}
 	}	
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/UaggOuterChainSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/UaggOuterChainSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/UaggOuterChainSPInstruction.java
index 51ea00b..9c7aefc 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/UaggOuterChainSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/UaggOuterChainSPInstruction.java
@@ -265,21 +265,18 @@ public class UaggOuterChainSPInstruction extends BinarySPInstruction {
 			{
 				MatrixIndexes in1Ix = arg._1();
 				MatrixBlock in1Val  = arg._2();
-
 				MatrixIndexes outIx = new MatrixIndexes();
 				MatrixBlock outVal = new MatrixBlock();
 				
 				int [] bvi = null;
 				if((LibMatrixOuterAgg.isRowIndexMax(_uaggOp)) || (LibMatrixOuterAgg.isRowIndexMin(_uaggOp)))
-				{
 					bvi = _bvi.getValue();
-				}
 
 				LibMatrixOuterAgg.resetOutputMatix(in1Ix, in1Val, outIx, outVal, _uaggOp);
 				LibMatrixOuterAgg.aggregateMatrix(in1Val, outVal, _bv.value(), bvi, _bOp, _uaggOp);
 
-				return new Tuple2<MatrixIndexes, MatrixBlock>(outIx, outVal);	
-			}			
+				return new Tuple2<>(outIx, outVal);
+			}
 		}
 	}
 
@@ -366,9 +363,8 @@ public class UaggOuterChainSPInstruction extends BinarySPInstruction {
 					else 
 						OperationsOnMatrixValues.incrementalAggregation(outVal, null, _tmpVal2, _aggOp, true);
 				}
-				
-				return new Tuple2<MatrixIndexes, MatrixBlock>(outIx, outVal);
-			}			
-		}	
+				return new Tuple2<>(outIx, outVal);
+			}
+		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 046abf5..2fb47f9 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
@@ -168,9 +168,9 @@ public class WriteSPInstruction extends SPInstruction {
 				in1 = in1.mapValues(new ComputeBinaryBlockNnzFunction(aNnz));
 			}
 			
-			JavaRDD<String> header = null;				
+			JavaRDD<String> header = null;
 			if( oi == OutputInfo.MatrixMarketOutputInfo  ) {
-				ArrayList<String> headerContainer = new ArrayList<String>(1);
+				ArrayList<String> headerContainer = new ArrayList<>(1);
 				// First output MM header
 				String headerStr = "%%MatrixMarket matrix coordinate real general\n" +
 						// output number of rows, number of columns and number of nnz

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BroadcastObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BroadcastObject.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BroadcastObject.java
index bdd34e4..53b9d34 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BroadcastObject.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BroadcastObject.java
@@ -32,7 +32,7 @@ public class BroadcastObject<T extends CacheBlock> extends LineageObject
 	
 	public BroadcastObject( PartitionedBroadcast<T> bvar, String varName, long size ) {
 		super(varName);
-		_bcHandle = new SoftReference<PartitionedBroadcast<T>>(bvar);
+		_bcHandle = new SoftReference<>(bvar);
 		_size = size;
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/LineageObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/LineageObject.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/LineageObject.java
index 58629e6..4d6f0c6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/LineageObject.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/LineageObject.java
@@ -37,7 +37,7 @@ public abstract class LineageObject
 	protected LineageObject(String varName) {
 		_varName = varName;
 		_numRef = 0;
-		_childs = new ArrayList<LineageObject>();
+		_childs = new ArrayList<>();
 	}
 	
 	public String getVarName() {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/PartitionedBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/PartitionedBlock.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/PartitionedBlock.java
index 08257f6..ed5167b 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/PartitionedBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/PartitionedBlock.java
@@ -109,7 +109,7 @@ public class PartitionedBlock<T extends CacheBlock> implements Externalizable
 
 	public PartitionedBlock<T> createPartition( int offset, int numBlks, T block )
 	{
-		PartitionedBlock<T> ret = new PartitionedBlock<T>();
+		PartitionedBlock<T> ret = new PartitionedBlock<>();
 		ret._rlen = _rlen;
 		ret._clen = _clen;
 		ret._brlen = _brlen;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.java
index cd6e58d..32c86c4 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.java
@@ -37,8 +37,7 @@ public class ConvertFrameBlockToIJVLines implements FlatMapFunction<Tuple2<Long,
 	{
 		long rowoffset = kv._1;
 		FrameBlock block = kv._2;
-		
-		ArrayList<String> cells = new ArrayList<String>();
+		ArrayList<String> cells = new ArrayList<>();
 		
 		//write frame meta data
 		if( rowoffset == 1 ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertStringToLongTextPair.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertStringToLongTextPair.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertStringToLongTextPair.java
index d496b27..26dbf5e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertStringToLongTextPair.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ConvertStringToLongTextPair.java
@@ -30,7 +30,7 @@ public class ConvertStringToLongTextPair implements PairFunction<String, LongWri
 
 	@Override
 	public Tuple2<LongWritable, Text> call(String arg0) throws Exception {
-		return new Tuple2<LongWritable, Text>(new LongWritable(1), new Text(arg0));
+		return new Tuple2<>(new LongWritable(1), new Text(arg0));
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBinaryCellFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBinaryCellFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBinaryCellFunction.java
index b7742cc..957e526 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBinaryCellFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBinaryCellFunction.java
@@ -40,6 +40,6 @@ public class CopyBinaryCellFunction implements PairFunction<Tuple2<MatrixIndexes
 		MatrixIndexes ix = new MatrixIndexes(arg0._1());
 		MatrixCell cell = new MatrixCell();
 		cell.copy(arg0._2());
-		return new Tuple2<MatrixIndexes,MatrixCell>(ix,cell);
+		return new Tuple2<>(ix,cell);
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBlockPairFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBlockPairFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBlockPairFunction.java
index 42d4843..5423a8f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBlockPairFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyBlockPairFunction.java
@@ -76,7 +76,7 @@ public class CopyBlockPairFunction implements PairFlatMapFunction<Iterator<Tuple
 					block = new MatrixBlock(arg._2, SparseBlock.Type.CSR, true);
 				else
 					block = new MatrixBlock(arg._2());
-				return new Tuple2<MatrixIndexes,MatrixBlock>(ix,block);
+				return new Tuple2<>(ix,block);
 			}
 			else {
 				return arg;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.java
index df891f7..81d6739 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.java
@@ -51,10 +51,10 @@ public class CopyFrameBlockPairFunction implements PairFunction<Tuple2<LongWrita
 	{	
 		if( _deepCopy ) {
 			FrameBlock block = new FrameBlock(arg0._2());
-			return new Tuple2<Long,FrameBlock>(arg0._1().get(), block);
+			return new Tuple2<>(arg0._1().get(), block);
 		}
 		else {
-			return new Tuple2<Long,FrameBlock>(arg0._1().get(), arg0._2());
+			return new Tuple2<>(arg0._1().get(), arg0._2());
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyTextInputFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyTextInputFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyTextInputFunction.java
index 3a2c38d..bb01ca6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyTextInputFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/CopyTextInputFunction.java
@@ -38,6 +38,6 @@ public class CopyTextInputFunction implements PairFunction<Tuple2<LongWritable,
 		Tuple2<LongWritable, Text> arg0) throws Exception {
 		LongWritable lw = new LongWritable(arg0._1().get());
 		Text txt = new Text(arg0._2());
-		return new Tuple2<LongWritable,Text>(lw, txt);
+		return new Tuple2<>(lw, txt);
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.java
index 61b4385..e6042ed 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.java
@@ -80,7 +80,7 @@ public class ExtractBlockForBinaryReblock implements PairFlatMapFunction<Tuple2<
 		long out_endColBlockIndex = UtilFunctions.computeBlockIndex(endColGlobalCellIndex, out_bclen);
 		assert(out_startRowBlockIndex <= out_endRowBlockIndex && out_startColBlockIndex <= out_endColBlockIndex);
 		
-		ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+		ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<>();
 		
 		for(long i = out_startRowBlockIndex; i <= out_endRowBlockIndex; i++) {
 			for(long j = out_startColBlockIndex; j <= out_endColBlockIndex; j++) {
@@ -105,7 +105,7 @@ public class ExtractBlockForBinaryReblock implements PairFlatMapFunction<Tuple2<
 						blk.appendValue(out_i1, out_j1, val);
 					}
 				}
-				retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(indx, blk));
+				retVal.add(new Tuple2<>(indx, blk));
 			}
 		}
 		return retVal.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroup.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroup.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroup.java
index 56c1c46..3e6908b 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroup.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroup.java
@@ -58,7 +58,7 @@ public abstract class ExtractGroup implements Serializable
 		}
 		
 		//output weighted cells
-		ArrayList<Tuple2<MatrixIndexes, WeightedCell>> groupValuePairs = new ArrayList<Tuple2<MatrixIndexes, WeightedCell>>();
+		ArrayList<Tuple2<MatrixIndexes, WeightedCell>> groupValuePairs = new ArrayList<>();
 		long coloff = (ix.getColumnIndex()-1)*_bclen;
 		
 		//local pre-aggregation for sum w/ known output dimensions
@@ -75,7 +75,7 @@ public abstract class ExtractGroup implements Serializable
 						weightedCell.setValue(tmpval);
 						weightedCell.setWeight(1);
 						MatrixIndexes ixout = new MatrixIndexes(i+1,coloff+j+1);
-						groupValuePairs.add(new Tuple2<MatrixIndexes, WeightedCell>(ixout, weightedCell));
+						groupValuePairs.add(new Tuple2<>(ixout, weightedCell));
 					}
 				}
 			}
@@ -93,7 +93,7 @@ public abstract class ExtractGroup implements Serializable
 					weightedCell.setValue(target.quickGetValue(i, j));
 					weightedCell.setWeight(1);
 					MatrixIndexes ixout = new MatrixIndexes(groupVal,coloff+j+1);
-					groupValuePairs.add(new Tuple2<MatrixIndexes, WeightedCell>(ixout, weightedCell));
+					groupValuePairs.add(new Tuple2<>(ixout, weightedCell));
 				}
 			}
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroupNWeights.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroupNWeights.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroupNWeights.java
index d040dbc..c3900a5 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroupNWeights.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ExtractGroupNWeights.java
@@ -50,7 +50,7 @@ public class ExtractGroupNWeights implements PairFlatMapFunction<Tuple2<MatrixIn
 		}
 		
 		//output weighted cells		
-		ArrayList<Tuple2<MatrixIndexes, WeightedCell>> groupValuePairs = new ArrayList<Tuple2<MatrixIndexes, WeightedCell>>();
+		ArrayList<Tuple2<MatrixIndexes, WeightedCell>> groupValuePairs = new ArrayList<>();
 		for(int i = 0; i < group.getNumRows(); i++) {
 			WeightedCell weightedCell = new WeightedCell();
 			weightedCell.setValue(target.quickGetValue(i, 0));
@@ -60,7 +60,7 @@ public class ExtractGroupNWeights implements PairFlatMapFunction<Tuple2<MatrixIn
 				throw new Exception("Expected group values to be greater than equal to 1 but found " + groupVal);
 			}
 			MatrixIndexes ix = new MatrixIndexes(groupVal, 1);
-			groupValuePairs.add(new Tuple2<MatrixIndexes, WeightedCell>(ix, weightedCell));
+			groupValuePairs.add(new Tuple2<>(ix, weightedCell));
 		}
 		
 		return groupValuePairs.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/GetMIMBFromRow.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/GetMIMBFromRow.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/GetMIMBFromRow.java
index 6197b75..430af80 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/GetMIMBFromRow.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/GetMIMBFromRow.java
@@ -33,14 +33,9 @@ public class GetMIMBFromRow implements PairFunction<Row, MatrixIndexes, MatrixBl
 
 	@Override	
 	public Tuple2<MatrixIndexes, MatrixBlock> call(Row row) throws Exception {
-//		try {
 			MatrixIndexes indx = (MatrixIndexes) row.apply(0);
 			MatrixBlock blk = (MatrixBlock) row.apply(1);
-			return new Tuple2<MatrixIndexes, MatrixBlock>(indx, blk);
-//		}
-//		catch(Exception e) {
-//			throw new Exception("Incorrect type of DataFrame passed to MLMatrix:" + e.getMessage());
-//		}
+			return new Tuple2<>(indx, blk);
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.java
index 70f3318..afd2e1a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.java
@@ -80,7 +80,7 @@ public class MatrixVectorBinaryOpPartitionFunction implements PairFlatMapFunctio
 				
 			//execute the binary operation
 			MatrixBlock ret = (MatrixBlock) (in1.binaryOperations (_op, in2, new MatrixBlock()));
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ix, ret);	
+			return new Tuple2<>(ix, ret);	
 		}			
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.java
index ddb77e8..3a2cd15 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.java
@@ -84,8 +84,7 @@ public class OuterVectorBinaryOpFunction implements PairFlatMapFunction<Tuple2<M
 				MatrixBlock in2 = _pmV.getBlock(1, _currPos);
 				MatrixBlock resultBlk = (MatrixBlock)in1.binaryOperations (_op, in2, new MatrixBlock());
 				resultBlk.examSparsity(); 
-				ret = new Tuple2<MatrixIndexes,MatrixBlock>(
-						new MatrixIndexes(ix.getRowIndex(), _currPos), resultBlk);
+				ret = new Tuple2<>(new MatrixIndexes(ix.getRowIndex(), _currPos), resultBlk);
 				_currPos ++;
 			}
 			catch(Exception ex) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReorgMapFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReorgMapFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReorgMapFunction.java
index 79b9460..111e3b9 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReorgMapFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReorgMapFunction.java
@@ -60,16 +60,13 @@ public class ReorgMapFunction implements PairFunction<Tuple2<MatrixIndexes, Matr
 	{
 		MatrixIndexes ixIn = arg0._1();
 		MatrixBlock blkIn = arg0._2();
-
 		//swap the matrix indexes
 		MatrixIndexes ixOut = new MatrixIndexes(ixIn);
 		_indexFnObject.execute(ixIn, ixOut);
-		
 		//swap the matrix block data
 		MatrixBlock blkOut = (MatrixBlock) blkIn.reorgOperations(_reorgOp, new MatrixBlock(), -1, -1, -1);
-		
 		//output new tuple
-		return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut,blkOut);
+		return new Tuple2<>(ixOut,blkOut);
 	}
 	
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateBlockFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateBlockFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateBlockFunction.java
index 22ea33f..00f67cf 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateBlockFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateBlockFunction.java
@@ -19,8 +19,8 @@
 
 package org.apache.sysml.runtime.instructions.spark.functions;
 
+import java.util.ArrayList;
 import java.util.Iterator;
-import java.util.LinkedList;
 
 import org.apache.spark.api.java.function.PairFlatMapFunction;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
@@ -53,7 +53,7 @@ public class ReplicateBlockFunction implements PairFlatMapFunction<Tuple2<Matrix
 	public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 		throws Exception 
 	{
-		LinkedList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new LinkedList<Tuple2<MatrixIndexes, MatrixBlock>>();
+		ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 		MatrixIndexes ixIn = arg0._1();
 		MatrixBlock blkIn = arg0._2();
 		
@@ -66,7 +66,7 @@ public class ReplicateBlockFunction implements PairFlatMapFunction<Tuple2<Matrix
 			for( long j=1; j<=numBlocks; j++ ) {
 				MatrixIndexes tmpix = new MatrixIndexes(i, j);
 				MatrixBlock tmpblk = _deep ? new MatrixBlock(blkIn) : blkIn;
-				ret.add( new Tuple2<MatrixIndexes, MatrixBlock>(tmpix, tmpblk) );
+				ret.add( new Tuple2<>(tmpix, tmpblk) );
 			}
 		} 
 		else // RHS MATRIX
@@ -76,7 +76,7 @@ public class ReplicateBlockFunction implements PairFlatMapFunction<Tuple2<Matrix
 			for( long i=1; i<=numBlocks; i++ ) {
 				MatrixIndexes tmpix = new MatrixIndexes(i, j);
 				MatrixBlock tmpblk = _deep ? new MatrixBlock(blkIn) : blkIn;
-				ret.add( new Tuple2<MatrixIndexes, MatrixBlock>(tmpix, tmpblk) );
+				ret.add( new Tuple2<>(tmpix, tmpblk) );
 			}
 		}
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateVectorFunction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateVectorFunction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateVectorFunction.java
index 8c6eb92..a0d1770 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateVectorFunction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/functions/ReplicateVectorFunction.java
@@ -59,14 +59,13 @@ public class ReplicateVectorFunction implements PairFlatMapFunction<Tuple2<Matri
 			throw new Exception("Expected a column vector in ReplicateVector");
 		}
 		
-		ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+		ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<>();
 		for(int i = 1; i <= _numReplicas; i++) {
 			if( _byRow )
-				retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(i, ix.getColumnIndex()), mb));
+				retVal.add(new Tuple2<>(new MatrixIndexes(i, ix.getColumnIndex()), mb));
 			else
-				retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(ix.getRowIndex(), i), mb));
+				retVal.add(new Tuple2<>(new MatrixIndexes(ix.getRowIndex(), i), mb));
 		}
-		
 		return retVal.iterator();
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 4e836eb..055b33b 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
@@ -305,7 +305,7 @@ public class FrameRDDConverterUtils
 	public static StructType convertFrameSchemaToDFSchema(ValueType[] fschema, boolean containsID)
 	{
 		// generate the schema based on the string of schema
-		List<StructField> fields = new ArrayList<StructField>();
+		List<StructField> fields = new ArrayList<>();
 		
 		// add id column type
 		if( containsID )
@@ -474,9 +474,8 @@ public class FrameRDDConverterUtils
 			while( max >= 0 && arg0.hasNext() ) {
 				long val = arg0.next();
 				max = (val < max) ? -1 : val;
-			}			
-			
-			ArrayList<Long> ret = new ArrayList<Long>();	
+			}
+			ArrayList<Long> ret = new ArrayList<>();
 			ret.add(max);
 			return ret.iterator();
 		}
@@ -492,7 +491,7 @@ public class FrameRDDConverterUtils
 
 		@Override
 		public Tuple2<LongWritable, Text> call(String arg0) throws Exception {
-			return new Tuple2<LongWritable,Text>(new SerLongWritable(1L), new SerText(arg0));
+			return new Tuple2<>(new SerLongWritable(1L), new SerText(arg0));
 		}
 	}
 
@@ -502,7 +501,7 @@ public class FrameRDDConverterUtils
 		
 		@Override
 		public Tuple2<LongWritable, FrameBlock> call(Tuple2<LongWritable, FrameBlock> arg0) throws Exception  {
-			return new Tuple2<LongWritable,FrameBlock>(new SerLongWritable(arg0._1.get()), arg0._2);
+			return new Tuple2<>(new SerLongWritable(arg0._1.get()), arg0._2);
 		}
 	}
 
@@ -512,7 +511,7 @@ public class FrameRDDConverterUtils
 
 		@Override
 		public Tuple2<Long, Text> call(Tuple2<LongWritable, Text> arg0) throws Exception  {
-			return new Tuple2<Long,Text>(new Long(arg0._1.get()), arg0._2);
+			return new Tuple2<>(new Long(arg0._1.get()), arg0._2);
 		}
 	}
 
@@ -522,7 +521,7 @@ public class FrameRDDConverterUtils
 
 		@Override
 		public Tuple2<LongWritable, FrameBlock> call(Tuple2<Long, FrameBlock> arg0) throws Exception  {
-			return new Tuple2<LongWritable, FrameBlock>(new LongWritable(arg0._1), arg0._2);
+			return new Tuple2<>(new LongWritable(arg0._1), arg0._2);
 		}
 	}
 
@@ -532,7 +531,7 @@ public class FrameRDDConverterUtils
 
 		@Override
 		public Tuple2<Long, FrameBlock> call(Tuple2<LongWritable, FrameBlock> arg0) throws Exception  {
-			return new Tuple2<Long, FrameBlock>(arg0._1.get(), arg0._2);
+			return new Tuple2<>(arg0._1.get(), arg0._2);
 		}
 	}
 
@@ -579,7 +578,7 @@ public class FrameRDDConverterUtils
 		public Iterator<Tuple2<Long, FrameBlock>> call(Iterator<Tuple2<Text,Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<Tuple2<Long,FrameBlock>>();
+			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<>();
 
 			long ix = -1;
 			FrameBlock fb = null;
@@ -651,7 +650,7 @@ public class FrameRDDConverterUtils
 			throws DMLRuntimeException
 		{			
 			if( fb != null && fb.getNumRows()>0 )
-				ret.add(new Tuple2<Long,FrameBlock>(ix, fb));
+				ret.add(new Tuple2<>(ix, fb));
 		}
 	}
 
@@ -672,7 +671,7 @@ public class FrameRDDConverterUtils
 			Long ix = arg0._1();
 			FrameBlock blk = arg0._2();
 			
-			ArrayList<String> ret = new ArrayList<String>();
+			ArrayList<String> ret = new ArrayList<>();
 			StringBuilder sb = new StringBuilder();
 			
 			//handle header information and frame meta data
@@ -745,7 +744,7 @@ public class FrameRDDConverterUtils
 		public Iterator<Tuple2<Long, FrameBlock>> call(Iterator<Tuple2<Row, Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<Tuple2<Long,FrameBlock>>();
+			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<>();
 
 			long ix = -1;
 			FrameBlock fb = null;
@@ -791,7 +790,7 @@ public class FrameRDDConverterUtils
 			throws DMLRuntimeException
 		{			
 			if( fb != null && fb.getNumRows()>0 )
-				ret.add(new Tuple2<Long,FrameBlock>(ix, fb));
+				ret.add(new Tuple2<>(ix, fb));
 		}
 	}
 
@@ -805,7 +804,7 @@ public class FrameRDDConverterUtils
 		{
 			long rowIndex = arg0._1();
 			FrameBlock blk = arg0._2();
-			ArrayList<Row> ret = new ArrayList<Row>();
+			ArrayList<Row> ret = new ArrayList<>();
 
 			//handle Frame block data
 			int rows = blk.getNumRows();
@@ -846,7 +845,7 @@ public class FrameRDDConverterUtils
 			throws IOException, DMLRuntimeException
 		{
 			//temporary list of indexed matrix values to prevent library dependencies
-			ArrayList<Pair<Long, FrameBlock>> rettmp = new ArrayList<Pair<Long, FrameBlock>>();
+			ArrayList<Pair<Long, FrameBlock>> rettmp = new ArrayList<>();
 			rbuff.flushBufferToBinaryBlocks(rettmp);
 			ret.addAll(SparkUtils.fromIndexedFrameBlock(rettmp));
 		}
@@ -866,7 +865,7 @@ public class FrameRDDConverterUtils
 		public Iterator<Tuple2<Long, FrameBlock>> call(Iterator<Text> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<Tuple2<Long,FrameBlock>>();
+			ArrayList<Tuple2<Long,FrameBlock>> ret = new ArrayList<>();
 			FrameReblockBuffer rbuff = new FrameReblockBuffer(_bufflen, _rlen, _clen, _schema );
 			FastStringTokenizer st = new FastStringTokenizer(' ');
 			
@@ -922,7 +921,7 @@ public class FrameRDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Tuple2<MatrixIndexes,MatrixBlock> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			MatrixIndexes ix = arg0._1();
 			MatrixBlock mb = arg0._2();
 			MatrixBlock mbreuse = new MatrixBlock();
@@ -944,7 +943,7 @@ public class FrameRDDConverterUtils
 				out.copy(0, out.getNumRows()-1, (int)cl, (int)cu, 
 					mb.sliceOperations(i, ru, 0, mb.getNumColumns()-1, mbreuse), true);
 				out.examSparsity();
-				ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(ixout,out));				
+				ret.add(new Tuple2<>(ixout,out));
 			}
 
 			return ret.iterator();
@@ -982,7 +981,7 @@ public class FrameRDDConverterUtils
 			throws Exception 
 		{
 			FrameBlock fb = DataConverter.convertToFrameBlock(arg0._2());
-			return  new Tuple2<Long, FrameBlock>(
+			return  new Tuple2<>(
 				(arg0._1().getRowIndex()-1)*_brlen+1, fb);
 		}
 	}
@@ -994,7 +993,7 @@ public class FrameRDDConverterUtils
 		private MatrixCharacteristics _mcIn;
 		private MatrixCharacteristics _mcOut;
 
-		public BinaryBlockToMatrixBlockFunction(MatrixCharacteristics mcIn, MatrixCharacteristics mcOut) {			
+		public BinaryBlockToMatrixBlockFunction(MatrixCharacteristics mcIn, MatrixCharacteristics mcOut) {
 			_mcIn = mcIn;		//Frame Characteristics
 			_mcOut = mcOut;		//Matrix Characteristics
 		}
@@ -1006,7 +1005,7 @@ public class FrameRDDConverterUtils
 			long rowIndex = arg0._1();
 			FrameBlock blk = arg0._2();
 			
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			long rlen = _mcIn.getRows();
 			long clen = _mcIn.getCols();
 			int brlen = _mcOut.getRowsPerBlock();
@@ -1030,7 +1029,7 @@ public class FrameRDDConverterUtils
 					FrameBlock frame = blk.sliceOperations(fix, fix2, 
 							(int)cpos-1, (int)cpos+lclen-2, new FrameBlock());
 					MatrixBlock mframe = DataConverter.convertToMatrixBlock(frame);
-					ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(rix, cix), 
+					ret.add(new Tuple2<>(new MatrixIndexes(rix, cix), 
 							matrix.leftIndexingOperations(mframe, mix, mix2, 0, lclen-1, 
 							new MatrixBlock(), UpdateType.INPLACE_PINNED)));
 				}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 8ec02cc..b5ce814 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
@@ -281,7 +281,7 @@ public class RDDConverterUtils
 			.groupByKey().map(new ConvertRowBlocksToRows((int)mc.getCols(), mc.getColsPerBlock(), toVector));
 		
 		//create data frame schema
-		List<StructField> fields = new ArrayList<StructField>();
+		List<StructField> fields = new ArrayList<>();
 		fields.add(DataTypes.createStructField(DF_ID_COLUMN, DataTypes.DoubleType, false));
 		if( toVector )
 			fields.add(DataTypes.createStructField("C1", new VectorUDT(), false));
@@ -441,7 +441,7 @@ public class RDDConverterUtils
 		public Iterator<LabeledPoint> call(MatrixBlock arg0) 
 			throws Exception 
 		{
-			ArrayList<LabeledPoint> ret = new ArrayList<LabeledPoint>();
+			ArrayList<LabeledPoint> ret = new ArrayList<>();
 			for( int i=0; i<arg0.getNumRows(); i++ ) {
 				MatrixBlock tmp = arg0.sliceOperations(i, i, 0, arg0.getNumColumns()-2, new MatrixBlock());
 				ret.add(new LabeledPoint(arg0.getValue(i, arg0.getNumColumns()-1), createVector(tmp)));
@@ -482,7 +482,7 @@ public class RDDConverterUtils
 			throws IOException, DMLRuntimeException
 		{
 			//temporary list of indexed matrix values to prevent library dependencies
-			ArrayList<IndexedMatrixValue> rettmp = new ArrayList<IndexedMatrixValue>();					
+			ArrayList<IndexedMatrixValue> rettmp = new ArrayList<>();
 			rbuff.flushBufferToBinaryBlocks(rettmp);
 			ret.addAll(SparkUtils.fromIndexedMatrixBlock(rettmp));
 		}
@@ -500,7 +500,7 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Text> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			ReblockBuffer rbuff = new ReblockBuffer(_bufflen, _rlen, _clen, _brlen, _bclen);
 			FastStringTokenizer st = new FastStringTokenizer(' ');
 			
@@ -541,8 +541,8 @@ public class RDDConverterUtils
 			throws Exception 
 		{
 			SerLongWritable slarg = new SerLongWritable(arg0._1());
-			SerText starg = new SerText(arg0._2());			
-			return new Tuple2<LongWritable,Text>(slarg, starg);
+			SerText starg = new SerText(arg0._2());	
+			return new Tuple2<>(slarg, starg);
 		}
 	}
 
@@ -555,8 +555,8 @@ public class RDDConverterUtils
 			throws Exception 
 		{
 			SerLongWritable slarg = new SerLongWritable(1L);
-			SerText starg = new SerText(arg0);			
-			return new Tuple2<LongWritable,Text>(slarg, starg);
+			SerText starg = new SerText(arg0);
+			return new Tuple2<>(slarg, starg);
 		}
 	}
 	
@@ -575,7 +575,7 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<MatrixIndexes,MatrixCell>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			ReblockBuffer rbuff = new ReblockBuffer(_bufflen, _rlen, _clen, _brlen, _bclen);
 			
 			while( arg0.hasNext() )
@@ -679,7 +679,7 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<Text,Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 
 			int ncblks = (int)Math.ceil((double)_clen/_bclen);
 			MatrixIndexes[] ix = new MatrixIndexes[ncblks];
@@ -759,7 +759,7 @@ public class RDDConverterUtils
 			int len = ix.length;			
 			for( int i=0; i<len; i++ )
 				if( mb[i] != null ) {
-					ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix[i],mb[i]));
+					ret.add(new Tuple2<>(ix[i],mb[i]));
 					mb[i].examSparsity(); //ensure right representation
 				}	
 		}
@@ -792,7 +792,7 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<org.apache.spark.mllib.regression.LabeledPoint,Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 
 			int ncblks = (int)Math.ceil((double)_clen/_bclen);
 			MatrixIndexes[] ix = new MatrixIndexes[ncblks];
@@ -873,10 +873,10 @@ public class RDDConverterUtils
 		private static void flushBlocksToList( MatrixIndexes[] ix, MatrixBlock[] mb, ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret ) 
 			throws DMLRuntimeException
 		{
-			int len = ix.length;			
+			int len = ix.length;
 			for( int i=0; i<len; i++ )
 				if( mb[i] != null ) {
-					ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix[i],mb[i]));
+					ret.add(new Tuple2<>(ix[i],mb[i]));
 					mb[i].examSparsity(); //ensure right representation
 				}	
 		}
@@ -899,7 +899,7 @@ public class RDDConverterUtils
 			MatrixIndexes ix = arg0._1();
 			MatrixBlock blk = arg0._2();
 			
-			ArrayList<String> ret = new ArrayList<String>();
+			ArrayList<String> ret = new ArrayList<>();
 			
 			//handle header information
 			if(_props.hasHeader() && ix.getRowIndex()==1 ) {
@@ -944,19 +944,14 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<Long,Tuple2<Long,MatrixBlock>>> call(Tuple2<MatrixIndexes, MatrixBlock> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<Long,Tuple2<Long,MatrixBlock>>> ret = 
-					new ArrayList<Tuple2<Long,Tuple2<Long,MatrixBlock>>>();
-			
+			ArrayList<Tuple2<Long,Tuple2<Long,MatrixBlock>>> ret = new ArrayList<>();
 			MatrixIndexes ix = arg0._1();
 			MatrixBlock blk = arg0._2();
-			
 			for( int i=0; i<blk.getNumRows(); i++ ) {
 				MatrixBlock tmpBlk = blk.sliceOperations(i, i, 0, blk.getNumColumns()-1, new MatrixBlock());
 				long rix = UtilFunctions.computeCellIndex(ix.getRowIndex(), _brlen, i);
-				ret.add(new Tuple2<Long,Tuple2<Long,MatrixBlock>>(rix, 
-						new Tuple2<Long,MatrixBlock>(ix.getColumnIndex(),tmpBlk)));
+				ret.add(new Tuple2<>(rix, new Tuple2<>(ix.getColumnIndex(),tmpBlk)));
 			}
-			
 			return ret.iterator();
 		}
 		
@@ -982,24 +977,20 @@ public class RDDConverterUtils
 		{
 			long rowIndex = arg0._1();
 			MatrixBlock[] tmpBlks = new MatrixBlock[_ncblks];
-			
 			//collect and sort input blocks
 			Iterator<Tuple2<Long, MatrixBlock>> iter = arg0._2().iterator();
 			while( iter.hasNext() ) {
 				Tuple2<Long, MatrixBlock> entry = iter.next();
 				tmpBlks[entry._1().intValue()-1] = entry._2();
 			}
-		
 			//concatenate blocks
 			MatrixBlock out = new MatrixBlock(1,(int)_clen, tmpBlks[0].isInSparseFormat());
-			for( int i=0; i<_ncblks; i++ ) {				
-				out.copy(0, 0, i*_bclen, (int)Math.min((i+1)*_bclen, _clen)-1, tmpBlks[i], false);				
-			}
+			for( int i=0; i<_ncblks; i++ )
+				out.copy(0, 0, i*_bclen, (int)Math.min((i+1)*_bclen, _clen)-1, tmpBlks[i], false);
 			out.recomputeNonZeros();
-			
 			//output row block
-			return new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(rowIndex, 1),out);
-		}		
+			return new Tuple2<>(new MatrixIndexes(rowIndex, 1),out);
+		}
 	}
 
 	/////////////////////////////////
@@ -1033,7 +1024,7 @@ public class RDDConverterUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<Row, Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			
 			int ncblks = (int)Math.ceil((double)_clen/_bclen);
 			MatrixIndexes[] ix = new MatrixIndexes[ncblks];
@@ -1059,7 +1050,7 @@ public class RDDConverterUtils
 				int off = _containsID ? 1: 0;
 				Object obj = _isVector ? tmp._1().get(off) : tmp._1();
 				for( int cix=1, pix=_isVector?0:off; cix<=ncblks; cix++ ) {
-					int lclen = (int)UtilFunctions.computeBlockSize(_clen, cix, _bclen);				
+					int lclen = (int)UtilFunctions.computeBlockSize(_clen, cix, _bclen);
 					//allocate sparse row once (avoid re-allocations)
 					if( mb[cix-1].isInSparseFormat() ) {
 						int lnnz = countNnz(obj, _isVector, pix, lclen);
@@ -1118,7 +1109,7 @@ public class RDDConverterUtils
 			int len = ix.length;			
 			for( int i=0; i<len; i++ )
 				if( mb[i] != null ) {
-					ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix[i],mb[i]));
+					ret.add(new Tuple2<>(ix[i],mb[i]));
 					mb[i].examSparsity(); //ensure right representation
 				}	
 		}
@@ -1169,7 +1160,7 @@ public class RDDConverterUtils
 				throw new DMLRuntimeException("ID Column '" + DF_ID_COLUMN 
 						+ "' expected to be 1-based, but found value: "+id);
 			}
-			return new Tuple2<Row,Long>(arg0, id-1);
+			return new Tuple2<>(arg0, id-1);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDSortUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDSortUtils.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDSortUtils.java
index 046c015..2fddce3 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDSortUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDSortUtils.java
@@ -182,10 +182,10 @@ public class RDDSortUtils
 		//flip sort indices from <source ix in target pos> to <target ix in source pos>
 		MatrixBlock sortedIxSrc = new MatrixBlock(sortedIx.getNumRows(), 1, false); 
 		for (int i=0; i < sortedIx.getNumRows(); i++) 
-			sortedIxSrc.quickSetValue((int)sortedIx.quickGetValue(i,0)-1, 0, i+1);			
+			sortedIxSrc.quickSetValue((int)sortedIx.quickGetValue(i,0)-1, 0, i+1);
 
 		//broadcast index vector
-		PartitionedBlock<MatrixBlock> pmb = new PartitionedBlock<MatrixBlock>(sortedIxSrc, brlen, bclen);		
+		PartitionedBlock<MatrixBlock> pmb = new PartitionedBlock<>(sortedIxSrc, brlen, bclen);
 		Broadcast<PartitionedBlock<MatrixBlock>> _pmb = sec.getSparkContext().broadcast(pmb);	
 
 		//sort data with broadcast index vector
@@ -214,7 +214,7 @@ public class RDDSortUtils
 		public Iterator<DoublePair> call(Tuple2<MatrixBlock,MatrixBlock> arg0) 
 			throws Exception 
 		{
-			ArrayList<DoublePair> ret = new ArrayList<DoublePair>(); 
+			ArrayList<DoublePair> ret = new ArrayList<>(); 
 			MatrixBlock mb1 = arg0._1();
 			MatrixBlock mb2 = arg0._2();
 			
@@ -243,19 +243,18 @@ public class RDDSortUtils
 		public Iterator<Tuple2<ValueIndexPair,Double>> call(Tuple2<MatrixIndexes,MatrixBlock> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<ValueIndexPair,Double>> ret = new ArrayList<Tuple2<ValueIndexPair,Double>>(); 
+			ArrayList<Tuple2<ValueIndexPair,Double>> ret = new ArrayList<>(); 
 			MatrixIndexes ix = arg0._1();
 			MatrixBlock mb = arg0._2();
 			
 			long ixoffset = (ix.getRowIndex()-1)*_brlen;
 			for( int i=0; i<mb.getNumRows(); i++) {
 				double val = mb.quickGetValue(i, 0);
-				ret.add(new Tuple2<ValueIndexPair,Double>(
-						new ValueIndexPair(val,ixoffset+i+1), val));
+				ret.add(new Tuple2<>(new ValueIndexPair(val,ixoffset+i+1), val));
 			}
 			
 			return ret.iterator();
-		}		
+		}
 	}
 
 	private static class CreateDoubleKeyFunction implements Function<Double,Double> 
@@ -290,7 +289,7 @@ public class RDDSortUtils
 		public Tuple2<Long, Long> call(Tuple2<ValueIndexPair,Long> arg0)
 				throws Exception 
 		{
-			return new Tuple2<Long,Long>(arg0._1().ix, arg0._2());
+			return new Tuple2<>(arg0._1().ix, arg0._2());
 		}
 
 	}
@@ -311,8 +310,7 @@ public class RDDSortUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<Double,Long>> arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
-			
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			MatrixIndexes ix = null;
 			MatrixBlock mb = null;
 			
@@ -326,7 +324,7 @@ public class RDDSortUtils
 				if( ix == null || ix.getRowIndex() != rix )
 				{
 					if( ix !=null )
-						ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+						ret.add(new Tuple2<>(ix,mb));
 					long len = UtilFunctions.computeBlockSize(_rlen, rix, _brlen);
 					ix = new MatrixIndexes(rix,1);
 					mb = new MatrixBlock((int)len, 1, false);	
@@ -337,8 +335,7 @@ public class RDDSortUtils
 			
 			//flush last block
 			if( mb!=null && mb.getNonZeros() != 0 )
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
-			
+				ret.add(new Tuple2<>(ix,mb));
 			return ret.iterator();
 		}
 	}
@@ -359,7 +356,7 @@ public class RDDSortUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<DoublePair,Long>> arg0) 
 			throws Exception
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ix = null;
 			MatrixBlock mb = null;
@@ -374,10 +371,10 @@ public class RDDSortUtils
 				if( ix == null || ix.getRowIndex() != rix )
 				{
 					if( ix !=null )
-						ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+						ret.add(new Tuple2<>(ix,mb));
 					long len = UtilFunctions.computeBlockSize(_rlen, rix, _brlen);
 					ix = new MatrixIndexes(rix,1);
-					mb = new MatrixBlock((int)len, 2, false);	
+					mb = new MatrixBlock((int)len, 2, false);
 				}
 				
 				mb.quickSetValue(pos, 0, val._1.val1);
@@ -386,7 +383,7 @@ public class RDDSortUtils
 			
 			//flush last block
 			if( mb!=null && mb.getNonZeros() != 0 )
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+				ret.add(new Tuple2<>(ix,mb));
 			
 			return ret.iterator();
 		}
@@ -408,7 +405,7 @@ public class RDDSortUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<ValueIndexPair,Long>> arg0) 
 			throws Exception
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ix = null;
 			MatrixBlock mb = null;
@@ -423,7 +420,7 @@ public class RDDSortUtils
 				if( ix == null || ix.getRowIndex() != rix )
 				{
 					if( ix !=null )
-						ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+						ret.add(new Tuple2<>(ix,mb));
 					long len = UtilFunctions.computeBlockSize(_rlen, rix, _brlen);
 					ix = new MatrixIndexes(rix,1);
 					mb = new MatrixBlock((int)len, 1, false);	
@@ -434,7 +431,7 @@ public class RDDSortUtils
 			
 			//flush last block
 			if( mb!=null && mb.getNonZeros() != 0 )
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+				ret.add(new Tuple2<>(ix,mb));
 			
 			return ret.iterator();
 		}
@@ -456,7 +453,7 @@ public class RDDSortUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Iterator<Tuple2<Long,Long>> arg0) 
 			throws Exception
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ix = null;
 			MatrixBlock mb = null;
@@ -471,7 +468,7 @@ public class RDDSortUtils
 				if( ix == null || ix.getRowIndex() != rix )
 				{
 					if( ix !=null )
-						ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+						ret.add(new Tuple2<>(ix,mb));
 					long len = UtilFunctions.computeBlockSize(_rlen, rix, _brlen);
 					ix = new MatrixIndexes(rix,1);
 					mb = new MatrixBlock((int)len, 1, false);	
@@ -482,7 +479,7 @@ public class RDDSortUtils
 			
 			//flush last block
 			if( mb!=null && mb.getNonZeros() != 0 )
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(ix,mb));
+				ret.add(new Tuple2<>(ix,mb));
 			
 			return ret.iterator();
 		}
@@ -560,7 +557,7 @@ public class RDDSortUtils
 						_currBlk = null;
 					}
 					
-					return new Tuple2<MatrixIndexes,RowMatrixBlock>(lix, new RowMatrixBlock(len, pos, tmp));
+					return new Tuple2<>(lix, new RowMatrixBlock(len, pos, tmp));
 				}
 				catch(Exception ex) {
 					throw new RuntimeException(ex);
@@ -649,7 +646,7 @@ public class RDDSortUtils
 						_currBlk = null;
 					}
 					
-					return new Tuple2<MatrixIndexes,RowMatrixBlock>(lix, new RowMatrixBlock(len, pos, tmp));
+					return new Tuple2<>(lix, new RowMatrixBlock(len, pos, tmp));
 				}
 				catch(Exception ex) {
 					throw new RuntimeException(ex);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/SparkUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/SparkUtils.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/SparkUtils.java
index 4e7866d..977cd10 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/SparkUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/SparkUtils.java
@@ -66,47 +66,47 @@ public class SparkUtils
 	}
 
 	public static Tuple2<MatrixIndexes,MatrixBlock> fromIndexedMatrixBlock( IndexedMatrixValue in ){
-		return new Tuple2<MatrixIndexes,MatrixBlock>(in.getIndexes(), (MatrixBlock)in.getValue());
+		return new Tuple2<>(in.getIndexes(), (MatrixBlock)in.getValue());
 	}
 
 	public static ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> fromIndexedMatrixBlock( ArrayList<IndexedMatrixValue> in ) {
-		ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+		ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 		for( IndexedMatrixValue imv : in )
 			ret.add(fromIndexedMatrixBlock(imv));
 		return ret;
 	}
 
 	public static Pair<MatrixIndexes,MatrixBlock> fromIndexedMatrixBlockToPair( IndexedMatrixValue in ){
-		return new Pair<MatrixIndexes,MatrixBlock>(in.getIndexes(), (MatrixBlock)in.getValue());
+		return new Pair<>(in.getIndexes(), (MatrixBlock)in.getValue());
 	}
 
 	public static ArrayList<Pair<MatrixIndexes,MatrixBlock>> fromIndexedMatrixBlockToPair( ArrayList<IndexedMatrixValue> in ) {
-		ArrayList<Pair<MatrixIndexes,MatrixBlock>> ret = new ArrayList<Pair<MatrixIndexes,MatrixBlock>>();
+		ArrayList<Pair<MatrixIndexes,MatrixBlock>> ret = new ArrayList<>();
 		for( IndexedMatrixValue imv : in )
 			ret.add(fromIndexedMatrixBlockToPair(imv));
 		return ret;
 	}
 
 	public static Tuple2<Long,FrameBlock> fromIndexedFrameBlock( Pair<Long, FrameBlock> in ){
-		return new Tuple2<Long, FrameBlock>(in.getKey(), in.getValue());
+		return new Tuple2<>(in.getKey(), in.getValue());
 	}
 
 	public static ArrayList<Tuple2<Long,FrameBlock>> fromIndexedFrameBlock( ArrayList<Pair<Long, FrameBlock>> in ) {
-		ArrayList<Tuple2<Long, FrameBlock>> ret = new ArrayList<Tuple2<Long, FrameBlock>>();
+		ArrayList<Tuple2<Long, FrameBlock>> ret = new ArrayList<>();
 		for( Pair<Long, FrameBlock> ifv : in )
 			ret.add(fromIndexedFrameBlock(ifv));
 		return ret;
 	}
 
 	public static ArrayList<Pair<Long,Long>> toIndexedLong( List<Tuple2<Long, Long>> in ) {
-		ArrayList<Pair<Long, Long>> ret = new ArrayList<Pair<Long, Long>>();
+		ArrayList<Pair<Long, Long>> ret = new ArrayList<>();
 		for( Tuple2<Long, Long> e : in )
-			ret.add(new Pair<Long,Long>(e._1(), e._2()));
+			ret.add(new Pair<>(e._1(), e._2()));
 		return ret;
 	}
 
 	public static Pair<Long,FrameBlock> toIndexedFrameBlock( Tuple2<Long,FrameBlock> in ) {
-		return new Pair<Long,FrameBlock>(in._1(), in._2());
+		return new Pair<>(in._1(), in._2());
 	}
 
 	/**
@@ -281,7 +281,7 @@ public class SparkUtils
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Long arg0) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> list = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> list = new ArrayList<>();
 			long ncblks = _mc.getNumColBlocks();
 			long nblocksU = Math.min(arg0+_pNumBlocks, _mc.getNumBlocks());
 			for( long i=arg0; i<nblocksU; i++ ) {
@@ -289,9 +289,8 @@ public class SparkUtils
 				long cix = 1 + i % ncblks;
 				int lrlen = UtilFunctions.computeBlockSize(_mc.getRows(), rix, _mc.getRowsPerBlock());
 				int lclen = UtilFunctions.computeBlockSize(_mc.getCols(), cix, _mc.getColsPerBlock());
-				list.add(new Tuple2<MatrixIndexes,MatrixBlock>(
-						new MatrixIndexes(rix,cix), 
-						new MatrixBlock(lrlen, lclen, true)));
+				list.add(new Tuple2<>(new MatrixIndexes(rix,cix), 
+					new MatrixBlock(lrlen, lclen, true)));
 			}
 			return list.iterator();
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlockParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlockParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlockParallel.java
index 45718f9..6d162cc 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlockParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderBinaryBlockParallel.java
@@ -41,7 +41,7 @@ import org.apache.sysml.runtime.matrix.data.FrameBlock;
  */
 public class FrameReaderBinaryBlockParallel extends FrameReaderBinaryBlock
 {
-
+	@Override
 	protected void readBinaryBlockFrameFromHDFS( Path path, JobConf job, FileSystem fs, FrameBlock dest, long rlen, long clen )
 		throws IOException, DMLRuntimeException
 	{
@@ -51,12 +51,12 @@ public class FrameReaderBinaryBlockParallel extends FrameReaderBinaryBlock
 		{
 			//create read tasks for all files
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<ReadFileTask> tasks = new ArrayList<ReadFileTask>();
+			ArrayList<ReadFileTask> tasks = new ArrayList<>();
 			for( Path lpath : IOUtilFunctions.getSequenceFilePaths(fs, path) )
 				tasks.add(new ReadFileTask(lpath, job, fs, dest));
 
 			//wait until all tasks have been executed
-			List<Future<Object>> rt = pool.invokeAll(tasks);	
+			List<Future<Object>> rt = pool.invokeAll(tasks);
 			pool.shutdown();
 			
 			//check for exceptions

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSV.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSV.java
index 76da0de..275d647 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSV.java
@@ -225,7 +225,6 @@ public class FrameReaderTextCSV extends FrameReader
 				IOUtilFunctions.closeSilently(reader);
 			}
 		}
-		
-		return new Pair<Integer,Integer>(nrow, ncol);
+		return new Pair<>(nrow, ncol);
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSVParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSVParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSVParallel.java
index 0f8cb3a..3819962 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSVParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCSVParallel.java
@@ -71,21 +71,21 @@ public class FrameReaderTextCSVParallel extends FrameReaderTextCSV
 				Math.min(numThreads, splits.length));
 			
 			//compute num rows per split
-			ArrayList<CountRowsTask> tasks = new ArrayList<CountRowsTask>();
+			ArrayList<CountRowsTask> tasks = new ArrayList<>();
 			for( int i=0; i<splits.length; i++ )
 				tasks.add(new CountRowsTask(splits[i], informat, job, _props.hasHeader(), i==0));
 			List<Future<Long>> cret = pool.invokeAll(tasks);
 
 			//compute row offset per split via cumsum on row counts
 			long offset = 0;
-			List<Long> offsets = new ArrayList<Long>();
+			List<Long> offsets = new ArrayList<>();
 			for( Future<Long> count : cret ) {
 				offsets.add(offset);
 				offset += count.get();
 			}
 			
 			//read individual splits
-			ArrayList<ReadRowsTask> tasks2 = new ArrayList<ReadRowsTask>();
+			ArrayList<ReadRowsTask> tasks2 = new ArrayList<>();
 			for( int i=0; i<splits.length; i++ )
 				tasks2.add( new ReadRowsTask(splits[i], informat, job, dest, offsets.get(i).intValue(), i==0));
 			List<Future<Object>> rret = pool.invokeAll(tasks2);
@@ -103,7 +103,7 @@ public class FrameReaderTextCSVParallel extends FrameReaderTextCSV
 	@Override
 	protected Pair<Integer,Integer> computeCSVSize( Path path, JobConf job, FileSystem fs) 
 		throws IOException 
-	{	
+	{
 		int numThreads = OptimizerUtils.getParallelTextReadParallelism();
 		
 		TextInputFormat informat = new TextInputFormat();
@@ -117,7 +117,7 @@ public class FrameReaderTextCSVParallel extends FrameReaderTextCSV
 		int nrow = 0;
 		ExecutorService pool = Executors.newFixedThreadPool(numThreads);
 		try {
-			ArrayList<CountRowsTask> tasks = new ArrayList<CountRowsTask>();
+			ArrayList<CountRowsTask> tasks = new ArrayList<>();
 			for( int i=0; i<splits.length; i++ )
 				tasks.add(new CountRowsTask(splits[i], informat, job, _props.hasHeader(), i==0));
 			List<Future<Long>> cret = pool.invokeAll(tasks);
@@ -130,8 +130,7 @@ public class FrameReaderTextCSVParallel extends FrameReaderTextCSV
 		finally {
 			pool.shutdown();
 		}
-		
-		return new Pair<Integer,Integer>(nrow, ncol);
+		return new Pair<>(nrow, ncol);
 	}
 
 	private static class CountRowsTask implements Callable<Long> 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCellParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCellParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCellParallel.java
index 96b49d4..7e88030 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCellParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameReaderTextCellParallel.java
@@ -60,12 +60,12 @@ public class FrameReaderTextCellParallel extends FrameReaderTextCell
 			//create read tasks for all splits
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
 			InputSplit[] splits = informat.getSplits(job, numThreads);
-			ArrayList<ReadTask> tasks = new ArrayList<ReadTask>();
+			ArrayList<ReadTask> tasks = new ArrayList<>();
 			for( InputSplit split : splits )
 				tasks.add(new ReadTask(split, informat, job, dest));
 			
 			//wait until all tasks have been executed
-			List<Future<Object>> rt = pool.invokeAll(tasks);	
+			List<Future<Object>> rt = pool.invokeAll(tasks);
 			pool.shutdown();
 				
 			//check for exceptions

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlockParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlockParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlockParallel.java
index 52f1ed0..763d8a8 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlockParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterBinaryBlockParallel.java
@@ -73,7 +73,7 @@ public class FrameWriterBinaryBlockParallel extends FrameWriterBinaryBlock
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteFileTask> tasks = new ArrayList<WriteFileTask>();
+			ArrayList<WriteFileTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / blen / numThreads) * blen;
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSVParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSVParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSVParallel.java
index fe4fd39..4c2f39d 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSVParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCSVParallel.java
@@ -75,7 +75,7 @@ public class FrameWriterTextCSVParallel extends FrameWriterTextCSV
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteFileTask> tasks = new ArrayList<WriteFileTask>();
+			ArrayList<WriteFileTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / numThreads);
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCellParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCellParallel.java b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCellParallel.java
index f42ca41..ba55454 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCellParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FrameWriterTextCellParallel.java
@@ -70,7 +70,7 @@ public class FrameWriterTextCellParallel extends FrameWriterTextCell
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteFileTask> tasks = new ArrayList<WriteFileTask>();
+			ArrayList<WriteFileTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / numThreads);
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java b/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
index 3ac4dc4..9900c45 100644
--- a/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
+++ b/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
@@ -171,7 +171,7 @@ public class IOUtilFunctions
 			return new String[]{""};
 		
 		// scan string and create individual tokens
-		ArrayList<String> tokens = new ArrayList<String>();
+		ArrayList<String> tokens = new ArrayList<>();
 		int from = 0, to = 0; 
 		int len = str.length();
 		int dlen = delim.length();
@@ -464,7 +464,7 @@ public class IOUtilFunctions
 		if( fs.isDirectory(file) 
 			|| IOUtilFunctions.isObjectStoreFileScheme(file) )
 		{
-			LinkedList<Path> tmp = new LinkedList<Path>();
+			LinkedList<Path> tmp = new LinkedList<>();
 			FileStatus[] dStatus = fs.listStatus(file);
 			for( FileStatus fdStatus : dStatus )
 				if( !fdStatus.getPath().getName().startsWith("_") //skip internal files


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java b/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
index 9c59d4e..ee1db4c 100644
--- a/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
+++ b/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
@@ -119,7 +119,7 @@ public abstract class MatrixReader
 		throws InterruptedException, ExecutionException
 	{
 		//create sort tasks (increase number of tasks for better load balance)
-		ArrayList<SortRowsTask> tasks = new ArrayList<SortRowsTask>();
+		ArrayList<SortRowsTask> tasks = new ArrayList<>();
 		int k2 = (int) Math.min(8*k, rlen); 
 		int blklen = (int)(Math.ceil((double)rlen/k2));
 		for( int i=0; i<k2 & i*blklen<rlen; i++ )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 5e7df99..98edac4 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlock.java
@@ -87,7 +87,7 @@ public class ReaderBinaryBlock extends MatrixReader
 		throws IOException, DMLRuntimeException 
 	{
 		//allocate output matrix block collection
-		ArrayList<IndexedMatrixValue> ret = new ArrayList<IndexedMatrixValue>();
+		ArrayList<IndexedMatrixValue> ret = new ArrayList<>();
 		
 		//prepare file access
 		JobConf job = new JobConf(ConfigurationManager.getCachedJobConf());

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlockParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlockParallel.java b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlockParallel.java
index 374e795..e5c53dd 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlockParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderBinaryBlockParallel.java
@@ -88,7 +88,7 @@ public class ReaderBinaryBlockParallel extends ReaderBinaryBlock
 		{
 			//create read tasks for all files
 			ExecutorService pool = Executors.newFixedThreadPool(_numThreads);
-			ArrayList<ReadFileTask> tasks = new ArrayList<ReadFileTask>();
+			ArrayList<ReadFileTask> tasks = new ArrayList<>();
 			for( Path lpath : IOUtilFunctions.getSequenceFilePaths(fs, path) ){
 				ReadFileTask t = new ReadFileTask(lpath, job, dest, rlen, clen, brlen, bclen);
 				tasks.add(t);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 8d2ef72..9ad97e2 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSV.java
@@ -101,7 +101,7 @@ public class ReaderTextCSV extends MatrixReader
 		throws IOException, DMLRuntimeException
 	{
 		//prepare file paths in alphanumeric order
-		ArrayList<Path> files=new ArrayList<Path>();
+		ArrayList<Path> files=new ArrayList<>();
 		if(fs.isDirectory(path)) {
 			for(FileStatus stat: fs.listStatus(path, CSVReblockMR.hiddenFileFilter))
 				files.add(stat.getPath());

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSVParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSVParallel.java b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSVParallel.java
index 2fbe32f..eaf5d7f 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSVParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCSVParallel.java
@@ -133,7 +133,7 @@ public class ReaderTextCSVParallel extends MatrixReader
 		try 
 		{
 			// create read tasks for all splits
-			ArrayList<CSVReadTask> tasks = new ArrayList<CSVReadTask>();
+			ArrayList<CSVReadTask> tasks = new ArrayList<>();
 			int splitCount = 0;
 			for (InputSplit split : splits) {
 				tasks.add( new CSVReadTask(split, _offsets, informat, job, dest, 
@@ -188,7 +188,7 @@ public class ReaderTextCSVParallel extends MatrixReader
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(_numThreads);
-			ArrayList<CountRowsTask> tasks = new ArrayList<CountRowsTask>();
+			ArrayList<CountRowsTask> tasks = new ArrayList<>();
 			for (InputSplit split : splits) {
 				tasks.add(new CountRowsTask(split, informat, job, hasHeader));
 				hasHeader = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
index 5e0e043..b2a9608 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
@@ -130,7 +130,7 @@ public class ReaderTextCellParallel extends MatrixReader
 			//create read tasks for all splits
 			ExecutorService pool = Executors.newFixedThreadPool(par);
 			InputSplit[] splits = informat.getSplits(job, par);
-			ArrayList<ReadTask> tasks = new ArrayList<ReadTask>();
+			ArrayList<ReadTask> tasks = new ArrayList<>();
 			for( InputSplit split : splits ){
 				ReadTask t = new ReadTask(split, informat, job, dest, rlen, clen, matrixMarket);
 				tasks.add(t);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlockParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlockParallel.java b/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlockParallel.java
index b5aec06..7f83abe 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlockParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterBinaryBlockParallel.java
@@ -70,7 +70,7 @@ public class WriterBinaryBlockParallel extends WriterBinaryBlock
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteFileTask> tasks = new ArrayList<WriteFileTask>();
+			ArrayList<WriteFileTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / brlen / numThreads) * brlen;
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarketParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarketParallel.java b/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarketParallel.java
index afc1bdb..b8f9815 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarketParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterMatrixMarketParallel.java
@@ -68,7 +68,7 @@ public class WriterMatrixMarketParallel extends WriterMatrixMarket
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteMMTask> tasks = new ArrayList<WriteMMTask>();
+			ArrayList<WriteMMTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / numThreads);
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 f5c62ac..7b39eb3 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterTextCSV.java
@@ -285,7 +285,7 @@ public class WriterTextCSV extends MatrixWriter
 		if (fs.isDirectory(srcFilePath)) {
 
 			// compute sorted order among part files
-			ArrayList<Path> files=new ArrayList<Path>();
+			ArrayList<Path> files=new ArrayList<>();
 			for(FileStatus stat: fs.listStatus(srcFilePath, CSVReblockMR.hiddenFileFilter))
 				files.add(stat.getPath());
 			Collections.sort(files);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSVParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSVParallel.java b/src/main/java/org/apache/sysml/runtime/io/WriterTextCSVParallel.java
index 173f602..2bef173 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterTextCSVParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterTextCSVParallel.java
@@ -45,6 +45,7 @@ public class WriterTextCSVParallel extends WriterTextCSV
 		super( props );
 	}
 
+	@Override
 	protected void writeCSVMatrixToHDFS(Path path, JobConf job, FileSystem fs, MatrixBlock src, CSVFileFormatProperties csvprops) 
 		throws IOException 
 	{
@@ -70,7 +71,7 @@ public class WriterTextCSVParallel extends WriterTextCSV
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteCSVTask> tasks = new ArrayList<WriteCSVTask>();
+			ArrayList<WriteCSVTask> tasks = new ArrayList<>();
 			int rlen = src.getNumRows();
 			int blklen = (int)Math.ceil((double)rlen / numThreads);
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/io/WriterTextCellParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/WriterTextCellParallel.java b/src/main/java/org/apache/sysml/runtime/io/WriterTextCellParallel.java
index ec4b042..63f36c2 100644
--- a/src/main/java/org/apache/sysml/runtime/io/WriterTextCellParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/WriterTextCellParallel.java
@@ -67,7 +67,7 @@ public class WriterTextCellParallel extends WriterTextCell
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(numThreads);
-			ArrayList<WriteTextTask> tasks = new ArrayList<WriteTextTask>();
+			ArrayList<WriteTextTask> tasks = new ArrayList<>();
 			int blklen = (int)Math.ceil((double)rlen / numThreads);
 			for(int i=0; i<numThreads & i*blklen<rlen; i++) {
 				Path newPath = new Path(path, IOUtilFunctions.getPartFileName(i));

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/CSVReblockMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/CSVReblockMR.java b/src/main/java/org/apache/sysml/runtime/matrix/CSVReblockMR.java
index 3bd9758..a7df822 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/CSVReblockMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/CSVReblockMR.java
@@ -26,7 +26,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.HashSet;
 
-import org.apache.hadoop.filecache.DistributedCache;
+import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -118,8 +118,8 @@ public class CSVReblockMR
 			out.writeLong(count);
 		}
 		
-		public String toString()
-		{
+		@Override
+		public String toString() {
 			return filename+", "+fileOffset+", "+count;
 		}
 
@@ -180,8 +180,8 @@ public class CSVReblockMR
 		public long[] rlens=null;
 		public long[] clens=null;
 		
-		public String toString()
-		{
+		@Override
+		public String toString() {
 			StringBuilder sb = new StringBuilder();
 			sb.append(counterFile.toString());
 			sb.append("\n");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java b/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
index f18a811..b4e6eda 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
@@ -111,6 +111,7 @@ public class CombineMR
 			
 		}
 		
+		@Override
 		public void configure(JobConf job)
 		{	
 			super.configure(job);
@@ -123,7 +124,7 @@ public class CombineMR
 			for(int i=0; i<resultIndexes.length; i++)
 			{
 				MatrixCharacteristics stat=MRJobConfiguration.getMatrixCharacteristicsForOutput(job, resultIndexes[i]);
-				outputBlockSizes.put(resultIndexes[i], new Pair<Integer, Integer>(stat.getRowsPerBlock(), stat.getColsPerBlock()));
+				outputBlockSizes.put(resultIndexes[i], new Pair<>(stat.getRowsPerBlock(), stat.getColsPerBlock()));
 			}
 			for(MRInstruction ins: comb_instructions)
 			{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/MatrixCharacteristics.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/MatrixCharacteristics.java b/src/main/java/org/apache/sysml/runtime/matrix/MatrixCharacteristics.java
index 7af295f..cb7ca57 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/MatrixCharacteristics.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/MatrixCharacteristics.java
@@ -153,8 +153,8 @@ public class MatrixCharacteristics implements Serializable
 		return (long) Math.ceil((double)getCols() / getColsPerBlock());
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "["+numRows+" x "+numColumns+", nnz="+nonZero
 		+", blocks ("+numRowsPerBlock+" x "+numColumnsPerBlock+")]";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 7a3b474..99d028c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/SortMR.java
@@ -27,7 +27,7 @@ import java.util.Arrays;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.filecache.DistributedCache;
+import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.DoubleWritable;
@@ -117,7 +117,7 @@ public class SortMR
     private static ArrayList<WritableComparable> readPartitions(FileSystem fs, Path p, JobConf job) 
     	throws IOException 
     {
-    	ArrayList<WritableComparable> parts = new ArrayList<WritableComparable>();
+    	ArrayList<WritableComparable> parts = new ArrayList<>();
     	SequenceFile.Reader reader = null;
     	try 
     	{
@@ -189,7 +189,7 @@ public class SortMR
 	    //setup input/output paths
 	    Path inputDir = new Path(input);
 	    inputDir = inputDir.makeQualified(inputDir.getFileSystem(job));
-	    SamplingSortMRInputFormat.setInputPaths(job, inputDir);
+	    FileInputFormat.setInputPaths(job, inputDir);
 	    Path outpath = new Path(tmpOutput);
 	    FileOutputFormat.setOutputPath(job, outpath);	    
 	    MapReduceTool.deleteFileIfExistOnHDFS(outpath, job);
@@ -336,58 +336,58 @@ public class SortMR
 
 	private static boolean runStitchupJob(String input, long rlen, long clen, int brlen, int bclen, long[] counts,
 			int numReducers, int replication, String output) 
-	  throws Exception 
-	  {
-	    JobConf job = new JobConf(SortMR.class);
-	    job.setJobName("SortIndexesMR");
-	   
-	    //setup input/output paths
-	    Path inpath = new Path(input);
-	    Path outpath = new Path(output);
-	    FileInputFormat.setInputPaths(job, inpath);
-	    FileOutputFormat.setOutputPath(job, outpath);	    
-	    MapReduceTool.deleteFileIfExistOnHDFS(outpath, job);
-	    
-	    //set number of reducers (1 if local mode)
-	    if( InfrastructureAnalyzer.isLocalMode(job) )
-	    	job.setNumReduceTasks(1);
-	    else
-	    	MRJobConfiguration.setNumReducers(job, numReducers, numReducers);
-	    	    
-	    //setup input/output format
-	    InputInfo iinfo = InputInfo.BinaryBlockInputInfo;
-	    OutputInfo oinfo = OutputInfo.BinaryBlockOutputInfo;
-	    job.setInputFormat(iinfo.inputFormatClass);
-	    job.setOutputFormat(oinfo.outputFormatClass);
-	    CompactInputFormat.setKeyValueClasses(job, MatrixIndexes.class, MatrixBlock.class);
-	    
-	    //setup mapper/reducer/output classes
-	    MRJobConfiguration.setInputInfo(job, (byte)0, InputInfo.BinaryBlockInputInfo, brlen, bclen, ConvertTarget.BLOCK);
-	    job.setMapperClass(IndexSortStitchupMapper.class);
+		throws Exception 
+	{
+		JobConf job = new JobConf(SortMR.class);
+		job.setJobName("SortIndexesMR");
+
+		//setup input/output paths
+		Path inpath = new Path(input);
+		Path outpath = new Path(output);
+		FileInputFormat.setInputPaths(job, inpath);
+		FileOutputFormat.setOutputPath(job, outpath);	    
+		MapReduceTool.deleteFileIfExistOnHDFS(outpath, job);
+		
+		//set number of reducers (1 if local mode)
+		if( InfrastructureAnalyzer.isLocalMode(job) )
+			job.setNumReduceTasks(1);
+		else
+			MRJobConfiguration.setNumReducers(job, numReducers, numReducers);
+		
+		//setup input/output format
+		InputInfo iinfo = InputInfo.BinaryBlockInputInfo;
+		OutputInfo oinfo = OutputInfo.BinaryBlockOutputInfo;
+		job.setInputFormat(iinfo.inputFormatClass);
+		job.setOutputFormat(oinfo.outputFormatClass);
+		CompactInputFormat.setKeyValueClasses(job, MatrixIndexes.class, MatrixBlock.class);
+		
+		//setup mapper/reducer/output classes
+		MRJobConfiguration.setInputInfo(job, (byte)0, InputInfo.BinaryBlockInputInfo, brlen, bclen, ConvertTarget.BLOCK);
+		job.setMapperClass(IndexSortStitchupMapper.class);
 		job.setReducerClass(IndexSortStitchupReducer.class);	
 		job.setOutputKeyClass(oinfo.outputKeyClass);
 		job.setOutputValueClass(oinfo.outputValueClass); 
-	    MRJobConfiguration.setBlockSize(job, (byte)0, brlen, bclen);
-	    MRJobConfiguration.setMatricesDimensions(job, new byte[]{0}, new long[]{rlen}, new long[]{clen});
-	    
-	    //compute shifted prefix sum of offsets and put into configuration
-	    long[] cumsumCounts = new long[counts.length];
-	    long sum = 0;
-	    for( int i=0; i<counts.length; i++ ) {
-	    	cumsumCounts[i] = sum;
-	    	sum += counts[i];
-	    }
-	    job.set(SORT_INDEXES_OFFSETS, Arrays.toString(cumsumCounts));
-	    
-	    //setup replication factor
-	    job.setInt(MRConfigurationNames.DFS_REPLICATION, replication);
-	    
+		MRJobConfiguration.setBlockSize(job, (byte)0, brlen, bclen);
+		MRJobConfiguration.setMatricesDimensions(job, new byte[]{0}, new long[]{rlen}, new long[]{clen});
+		
+		//compute shifted prefix sum of offsets and put into configuration
+		long[] cumsumCounts = new long[counts.length];
+		long sum = 0;
+		for( int i=0; i<counts.length; i++ ) {
+			cumsumCounts[i] = sum;
+			sum += counts[i];
+		}
+		job.set(SORT_INDEXES_OFFSETS, Arrays.toString(cumsumCounts));
+		
+		//setup replication factor
+		job.setInt(MRConfigurationNames.DFS_REPLICATION, replication);
+		
 		//set unique working dir
 		MRJobConfiguration.setUniqueWorkingDir(job);
 		
 		//run mr job
-	    RunningJob runJob = JobClient.runJob(job);
-	    
-	    return runJob.isSuccessful();
+		RunningJob runJob = JobClient.runJob(job);
+		
+		return runJob.isSuccessful();
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
index 2dd29af..1f1fad6 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
@@ -26,10 +26,9 @@ import org.apache.hadoop.io.Writable;
 @SuppressWarnings("rawtypes")
 public class AddDummyWeightConverter implements Converter<Writable, Writable, MatrixIndexes, WeightedPair>
 {
-	
 	private Converter toCellConverter=null;
 	private WeightedPair outValue=new WeightedPair();
-	private Pair<MatrixIndexes, WeightedPair> pair=new Pair<MatrixIndexes, WeightedPair>();
+	private Pair<MatrixIndexes, WeightedPair> pair=new Pair<>();
 	private int rlen;
 	private int clen;
 	public AddDummyWeightConverter()

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToBinaryCellConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToBinaryCellConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToBinaryCellConverter.java
index 63e0a32..9c5d0d2 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToBinaryCellConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToBinaryCellConverter.java
@@ -29,7 +29,6 @@ import org.apache.sysml.runtime.util.UtilFunctions;
 public class BinaryBlockToBinaryCellConverter implements 
 Converter<MatrixIndexes, MatrixBlock, MatrixIndexes, MatrixCell>
 {
-	
 	private Iterator<IJV> sparseIterator=null;
 	private double[] denseArray=null;
 	private int denseArraySize=0;
@@ -43,7 +42,7 @@ Converter<MatrixIndexes, MatrixBlock, MatrixIndexes, MatrixCell>
 	
 	private MatrixIndexes returnIndexes=new MatrixIndexes();
 	private MatrixCell cell=new MatrixCell();
-	private Pair<MatrixIndexes, MatrixCell> pair=new Pair<MatrixIndexes, MatrixCell>(returnIndexes, cell);
+	private Pair<MatrixIndexes, MatrixCell> pair=new Pair<>(returnIndexes, cell);
 	
 	private void reset()
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToRowBlockConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToRowBlockConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToRowBlockConverter.java
index bfbd5bd..68bf038 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToRowBlockConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToRowBlockConverter.java
@@ -43,7 +43,7 @@ public class BinaryBlockToRowBlockConverter implements Converter<MatrixIndexes,
 	{
 		_destIx = new MatrixIndexes();
 		_destBlock = new MatrixBlock();
-		_pair=new Pair<MatrixIndexes, MatrixBlock>(_destIx, _destBlock);
+		_pair=new Pair<>(_destIx, _destBlock);
 	}
 	
 	private void reset()

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToTextCellConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToTextCellConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToTextCellConverter.java
index 47c03fc..98396d2 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToTextCellConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryBlockToTextCellConverter.java
@@ -44,7 +44,7 @@ Converter<MatrixIndexes, MatrixBlock, NullWritable, Text>
 	private int bcolumn;
 	
 	private Text value=new Text();
-	private Pair<NullWritable, Text> pair=new Pair<NullWritable, Text>(NullWritable.get(), value);
+	private Pair<NullWritable, Text> pair=new Pair<>(NullWritable.get(), value);
 	
 	private void reset()
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToRowBlockConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToRowBlockConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToRowBlockConverter.java
index 469e8ac..875514c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToRowBlockConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToRowBlockConverter.java
@@ -26,7 +26,7 @@ public class BinaryCellToRowBlockConverter implements Converter<MatrixIndexes, M
 	
 	private MatrixIndexes returnIndexes=new MatrixIndexes();
 	private MatrixBlock rowBlock = new MatrixBlock();
-	private Pair<MatrixIndexes, MatrixBlock> pair=new Pair<MatrixIndexes, MatrixBlock>(returnIndexes, rowBlock);
+	private Pair<MatrixIndexes, MatrixBlock> pair=new Pair<>(returnIndexes, rowBlock);
 	private boolean hasValue=false;
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToTextConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToTextConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToTextConverter.java
index 9293d16..bd3486f 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToTextConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/BinaryCellToTextConverter.java
@@ -29,7 +29,7 @@ implements Converter<MatrixIndexes, MatrixCell, NullWritable, Text>
 {
 	
 	private Text value=new Text();
-	private Pair<NullWritable, Text> pair=new Pair<NullWritable, Text>(NullWritable.get(), value);
+	private Pair<NullWritable, Text> pair=new Pair<>(NullWritable.get(), value);
 	private boolean hasValue=false;
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/CM_N_COVCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/CM_N_COVCell.java b/src/main/java/org/apache/sysml/runtime/matrix/data/CM_N_COVCell.java
index 7da4979..cd9a995 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/CM_N_COVCell.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/CM_N_COVCell.java
@@ -43,11 +43,11 @@ import org.apache.sysml.runtime.util.IndexRange;
 
 @SuppressWarnings("rawtypes")
 public class CM_N_COVCell extends MatrixValue implements WritableComparable
-{	
+{
 	private CM_COV_Object cm=new CM_COV_Object();
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return cm.toString();
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 2f180b0..c66b5c6 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
@@ -59,6 +59,7 @@ public class ConvolutionParameters implements Serializable {
 		return false;
 	}
 	
+	@Override
 	public String toString() {
 		return "(NCHW=[" + N + " " + C + " " + H + " " + W + "], KCRS=[" + K + " " + R + " " + S + "], stride=[" + stride_h + "," + stride_w  + 
 				"], pad=[" + pad_h + "," + pad_w + "])";  

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 23dbd8b..a79f6c2 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
@@ -233,7 +233,7 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 	 * @return map of column name keys and id values
 	 */
 	public Map<String,Integer> getColumnNameIDMap() {
-		Map<String, Integer> ret = new HashMap<String, Integer>();
+		Map<String, Integer> ret = new HashMap<>();
 		for( int j=0; j<getNumColumns(); j++ )
 			ret.put(getColumnName(j), j+1);
 		return ret;	
@@ -1058,7 +1058,7 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		}
 		
 		//construct recode map
-		HashMap<String,Long> map = new HashMap<String,Long>();
+		HashMap<String,Long> map = new HashMap<>();
 		Array ldata = _coldata[col]; 
 		for( int i=0; i<getNumRows(); i++ ) {
 			Object val = ldata.get(i);
@@ -1292,6 +1292,7 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		public abstract void setNz(int rl, int ru, Array value);
 		public abstract void append(String value);
 		public abstract void append(T value);
+		@Override
 		public abstract Array clone();
 		public abstract Array slice(int rl, int ru);
 		public abstract void reset(int size); 
@@ -1303,25 +1304,31 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		public StringArray(String[] data) {
 			_data = data;
 			_size = _data.length;
-		}		
+		}
+		@Override
 		public String get(int index) {
 			return _data[index];
 		}
+		@Override
 		public void set(int index, String value) {
 			_data[index] = value;
 		}
+		@Override
 		public void set(int rl, int ru, Array value) {
 			set(rl, ru, value, 0);
 		}
+		@Override
 		public void set(int rl, int ru, Array value, int rlSrc) {
 			System.arraycopy(((StringArray)value)._data, rlSrc, _data, rl, ru-rl+1);
 		}
+		@Override
 		public void setNz(int rl, int ru, Array value) {
 			String[] data2 = ((StringArray)value)._data;
 			for( int i=rl; i<ru+1; i++ )
 				if( data2[i]!=null )
 					_data[i] = data2[i];
 		}
+		@Override
 		public void append(String value) {
 			if( _data.length <= _size )
 				_data = Arrays.copyOf(_data, newSize());
@@ -1338,12 +1345,15 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 				_data[i] = (!tmp.isEmpty()) ? tmp : null;
 			}
 		}
+		@Override
 		public Array clone() {
 			return new StringArray(Arrays.copyOf(_data, _size));
 		}
+		@Override
 		public Array slice(int rl, int ru) {
 			return new StringArray(Arrays.copyOfRange(_data,rl,ru+1));
 		}
+		@Override
 		public void reset(int size) {
 			if( _data.length < size )
 				_data = new String[size];
@@ -1357,28 +1367,35 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		public BooleanArray(boolean[] data) {
 			_data = data;
 			_size = _data.length;
-		}		
+		}
+		@Override
 		public Boolean get(int index) {
 			return _data[index];
 		}
+		@Override
 		public void set(int index, Boolean value) {
 			_data[index] = (value!=null) ? value : false;
 		}
+		@Override
 		public void set(int rl, int ru, Array value) {
 			set(rl, ru, value, 0);
 		}
+		@Override
 		public void set(int rl, int ru, Array value, int rlSrc) {
 			System.arraycopy(((BooleanArray)value)._data, rlSrc, _data, rl, ru-rl+1);
 		}
+		@Override
 		public void setNz(int rl, int ru, Array value) {
 			boolean[] data2 = ((BooleanArray)value)._data;
 			for( int i=rl; i<ru+1; i++ )
 				if( data2[i] )
 					_data[i] = data2[i];
 		}
+		@Override
 		public void append(String value) {
 			append(Boolean.parseBoolean(value));
 		}
+		@Override
 		public void append(Boolean value) {
 			if( _data.length <= _size )
 				_data = Arrays.copyOf(_data, newSize());
@@ -1393,12 +1410,15 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 			for( int i=0; i<_size; i++ )
 				_data[i] = in.readBoolean();
 		}
+		@Override
 		public Array clone() {
 			return new BooleanArray(Arrays.copyOf(_data, _size));
 		}
+		@Override
 		public Array slice(int rl, int ru) {
 			return new BooleanArray(Arrays.copyOfRange(_data,rl,ru+1));
 		}
+		@Override
 		public void reset(int size) {
 			if( _data.length < size )
 				_data = new boolean[size];
@@ -1412,28 +1432,35 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		public LongArray(long[] data) {
 			_data = data;
 			_size = _data.length;
-		}		
+		}
+		@Override
 		public Long get(int index) {
 			return _data[index];
 		}
+		@Override
 		public void set(int index, Long value) {
 			_data[index] = (value!=null) ? value : 0L;
 		}
+		@Override
 		public void set(int rl, int ru, Array value) {
 			set(rl, ru, value, 0);
 		}
+		@Override
 		public void set(int rl, int ru, Array value, int rlSrc) {
 			System.arraycopy(((LongArray)value)._data, rlSrc, _data, rl, ru-rl+1);
 		}
+		@Override
 		public void setNz(int rl, int ru, Array value) {
 			long[] data2 = ((LongArray)value)._data;
 			for( int i=rl; i<ru+1; i++ )
 				if( data2[i]!=0 )
 					_data[i] = data2[i];
 		}
+		@Override
 		public void append(String value) {
 			append((value!=null)?Long.parseLong(value):null);
 		}
+		@Override
 		public void append(Long value) {
 			if( _data.length <= _size )
 				_data = Arrays.copyOf(_data, newSize());
@@ -1448,12 +1475,15 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 			for( int i=0; i<_size; i++ )
 				_data[i] = in.readLong();
 		}
+		@Override
 		public Array clone() {
 			return new LongArray(Arrays.copyOf(_data, _size));
 		}
+		@Override
 		public Array slice(int rl, int ru) {
 			return new LongArray(Arrays.copyOfRange(_data,rl,ru+1));
 		}
+		@Override
 		public void reset(int size) {
 			if( _data.length < size )
 				_data = new long[size];
@@ -1467,28 +1497,35 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 		public DoubleArray(double[] data) {
 			_data = data;
 			_size = _data.length;
-		}		
+		}
+		@Override
 		public Double get(int index) {
 			return _data[index];
 		}
+		@Override
 		public void set(int index, Double value) {
 			_data[index] = (value!=null) ? value : 0d;
 		}
+		@Override
 		public void set(int rl, int ru, Array value) {
 			set(rl,ru, value, 0);
 		}
+		@Override
 		public void set(int rl, int ru, Array value, int rlSrc) {
 			System.arraycopy(((DoubleArray)value)._data, rlSrc, _data, rl, ru-rl+1);
 		}
+		@Override
 		public void setNz(int rl, int ru, Array value) {
 			double[] data2 = ((DoubleArray)value)._data;
 			for( int i=rl; i<ru+1; i++ )
 				if( data2[i]!=0 )
 					_data[i] = data2[i];
 		}
+		@Override
 		public void append(String value) {
 			append((value!=null)?Double.parseDouble(value):null);
 		}
+		@Override
 		public void append(Double value) {
 			if( _data.length <= _size )
 				_data = Arrays.copyOf(_data, newSize());
@@ -1503,12 +1540,15 @@ public class FrameBlock implements Writable, CacheBlock, Externalizable
 			for( int i=0; i<_size; i++ )
 				_data[i] = in.readDouble();
 		}
+		@Override
 		public Array clone() {
 			return new DoubleArray(Arrays.copyOf(_data, _size));
 		}
+		@Override
 		public Array slice(int rl, int ru) {
 			return new DoubleArray(Arrays.copyOfRange(_data,rl,ru+1));
 		}
+		@Override
 		public void reset(int size) {
 			if( _data.length < size )
 				_data = new double[size];

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java b/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
index f19fedd..f4c6c7a 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
@@ -51,6 +51,7 @@ public class IJV
 		return _v;
 	}
 	
+	@Override
 	public String toString() {
 		return "("+_i+", "+_j+"): "+_v;
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/IdenticalConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/IdenticalConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/IdenticalConverter.java
index de4b425..3290609 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/IdenticalConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/IdenticalConverter.java
@@ -24,8 +24,7 @@ import org.apache.hadoop.io.Writable;
 
 public class IdenticalConverter implements Converter<Writable, Writable, Writable, Writable>
 {
-	
-	private Pair<Writable, Writable> pair=new Pair<Writable, Writable>();
+	private Pair<Writable, Writable> pair=new Pair<>();
 	private boolean hasValue=false;
 	
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java
index 1ec5290..4a99adf 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java
@@ -248,7 +248,7 @@ public class LibMatrixAgg
 		//(currently: always parallelization over number of rows)
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<AggTask> tasks = new ArrayList<AggTask>();
+			ArrayList<AggTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)m/k));
 			for( int i=0; i<k & i*blklen<m; i++ ) {
 				tasks.add( (uaop.indexFn instanceof ReduceCol) ? 
@@ -346,10 +346,10 @@ public class LibMatrixAgg
 			
 			//step 1: compute aggregates per row partition
 			AggType uaoptype = getAggType(uaop);
-			ArrayList<PartialAggTask> tasks = new ArrayList<PartialAggTask>();
+			ArrayList<PartialAggTask> tasks = new ArrayList<>();
 			for( int i=0; i<k & i*blklen<m; i++ )
 				tasks.add( new PartialAggTask(in, new MatrixBlock(mk,n2,false), uaoptype, uaop, i*blklen, Math.min((i+1)*blklen, m)) );
-			List<Future<Object>> taskret = pool.invokeAll(tasks);	
+			List<Future<Object>> taskret = pool.invokeAll(tasks);
 			for( Future<Object> task : taskret )
 				task.get(); //check for errors
 			
@@ -364,7 +364,7 @@ public class LibMatrixAgg
 			MatrixBlock tmp2 = cumaggregateUnaryMatrix(tmp, new MatrixBlock(tasks.size(), n2, false), uop);
 			
 			//step 3: compute final cumulative aggregate
-			ArrayList<CumAggTask> tasks2 = new ArrayList<CumAggTask>();
+			ArrayList<CumAggTask> tasks2 = new ArrayList<>();
 			for( int i=0; i<k & i*blklen<m; i++ ) {
 				double[] agg = (i==0)? null : 
 					DataConverter.convertToDoubleVector(tmp2.sliceOperations(i-1, i-1, 0, n2-1, new MatrixBlock()), false);
@@ -437,7 +437,7 @@ public class LibMatrixAgg
 		
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<AggTernaryTask> tasks = new ArrayList<AggTernaryTask>();
+			ArrayList<AggTernaryTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)in1.rlen/k));
 			IndexFunction ixFn = op.indexFn;
 			for( int i=0; i<k & i*blklen<in1.rlen; i++ )
@@ -511,7 +511,7 @@ public class LibMatrixAgg
 		//(currently: parallelization over columns to avoid additional memory requirements)
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<GrpAggTask> tasks = new ArrayList<GrpAggTask>();
+			ArrayList<GrpAggTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)target.clen/k));
 			for( int i=0; i<k & i*blklen<target.clen; i++ )
 				tasks.add( new GrpAggTask(groups, target, weights, result, numGroups, op, i*blklen, Math.min((i+1)*blklen, target.clen)) );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.java
index a21dae0..581607e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.java
@@ -47,9 +47,9 @@ public class LibMatrixCuDNNInputRowFetcher implements java.lang.AutoCloseable {
 	 */
 	public LibMatrixCuDNNInputRowFetcher(GPUContext gCtx, String instName, MatrixObject image) throws DMLRuntimeException {
 		this.gCtx = gCtx; this.instName = instName;
-		numColumns = LibMatrixCuDNN.toInt(image.getNumColumns());
-		isInputInSparseFormat = LibMatrixCuDNN.isInSparseFormat(gCtx, image);
-		inPointer = isInputInSparseFormat ? LibMatrixCuDNN.getSparsePointer(gCtx, image, instName) : LibMatrixCuDNN.getDensePointerForCuDNN(gCtx, image, instName);
+		numColumns = LibMatrixCUDA.toInt(image.getNumColumns());
+		isInputInSparseFormat = LibMatrixCUDA.isInSparseFormat(gCtx, image);
+		inPointer = isInputInSparseFormat ? LibMatrixCUDA.getSparsePointer(gCtx, image, instName) : LibMatrixCuDNN.getDensePointerForCuDNN(gCtx, image, instName);
 		outPointer = gCtx.allocate(numColumns*Sizeof.DOUBLE);
 	}
 	/**
@@ -65,10 +65,10 @@ public class LibMatrixCuDNNInputRowFetcher implements java.lang.AutoCloseable {
 			cudaMemset(outPointer, 0, numColumns*Sizeof.DOUBLE);
 			jcuda.runtime.JCuda.cudaDeviceSynchronize();
 			if(GPUStatistics.DISPLAY_STATISTICS) GPUStatistics.maintainCPMiscTimes(instName, GPUInstruction.MISC_TIMER_SET_ZERO, System.nanoTime() - t0);
-			LibMatrixCuDNN.sliceSparseDense(gCtx, instName, (CSRPointer)inPointer, outPointer, n, n, 0, LibMatrixCuDNN.toInt(numColumns-1), numColumns);
+			LibMatrixCUDA.sliceSparseDense(gCtx, instName, (CSRPointer)inPointer, outPointer, n, n, 0, LibMatrixCUDA.toInt(numColumns-1), numColumns);
 		}
 		else {
-			LibMatrixCuDNN.sliceDenseDense(gCtx, instName, (Pointer)inPointer, outPointer, n, n, 0, LibMatrixCuDNN.toInt(numColumns-1), numColumns);
+			LibMatrixCUDA.sliceDenseDense(gCtx, instName, (Pointer)inPointer, outPointer, n, n, 0, LibMatrixCUDA.toInt(numColumns-1), numColumns);
 		}
 		return outPointer;
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDatagen.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDatagen.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDatagen.java
index 4dc9460..90dda05 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDatagen.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDatagen.java
@@ -342,7 +342,7 @@ public class LibMatrixDatagen
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<RandTask> tasks = new ArrayList<RandTask>();
+			ArrayList<RandTask> tasks = new ArrayList<>();
 			int blklen = ((int)(Math.ceil((double)parnb/k)));
 			for( int i=0; i<k & i*blklen<parnb; i++ ) {
 				int rl = parcol ? 0 : i*blklen; 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 190d807..dbb65fe 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
@@ -208,7 +208,7 @@ public class LibMatrixMult
 		//(currently: always parallelization over number of rows)
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<MatrixMultTask> tasks = new ArrayList<MatrixMultTask>();
+			ArrayList<MatrixMultTask> tasks = new ArrayList<>();
 			int nk = (pm2r||pm2c) ? k : UtilFunctions.roundToNext(Math.min(8*k,num/32), k);
 			ArrayList<Integer> blklens = getBalancedBlockSizes(num, nk);
 			for( int i=0, lb=0; i<blklens.size(); lb+=blklens.get(i), i++ )
@@ -321,7 +321,7 @@ public class LibMatrixMult
 		//(currently: always parallelization over number of rows)
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<MatrixMultChainTask> tasks = new ArrayList<MatrixMultChainTask>();
+			ArrayList<MatrixMultChainTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)mX.rlen/k));
 			blklen += (blklen%24 != 0)?24-blklen%24:0;
 			for( int i=0; i<k & i*blklen<mX.rlen; i++ )
@@ -403,7 +403,7 @@ public class LibMatrixMult
 		//core multi-threaded matrix mult computation
 		try {
 			ExecutorService pool = Executors.newFixedThreadPool( k );
-			ArrayList<MatrixMultTransposeTask> tasks = new ArrayList<MatrixMultTransposeTask>();
+			ArrayList<MatrixMultTransposeTask> tasks = new ArrayList<>();
 			//load balance via #tasks=2k due to triangular shape 
 			int blklen = (int)(Math.ceil((double)ret.rlen/(2*k)));
 			for( int i=0; i<2*k & i*blklen<ret.rlen; i++ )
@@ -483,7 +483,7 @@ public class LibMatrixMult
 		try
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultPermuteTask> tasks = new ArrayList<MatrixMultPermuteTask>();
+			ArrayList<MatrixMultPermuteTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)pm1.rlen/k));
 			for( int i=0; i<k & i*blklen<pm1.rlen; i++ )
 				tasks.add(new MatrixMultPermuteTask(pm1, m2, ret1, ret2, i*blklen, Math.min((i+1)*blklen, pm1.rlen)));
@@ -558,7 +558,7 @@ public class LibMatrixMult
 		try 
 		{			
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultWSLossTask> tasks = new ArrayList<MatrixMultWSLossTask>();
+			ArrayList<MatrixMultWSLossTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)mX.rlen/k));
 			for( int i=0; i<k & i*blklen<mX.rlen; i++ )
 				tasks.add(new MatrixMultWSLossTask(mX, mU, mV, mW, wt, i*blklen, Math.min((i+1)*blklen, mX.rlen)));
@@ -634,7 +634,7 @@ public class LibMatrixMult
 		try 
 		{			
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultWSigmoidTask> tasks = new ArrayList<MatrixMultWSigmoidTask>();
+			ArrayList<MatrixMultWSigmoidTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)mW.rlen/k));
 			for( int i=0; i<k & i*blklen<mW.rlen; i++ )
 				tasks.add(new MatrixMultWSigmoidTask(mW, mU, mV, ret, wt, i*blklen, Math.min((i+1)*blklen, mW.rlen)));
@@ -749,7 +749,7 @@ public class LibMatrixMult
 		try 
 		{			
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultWDivTask> tasks = new ArrayList<MatrixMultWDivTask>();
+			ArrayList<MatrixMultWDivTask> tasks = new ArrayList<>();
 			//create tasks (for wdivmm-left, parallelization over columns;
 			//for wdivmm-right, parallelization over rows; both ensure disjoint results)
 			if( wt.isLeft() ) {
@@ -826,7 +826,7 @@ public class LibMatrixMult
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultWCeTask> tasks = new ArrayList<MatrixMultWCeTask>();
+			ArrayList<MatrixMultWCeTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)mW.rlen/k));
 			for( int i=0; i<k & i*blklen<mW.rlen; i++ )
 				tasks.add(new MatrixMultWCeTask(mW, mU, mV, eps, wt, i*blklen, Math.min((i+1)*blklen, mW.rlen)));
@@ -898,7 +898,7 @@ public class LibMatrixMult
 		try 
 		{
 			ExecutorService pool = Executors.newFixedThreadPool(k);
-			ArrayList<MatrixMultWuTask> tasks = new ArrayList<MatrixMultWuTask>();
+			ArrayList<MatrixMultWuTask> tasks = new ArrayList<>();
 			int blklen = (int)(Math.ceil((double)mW.rlen/k));
 			for( int i=0; i<k & i*blklen<mW.rlen; i++ )
 				tasks.add(new MatrixMultWuTask(mW, mU, mV, ret, wt, fn, i*blklen, Math.min((i+1)*blklen, mW.rlen)));
@@ -3646,7 +3646,7 @@ public class LibMatrixMult
 	}
 
 	private static ArrayList<Integer> getBalancedBlockSizes(int len, int k) {
-		ArrayList<Integer> ret = new ArrayList<Integer>();
+		ArrayList<Integer> ret = new ArrayList<>();
 		int base = len / k;
 		int rest = len % k;
 		for( int i=0; i<k; i++ ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 d2d3d86..76002fe 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
@@ -191,7 +191,7 @@ public class LibMatrixReorg
 			//pre-processing (compute nnz per column once for sparse)
 			int[] cnt = null;
 			if( in.sparse && out.sparse ) {
-				ArrayList<CountNnzTask> tasks = new ArrayList<CountNnzTask>();
+				ArrayList<CountNnzTask> tasks = new ArrayList<>();
 				int blklen = (int)(Math.ceil((double)in.rlen/k));
 				for( int i=0; i<k & i*blklen<in.rlen; i++ )
 					tasks.add(new CountNnzTask(in, i*blklen, Math.min((i+1)*blklen, in.rlen)));
@@ -200,7 +200,7 @@ public class LibMatrixReorg
 					cnt = mergeNnzCounts(cnt, rtask.get());
 			} 
 			//compute actual transpose and check for errors
-			ArrayList<TransposeTask> tasks = new ArrayList<TransposeTask>();
+			ArrayList<TransposeTask> tasks = new ArrayList<>();
 			boolean row = (in.sparse || in.rlen >= in.clen) && !out.sparse;
 			int len = row ? in.rlen : in.clen;
 			int blklen = (int)(Math.ceil((double)len/k));
@@ -504,7 +504,7 @@ public class LibMatrixReorg
 			reshapeDense(mbIn, row_offset, col_offset, rblk, mcIn, mcOut, rowwise);
 
 		//prepare output
-		out = new ArrayList<IndexedMatrixValue>();
+		out = new ArrayList<>();
 		for( Entry<MatrixIndexes, MatrixBlock> e : rblk.entrySet() )
 			out.add(new IndexedMatrixValue(e.getKey(),e.getValue()));
 		
@@ -567,7 +567,7 @@ public class LibMatrixReorg
 		}
 		
 		//compute outputs (at most two output blocks)
-		HashMap<MatrixIndexes,IndexedMatrixValue> out = new HashMap<MatrixIndexes,IndexedMatrixValue>();
+		HashMap<MatrixIndexes,IndexedMatrixValue> out = new HashMap<>();
 		MatrixBlock linData = (MatrixBlock) data.getValue();
 		MatrixBlock linOffset = (MatrixBlock) offset.getValue();
 		MatrixIndexes tmpIx = new MatrixIndexes(-1,-1);
@@ -1429,7 +1429,7 @@ public class LibMatrixReorg
 	private static Collection<MatrixIndexes> computeAllResultBlockIndexes( MatrixIndexes ixin,
 		MatrixCharacteristics mcIn, MatrixCharacteristics mcOut, boolean rowwise )
 	{
-		HashSet<MatrixIndexes> ret = new HashSet<MatrixIndexes>();
+		HashSet<MatrixIndexes> ret = new HashSet<>();
 		
 		long row_offset = (ixin.getRowIndex()-1)*mcOut.getRowsPerBlock();
 		long col_offset = (ixin.getColumnIndex()-1)*mcOut.getColsPerBlock();
@@ -1661,7 +1661,7 @@ public class LibMatrixReorg
 			
 			if( in.sparse ) //SPARSE 
 			{
-				SparseBlock a = in.sparseBlock;				
+				SparseBlock a = in.sparseBlock;
 				for ( int i=0; i < m; i++ )
 					rlen2 += (flags[i] = !a.isEmpty(i)) ? 1 : 0;
 			}
@@ -1931,7 +1931,7 @@ public class LibMatrixReorg
 		else {
 			try {
 				ExecutorService pool = Executors.newFixedThreadPool( k );
-				ArrayList<RExpandColsTask> tasks = new ArrayList<RExpandColsTask>();
+				ArrayList<RExpandColsTask> tasks = new ArrayList<>();
 				int blklen = (int)(Math.ceil((double)rlen/k/8));
 				for( int i=0; i<8*k & i*blklen<rlen; i++ )
 					tasks.add(new RExpandColsTask(in, ret, 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 432b18a..66a5d9a 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
@@ -437,6 +437,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 	////////
 	// Metadata information 
 	
+	@Override
 	public int getNumRows() {
 		return rlen;
 	}
@@ -451,6 +452,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		rlen = r;
 	}
 	
+	@Override
 	public int getNumColumns() {
 		return clen;
 	}
@@ -459,6 +461,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		clen = c;
 	}
 	
+	@Override
 	public long getNonZeros() {
 		return nonZeros;
 	}
@@ -916,6 +919,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 	 * 
 	 * @return true if sparse
 	 */
+	@Override
 	public boolean isInSparseFormat() {
 		return sparse;
 	}
@@ -2898,6 +2902,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		}
 	}
 
+	@Override
 	public MatrixValue binaryOperations(BinaryOperator op, MatrixValue thatValue, MatrixValue result) 
 		throws DMLRuntimeException
 	{
@@ -2927,6 +2932,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		return ret;
 	}
 
+	@Override
 	public void binaryOperationsInPlace(BinaryOperator op, MatrixValue thatValue) 
 		throws DMLRuntimeException
 	{
@@ -2946,9 +2952,8 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		//core binary cell operation
 		LibMatrixBincell.bincellOpInPlace(this, that, op);
 	}
-
-
 	
+	@Override
 	public void incrementalAggregate(AggregateOperator aggOp, MatrixValue correction, 
 			MatrixValue newWithCorrection)
 	throws DMLRuntimeException
@@ -3193,6 +3198,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 			throw new DMLRuntimeException("unrecognized correctionLocation: "+aggOp.correctionLocation);
 	}
 	
+	@Override
 	public void incrementalAggregate(AggregateOperator aggOp, MatrixValue newWithCorrection)
 		throws DMLRuntimeException
 	{
@@ -3940,6 +3946,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		dest.recomputeNonZeros();
 	}
 	
+	@Override
 	public void sliceOperations(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, 
 			int normalBlockRowFactor, int normalBlockColFactor, int boundaryRlen, int boundaryClen)
 	{
@@ -4095,6 +4102,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		}
 	}
 
+	@Override
 	public MatrixValue zeroOutOperations(MatrixValue result, IndexRange range, boolean complementary)
 			throws DMLRuntimeException 
 	{
@@ -4203,6 +4211,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		return result;
 	}
 	
+	@Override
 	public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, 
 			int blockingFactorRow, int blockingFactorCol, MatrixIndexes indexesIn)
 		throws DMLRuntimeException
@@ -4211,7 +4220,7 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 				blockingFactorRow, blockingFactorCol, indexesIn, false);
 	}
 	
-	
+	@Override
 	public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, 
 			int blockingFactorRow, int blockingFactorCol, MatrixIndexes indexesIn, boolean inCP) 
 		throws DMLRuntimeException
@@ -4835,12 +4844,14 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab
 		return sum_wt;
 	}
 	
+	@Override
 	public MatrixValue aggregateBinaryOperations(MatrixIndexes m1Index, MatrixValue m1Value, MatrixIndexes m2Index, MatrixValue m2Value, 
 			MatrixValue result, AggregateBinaryOperator op ) throws DMLRuntimeException
 	{
 		return aggregateBinaryOperations(m1Value, m2Value, result, op);
 	}
 
+	@Override
 	public MatrixValue aggregateBinaryOperations(MatrixValue m1Value, MatrixValue m2Value, MatrixValue result, AggregateBinaryOperator op) 
 		throws DMLRuntimeException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixCell.java b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixCell.java
index 62db808..7e82c43 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixCell.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixCell.java
@@ -149,7 +149,8 @@ public class MatrixCell extends MatrixValue implements WritableComparable, Seria
 		value=0;
 	}
 	
-	public void reset(int rl, int cl, boolean sp, long nnzs) {		
+	@Override
+	public void reset(int rl, int cl, boolean sp, long nnzs) {
 		value=0;
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixValue.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixValue.java b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixValue.java
index 6e9986a..e0a9579 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixValue.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixValue.java
@@ -61,6 +61,7 @@ public abstract class MatrixValue implements WritableComparable
 			return (this.row == cthat.row && this.column == cthat.column);
 		}
 
+		@Override
 		public int hashCode() {
 			return UtilFunctions.longHashCode((row << 16) + column);
 		}
@@ -69,8 +70,9 @@ public abstract class MatrixValue implements WritableComparable
 			row = r;
 			column = c;
 		}
-		public String toString()
-		{
+		
+		@Override
+		public String toString() {
 			return "("+row+","+column+")";
 		}
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/OperationsOnMatrixValues.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/OperationsOnMatrixValues.java b/src/main/java/org/apache/sysml/runtime/matrix/data/OperationsOnMatrixValues.java
index 73a35be..1f72692 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/OperationsOnMatrixValues.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/OperationsOnMatrixValues.java
@@ -299,7 +299,7 @@ public class OperationsOnMatrixValues
 			throws DMLRuntimeException
 	{
 		IndexedMatrixValue imv = new IndexedMatrixValue(new MatrixIndexes(iix, jix), (MatrixBlock)in);
-		ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+		ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 		performSlice(imv, ixrange, brlen, bclen, outlist);
 	
 		return SparkUtils.fromIndexedMatrixBlockToPair(outlist);
@@ -452,8 +452,8 @@ public class OperationsOnMatrixValues
 	public static ArrayList performSlice(IndexRange ixrange, int brlen, int bclen, int iix, int jix, FrameBlock in) 
 			throws DMLRuntimeException
 	{
-		Pair<Long, FrameBlock> lfp = new Pair<Long, FrameBlock>(new Long(((iix-1)*brlen)+1), in);
-		ArrayList<Pair<Long, FrameBlock>> outlist = new ArrayList<Pair<Long, FrameBlock>>();
+		Pair<Long, FrameBlock> lfp = new Pair<>(new Long(((iix-1)*brlen)+1), in);
+		ArrayList<Pair<Long, FrameBlock>> outlist = new ArrayList<>();
 		performSlice(lfp, ixrange, brlen, bclen, outlist);
 	
 		return outlist;
@@ -512,7 +512,7 @@ public class OperationsOnMatrixValues
 		{
 			ValueType[] schema = Arrays.copyOfRange(block.getSchema(), (int)tmpRange.colStart, (int)tmpRange.colEnd+1);
 			long iResultIndex = Math.max(((r-1)*brlen - ixrange.rowStart + 1), 0);
-			Pair<Long,FrameBlock> out=new Pair<Long,FrameBlock>(new Long(iResultIndex+1), new FrameBlock(schema));
+			Pair<Long,FrameBlock> out=new Pair<>(new Long(iResultIndex+1), new FrameBlock(schema));
 			outlist.add(out);
 		}
 		
@@ -571,7 +571,7 @@ public class OperationsOnMatrixValues
 			resultBlock.ensureAllocatedColumns(iRHSRows);
 			
 			resultBlock = resultBlock.leftIndexingOperations(slicedRHSBlk, lhs_lrl, lhs_lru, lhs_lcl, lhs_lcu, new FrameBlock());
-			outlist.add(new Pair<Long, FrameBlock>((leftRowIndex-1)*brlenLeft+1, resultBlock));
+			outlist.add(new Pair<>((leftRowIndex-1)*brlenLeft+1, resultBlock));
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/PartialBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/PartialBlock.java b/src/main/java/org/apache/sysml/runtime/matrix/data/PartialBlock.java
index 443644a..759546f 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/PartialBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/PartialBlock.java
@@ -75,8 +75,8 @@ public class PartialBlock implements WritableComparable<PartialBlock>
 		out.writeDouble(value);
 	}
 
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "["+row+", "+column+"]:"+value;
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCOO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCOO.java b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCOO.java
index 9f527d4..63b8071 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCOO.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCOO.java
@@ -234,6 +234,7 @@ public class SparseBlockCOO extends SparseBlock
 		return pos(ru) - pos(rl);
 	}
 	
+	@Override
 	public long size(int rl, int ru, int cl, int cu) {
 		long nnz = 0;
 		for(int i=rl; i<ru; i++)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseRowScalar.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseRowScalar.java b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseRowScalar.java
index a86eee9..fa95e4c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseRowScalar.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseRowScalar.java
@@ -54,6 +54,7 @@ public final class SparseRowScalar extends SparseRow implements Serializable
 		return new double[]{value};
 	}
 	
+	@Override
 	public int[] indexes() {
 		return new int[]{index};
 	}
@@ -86,10 +87,12 @@ public final class SparseRowScalar extends SparseRow implements Serializable
 		value = v;
 	}
 	
+	@Override
 	public double get(int col) {
 		return (index==col) ? value : 0;
 	}
 	
+	@Override
 	public void sort() {
 		//do nothing
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/Tagged.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/Tagged.java b/src/main/java/org/apache/sysml/runtime/matrix/data/Tagged.java
index 5310669..b7ac903 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/Tagged.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/Tagged.java
@@ -72,8 +72,8 @@ public class Tagged<T extends WritableComparable> implements WritableComparable<
 		base.write(out);
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return base.toString()+" ~~ tag: "+tag;
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
index bea0c48..ac10f2e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
@@ -61,27 +61,23 @@ public class TaggedFirstSecondIndexes implements WritableComparable<TaggedFirstS
 		setTag(other.tag);
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "("+first+", "+second+") tag: "+tag;
 	}
 	
-	public byte getTag()
-	{
+	public byte getTag() {
 		return tag;
 	}
 	
-	public long getFirstIndex()
-	{
+	public long getFirstIndex() {
 		return first;
 	}
-	public long getSecondIndex()
-	{
+	public long getSecondIndex() {
 		return second;
 	}
 	
-	public void setIndexes(long i1, long i2)
-	{
+	public void setIndexes(long i1, long i2) {
 		first=i1;
 		second=i2;
 	}
@@ -91,7 +87,6 @@ public class TaggedFirstSecondIndexes implements WritableComparable<TaggedFirstS
 		first=in.readLong();
 		tag=in.readByte();
 		second=in.readLong();
-		
 	}
 
 	@Override
@@ -99,7 +94,6 @@ public class TaggedFirstSecondIndexes implements WritableComparable<TaggedFirstS
 		out.writeLong(first);
 		out.writeByte(tag);
 		out.writeLong(second);
-		
 	}
 	
 	public int compareTo(TaggedFirstSecondIndexes other)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedMatrixIndexes.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedMatrixIndexes.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedMatrixIndexes.java
index 47e114e..1c23f7c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedMatrixIndexes.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedMatrixIndexes.java
@@ -42,6 +42,7 @@ public class TaggedMatrixIndexes extends Tagged<MatrixIndexes>
 		return "k: "+base+", tag: "+tag;
 	}
 	
+	@Override
 	public void readFields(DataInput in) throws IOException {
 		if( base == null ){
 			base = new MatrixIndexes();
@@ -50,6 +51,7 @@ public class TaggedMatrixIndexes extends Tagged<MatrixIndexes>
 		tag=in.readByte();
 	}
 	
+	@Override
 	public void write(DataOutput out) throws IOException {
 		base.write(out);
 		out.writeByte(tag);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedTripleIndexes.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedTripleIndexes.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedTripleIndexes.java
index 4b298a4..3b3c3a4 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedTripleIndexes.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedTripleIndexes.java
@@ -51,22 +51,21 @@ public class TaggedTripleIndexes extends TaggedFirstSecondIndexes
 		this.tag=that.tag;
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "("+first+", "+second+") k: "+third+", tag: "+tag;
 	}
 	
-	public long getThirdIndex()
-	{
+	public long getThirdIndex() {
 		return third;
 	}
 	
-	public void setIndexes(long i1, long i2, long i3)
-	{
+	public void setIndexes(long i1, long i2, long i3) {
 		super.setIndexes(i1, i2);
 		third=i3;
 	}
 	
+	@Override
 	public void readFields(DataInput in) throws IOException {
 		first=in.readLong();
 		second=in.readLong();
@@ -74,6 +73,7 @@ public class TaggedTripleIndexes extends TaggedFirstSecondIndexes
 		tag=in.readByte();
 	}
 	
+	@Override
 	public void write(DataOutput out) throws IOException {
 		out.writeLong(first);
 		out.writeLong(second);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TextCellToRowBlockConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TextCellToRowBlockConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TextCellToRowBlockConverter.java
index ebe49bd..3568a4f 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TextCellToRowBlockConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TextCellToRowBlockConverter.java
@@ -27,10 +27,9 @@ import org.apache.sysml.runtime.util.FastStringTokenizer;
 
 public class TextCellToRowBlockConverter implements Converter<LongWritable, Text, MatrixIndexes, MatrixBlock>
 {
-	
 	private MatrixIndexes indexes=new MatrixIndexes();
 	private MatrixBlock rowBlock=new MatrixBlock();
-	private Pair<MatrixIndexes, MatrixBlock> pair=new Pair<MatrixIndexes, MatrixBlock>(indexes, rowBlock);
+	private Pair<MatrixIndexes, MatrixBlock> pair=new Pair<>(indexes, rowBlock);
 	private FastStringTokenizer st = new FastStringTokenizer(' '); 
 	private boolean hasValue=false;
 	private boolean toIgnore=false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TextToBinaryCellConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TextToBinaryCellConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TextToBinaryCellConverter.java
index 93d6cc6..036743f 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TextToBinaryCellConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TextToBinaryCellConverter.java
@@ -29,10 +29,9 @@ import org.apache.sysml.runtime.util.FastStringTokenizer;
 public class TextToBinaryCellConverter 
 implements Converter<LongWritable, Text, MatrixIndexes, MatrixCell>
 {
-	
 	private MatrixIndexes indexes = new MatrixIndexes();
 	private MatrixCell value = new MatrixCell();
-	private Pair<MatrixIndexes, MatrixCell> pair = new Pair<MatrixIndexes, MatrixCell>(indexes, value);
+	private Pair<MatrixIndexes, MatrixCell> pair = new Pair<>(indexes, value);
 	private FastStringTokenizer st = new FastStringTokenizer(' '); 
 	private boolean hasValue = false;
 	private boolean toIgnore = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/TripleIndexes.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/TripleIndexes.java b/src/main/java/org/apache/sysml/runtime/matrix/data/TripleIndexes.java
index cbcc9f8..a60f1c0 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/TripleIndexes.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/TripleIndexes.java
@@ -44,26 +44,24 @@ public class TripleIndexes implements WritableComparable<TripleIndexes>, Seriali
 	private long third=-1;
 
 	public TripleIndexes(){}
-	public TripleIndexes(long i1, long i2, long i3)
-	{
+	
+	public TripleIndexes(long i1, long i2, long i3) {
 		first=i1;
 		second=i2;
 		third=i3;
 	}
 	
-	public TripleIndexes(TripleIndexes that)
-	{
+	public TripleIndexes(TripleIndexes that) {
 		setIndexes(that);
 	}
 	public void setIndexes(TripleIndexes that) {
-		
 		this.first=that.first;
 		this.second=that.second;
 		this.third=that.third;
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "("+first+", "+second+") k: "+third;
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/UnPaddedOutputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/UnPaddedOutputFormat.java b/src/main/java/org/apache/sysml/runtime/matrix/data/UnPaddedOutputFormat.java
index 83575f0..c8581a7 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/UnPaddedOutputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/UnPaddedOutputFormat.java
@@ -62,6 +62,6 @@ public class UnPaddedOutputFormat<K extends Writable, V extends Writable> extend
 		Path file = FileOutputFormat.getTaskOutputPath(job, name);
 	    FileSystem fs = file.getFileSystem(job);
 	    FSDataOutputStream fileOut = fs.create(file, true, job.getInt(MRConfigurationNames.IO_FILE_BUFFER_SIZE, 4096), progress);
-		return new UnpaddedRecordWriter<K, V>(fileOut);
+		return new UnpaddedRecordWriter<>(fileOut);
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCell.java b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCell.java
index dac0170..f111111 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCell.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCell.java
@@ -38,8 +38,8 @@ public class WeightedCell extends MatrixCell
 	
 	protected double weight=0;
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return value+": "+weight;
 	}
 	
@@ -62,6 +62,8 @@ public class WeightedCell extends MatrixCell
 			throw new DMLRuntimeException("the Matrix Value is not WeightedCell!");
 		return (WeightedCell) cell;
 	}
+	
+	@Override
 	public void copy(MatrixValue that){
 		WeightedCell c2;
 		try {
@@ -102,18 +104,16 @@ public class WeightedCell extends MatrixCell
 		throw new RuntimeException("hashCode() should never be called on instances of this class.");
 	}
 	
-	public void setWeight(double w)
-	{
+	public void setWeight(double w) {
 		weight=w;
 	}
 	
-	public double getWeight()
-	{
+	public double getWeight() {
 		return weight;
 	}
 
-	public double getValue()
-	{
+	@Override
+	public double getValue() {
 		return value;
 	}
 	
@@ -128,6 +128,7 @@ public class WeightedCell extends MatrixCell
 	}
 
 	//TODO: how to handle -minus left vs. minus right
+	@Override
 	public void denseScalarOperationsInPlace(ScalarOperator op)
 			throws DMLRuntimeException {
 		value=op.executeScalar(value);
@@ -153,11 +154,13 @@ public class WeightedCell extends MatrixCell
 		return c3;
 	}
 
+	@Override
 	public void sparseScalarOperationsInPlace(ScalarOperator op)
 			throws DMLRuntimeException {
 		value=op.executeScalar(value);
 	}
 
+	@Override
 	public void sparseUnaryOperationsInPlace(UnaryOperator op)
 			throws DMLRuntimeException {
 		value=op.fn.execute(value);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCellToSortInputConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCellToSortInputConverter.java b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCellToSortInputConverter.java
index d24fec6..00d4327 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCellToSortInputConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedCellToSortInputConverter.java
@@ -26,10 +26,9 @@ import org.apache.hadoop.io.IntWritable;
 public class WeightedCellToSortInputConverter implements 
 Converter<MatrixIndexes, WeightedCell, DoubleWritable, IntWritable>
 {
-	
 	private DoubleWritable outKey=new DoubleWritable();
 	private IntWritable outValue=new IntWritable();
-	private Pair<DoubleWritable, IntWritable> pair=new Pair<DoubleWritable, IntWritable>(outKey, outValue);
+	private Pair<DoubleWritable, IntWritable> pair=new Pair<>(outKey, outValue);
 	private boolean hasValue=false;
 	@Override
 	public void convert(MatrixIndexes k1, WeightedCell v1) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedPair.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedPair.java b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedPair.java
index c9a6292..a255272 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedPair.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/WeightedPair.java
@@ -32,8 +32,9 @@ public class WeightedPair extends WeightedCell
 	private static final long serialVersionUID = 8772815876289553196L;
 
 	private double other=0;
-	public String toString()
-	{
+	
+	@Override
+	public String toString() {
 		return value+", "+other+": "+weight;
 	}
 	
@@ -57,6 +58,8 @@ public class WeightedPair extends WeightedCell
 			throw new DMLRuntimeException("the Matrix Value is not WeightedPair!");
 		return (WeightedPair) cell;
 	}
+	
+	@Override
 	public void copy(MatrixValue that){
 		WeightedPair c2;
 		try {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/MultipleInputs.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/MultipleInputs.java b/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/MultipleInputs.java
index 3a27c0c..1b2cd1a 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/MultipleInputs.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/MultipleInputs.java
@@ -66,7 +66,7 @@ public class MultipleInputs {
    * @return A map of paths to inputformats for the job
    */
   static Map<Path, InputFormat> getInputFormatMap(JobConf conf) {
-    Map<Path, InputFormat> m = new HashMap<Path, InputFormat>();
+    Map<Path, InputFormat> m = new HashMap<>();
     String[] pathMappings = conf.get(MRConfigurationNames.MR_INPUT_MULTIPLEINPUTS_DIR_FORMATS).split(",");
     for (String pathMapping : pathMappings) {
       String[] split = pathMapping.split(";");
@@ -95,7 +95,7 @@ public class MultipleInputs {
     if (conf.get(MRConfigurationNames.MR_INPUT_MULTIPLEINPUTS_DIR_MAPPERS) == null) {
       return Collections.emptyMap();
     }
-    Map<Path, Class<? extends Mapper>> m = new HashMap<Path, Class<? extends Mapper>>();
+    Map<Path, Class<? extends Mapper>> m = new HashMap<>();
     String[] pathMappings = conf.get(MRConfigurationNames.MR_INPUT_MULTIPLEINPUTS_DIR_MAPPERS).split(",");
     for (String pathMapping : pathMappings) {
       String[] split = pathMapping.split(";");

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
index 5f36a40..eb8f6c0 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
@@ -111,6 +111,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		}
 	}
 	
+	@Override
 	public void close() throws IOException
 	{
 		if(cachedCollector!=null)
@@ -131,6 +132,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		}
 	}
 
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
index 4194b08..2fd0ac1 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
@@ -129,6 +129,7 @@ implements Reducer<TaggedFirstSecondIndexes, MatrixValue, MatrixIndexes, MatrixV
 		}
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVReblockMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVReblockMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVReblockMapper.java
index aedd2b0..f04fba8 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVReblockMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVReblockMapper.java
@@ -48,7 +48,7 @@ public class CSVReblockMapper extends MapperBase implements Mapper<LongWritable,
 	private long rowOffset=0;
 	private boolean first=true;
 	private long num=0;
-	private HashMap<Long, Long> offsetMap=new HashMap<Long, Long>();
+	private HashMap<Long, Long> offsetMap=new HashMap<>();
 	private String _delim=" ";
 	private boolean ignoreFirstLine=false;
 	private boolean headerFile=false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
index 0c1bf2c..3702d69 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
@@ -77,6 +77,7 @@ public class CSVWriteMapper extends MapperBase implements Mapper<Writable, Writa
 		reporter.incrCounter(Counters.MAP_TIME, System.currentTimeMillis()-start);
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
index b856774..272a48d 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
@@ -103,7 +103,7 @@ public class CachedValueMap //extends CachedMap<IndexedMatrixValue>
 		ArrayList<IndexedMatrixValue> list = map.get(tag);
 		
 		if( list == null ){
-			list = new ArrayList<IndexedMatrixValue>();
+			list = new ArrayList<>();
 			map.put(tag, list);	
 		}
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/FrameReblockBuffer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/FrameReblockBuffer.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/FrameReblockBuffer.java
index 7a0b8c2..82a9873 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/FrameReblockBuffer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/FrameReblockBuffer.java
@@ -141,7 +141,7 @@ public class FrameReblockBuffer
 			return;
 		
 		//output block
-		out.add(new Pair<Long, FrameBlock>(new Long(key), value));
+		out.add(new Pair<>(new Long(key), value));
 	}
 	
 	private static class FrameCell 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCombiner.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCombiner.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCombiner.java
index 50a83fd..c25b798 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCombiner.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCombiner.java
@@ -56,7 +56,8 @@ implements Reducer<MatrixIndexes, TaggedMatrixValue, MatrixIndexes, TaggedMatrix
 		
 		report.incrCounter(Counters.COMBINE_OR_REDUCE_TIME, System.currentTimeMillis()-start);
 	}
-
+	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
index 0c30023..3e83272 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
@@ -157,6 +157,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		
 	}
 	
+	@Override
 	public void configure(JobConf job)
 	{
 		super.configure(job);
@@ -199,7 +200,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 			ArrayList<Integer> vec=tagMapping.get(output);
 			if(vec==null)
 			{
-				vec=new ArrayList<Integer>();
+				vec=new ArrayList<>();
 				tagMapping.put(output, vec);
 			}
 			vec.add(i);
@@ -208,6 +209,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
 		collectFinalMultipleOutputs=MRJobConfiguration.getMultipleConvertedOutputs(job);
 	}
 	
+	@Override
 	public void close() throws IOException
 	{
 		if( cachedReporter!=null && mapOnlyJob )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
index 454093d..88152f5 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
@@ -142,8 +142,7 @@ public class GroupedAggMRMapper extends MapperBase
 			GroupedAggregateInstruction[] grpaggIns = MRJobConfiguration.getGroupedAggregateInstructions(job);
 			if( grpaggIns == null )
 				throw new RuntimeException("no GroupAggregate Instructions found!");
-			
-			ArrayList<GroupedAggregateInstruction> vec = new ArrayList<GroupedAggregateInstruction>();
+			ArrayList<GroupedAggregateInstruction> vec = new ArrayList<>();
 			for(int i=0; i<representativeMatrixes.size(); i++)
 			{
 				byte input=representativeMatrixes.get(i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/matrix/mapred/IndexedMatrixValue.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/mapred/IndexedMatrixValue.java b/src/main/java/org/apache/sysml/runtime/matrix/mapred/IndexedMatrixValue.java
index 047f084..39bee87 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/IndexedMatrixValue.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/IndexedMatrixValue.java
@@ -80,8 +80,8 @@ public class IndexedMatrixValue implements Serializable
 		_value = block2;
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "("+_indexes.getRowIndex()+", "+_indexes.getColumnIndex()+"): \n"+_value;
 	}
 }


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
index 865dc9d..59f0f83 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
@@ -29,86 +29,69 @@ import org.apache.sysml.runtime.controlprogram.Program;
 import org.apache.sysml.runtime.controlprogram.ProgramBlock;
 
 public class OptTreePlanMappingAbstract extends OptTreePlanMapping
-{	
+{
 	private DMLProgram _prog;
 	private Program _rtprog;
 	private Map<Long, Object> _id_hlprog;
 	private Map<Long, Object> _id_rtprog;
 	
-	public OptTreePlanMappingAbstract( )
-	{
+	public OptTreePlanMappingAbstract( ) {
 		super();
-		
 		_prog = null;
 		_rtprog = null;
-		
-		_id_hlprog = new HashMap<Long, Object>();
-		_id_rtprog = new HashMap<Long, Object>();
+		_id_hlprog = new HashMap<>();
+		_id_rtprog = new HashMap<>();
 	}
 	
-	public void putRootProgram( DMLProgram prog, Program rtprog )
-	{
+	public void putRootProgram( DMLProgram prog, Program rtprog ) {
 		_prog = prog;
 		_rtprog = rtprog;
 	}
 	
-	public long putHopMapping( Hop hops, OptNode n )
-	{
+	public long putHopMapping( Hop hops, OptNode n ) {
 		long id = _idSeq.getNextID();
-		
 		_id_hlprog.put(id, hops);
 		_id_rtprog.put(id, null);
 		_id_optnode.put(id, n);	
-		
 		n.setID(id);
-		
 		return id;
 	}
 	
-	public long putProgMapping( StatementBlock sb, ProgramBlock pb, OptNode n )
-	{
+	public long putProgMapping( StatementBlock sb, ProgramBlock pb, OptNode n ) {
 		long id = _idSeq.getNextID();
-		
 		_id_hlprog.put(id, sb);
 		_id_rtprog.put(id, pb);
 		_id_optnode.put(id, n);
 		n.setID(id);
-		
 		return id;
 	}
 	
-	public Object[] getRootProgram()
-	{
+	public Object[] getRootProgram() {
 		Object[] ret = new Object[2];
 		ret[0] = _prog;
 		ret[1] = _rtprog;
 		return ret;
 	}
 	
-	public Hop getMappedHop( long id )
-	{
+	public Hop getMappedHop( long id ) {
 		return (Hop)_id_hlprog.get( id );
 	}
 	
-	public Object[] getMappedProg( long id )
-	{
+	public Object[] getMappedProg( long id ) {
 		Object[] ret = new Object[2];
 		ret[0] = (StatementBlock)_id_hlprog.get( id );
 		ret[1] = (ProgramBlock)_id_rtprog.get( id );
-		
 		return ret;
 	}
 	
-	public void replaceMapping( ProgramBlock pb, OptNode n )
-	{
+	public void replaceMapping( ProgramBlock pb, OptNode n ) {
 		long id = n.getID();
 		_id_rtprog.put(id, pb);
 		_id_optnode.put(id, n);
 	}
 	
 	@Override
-	public void clear()
-	{
+	public void clear() {
 		super.clear();
 		_prog = null;
 		_rtprog = null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
index 8c131f3..cf285d7 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
@@ -26,52 +26,42 @@ import org.apache.sysml.runtime.controlprogram.ProgramBlock;
 import org.apache.sysml.runtime.instructions.Instruction;
 
 public class OptTreePlanMappingRuntime extends OptTreePlanMapping
-{	
+{
 	private Map<Long, Object> _id_rtprog;
 
-	public OptTreePlanMappingRuntime()
-	{
+	public OptTreePlanMappingRuntime() {
 		super();
-		_id_rtprog = new HashMap<Long, Object>();
+		_id_rtprog = new HashMap<>();
 	}
 	
-	public long putMapping( Instruction inst, OptNode n )
-	{
+	public long putMapping( Instruction inst, OptNode n ) {
 		long id = _idSeq.getNextID();
-		
 		_id_rtprog.put(id, inst);
-		_id_optnode.put(id, n);			
+		_id_optnode.put(id, n);
 		n.setID(id);
-		
 		return id;
 	}
 	
-	public long putMapping( ProgramBlock pb, OptNode n )
-	{
+	public long putMapping( ProgramBlock pb, OptNode n ) {
 		long id = _idSeq.getNextID();
-		
 		_id_rtprog.put(id, pb);
 		_id_optnode.put(id, n);
 		n.setID(id);
-		
 		return id;
 	}
 	
-	public void replaceMapping( ProgramBlock pb, OptNode n )
-	{
+	public void replaceMapping( ProgramBlock pb, OptNode n ) {
 		long id = n.getID();
 		_id_rtprog.put(id, pb);
 		_id_optnode.put(id, n);
 	}
 	
-	public Object getMappedObject( long id )
-	{
+	public Object getMappedObject( long id ) {
 		return _id_rtprog.get( id );
 	}
 
 	@Override
-	public void clear()
-	{
+	public void clear() {
 		super.clear();
 		_id_rtprog.clear();
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
index eec2fb7..d7f6150 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
@@ -322,11 +322,11 @@ public class OptimizationWrapper
 	private static ProgramRewriter createProgramRewriterWithRuleSets()
 	{
 		//create hop rewrite set
-		ArrayList<HopRewriteRule> hRewrites = new ArrayList<HopRewriteRule>();
+		ArrayList<HopRewriteRule> hRewrites = new ArrayList<>();
 		hRewrites.add( new RewriteConstantFolding() );
 		
 		//create statementblock rewrite set
-		ArrayList<StatementBlockRewriteRule> sbRewrites = new ArrayList<StatementBlockRewriteRule>();
+		ArrayList<StatementBlockRewriteRule> sbRewrites = new ArrayList<>();
 		sbRewrites.add( new RewriteRemoveUnnecessaryBranches() );
 		
 		ProgramRewriter rewriter = new ProgramRewriter( hRewrites, sbRewrites );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 b6be028..f517bda 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
@@ -108,7 +108,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
 		//OPTIMIZE PARFOR PLAN
 
 		// rewrite 1: data partitioning (incl. log. recompile RIX)
-		HashMap<String, PartitionFormat> partitionedMatrices = new HashMap<String, PartitionFormat>();
+		HashMap<String, PartitionFormat> partitionedMatrices = new HashMap<>();
 		rewriteSetDataPartitioner( pn, ec.getVariables(), partitionedMatrices, OptimizerUtils.getLocalMemBudget() );
 		double M0b = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); //reestimate
 
@@ -167,7 +167,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
 			super.rewriteSetTranposeSparseVectorOperations(pn, partitionedMatrices, ec.getVariables());
 
 			//rewrite 14:
-			HashSet<String> inplaceResultVars = new HashSet<String>();
+			HashSet<String> inplaceResultVars = new HashSet<>();
 			super.rewriteSetInPlaceResultIndexing(pn, M1, ec.getVariables(), inplaceResultVars, ec);
 
 			//rewrite 15:
@@ -183,7 +183,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
 			rewriteSetTaskPartitioner( pn, false, false ); //flagLIX always false 
 
 			// rewrite 14: set in-place result indexing
-			HashSet<String> inplaceResultVars = new HashSet<String>();
+			HashSet<String> inplaceResultVars = new HashSet<>();
 			super.rewriteSetInPlaceResultIndexing(pn, M1, ec.getVariables(), inplaceResultVars, ec);
 
 			if( !OptimizerUtils.isSparkExecutionMode() ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 16a2e7e..0d0c52e 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
@@ -229,7 +229,7 @@ public class OptimizerRuleBased extends Optimizer
 		//OPTIMIZE PARFOR PLAN
 		
 		// rewrite 1: data partitioning (incl. log. recompile RIX and flag opt nodes)
-		HashMap<String, PartitionFormat> partitionedMatrices = new HashMap<String, PartitionFormat>();
+		HashMap<String, PartitionFormat> partitionedMatrices = new HashMap<>();
 		rewriteSetDataPartitioner( pn, ec.getVariables(), partitionedMatrices, OptimizerUtils.getLocalMemBudget() );
 		double M0b = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); //reestimate
 		
@@ -288,7 +288,7 @@ public class OptimizerRuleBased extends Optimizer
 			rewriteSetTranposeSparseVectorOperations(pn, partitionedMatrices, ec.getVariables());
 			
 			// rewrite 14: set in-place result indexing
-			HashSet<String> inplaceResultVars = new HashSet<String>();
+			HashSet<String> inplaceResultVars = new HashSet<>();
 			rewriteSetInPlaceResultIndexing(pn, M1, ec.getVariables(), inplaceResultVars, ec);
 			
 			// rewrite 15: disable caching
@@ -303,7 +303,7 @@ public class OptimizerRuleBased extends Optimizer
 			rewriteSetTaskPartitioner( pn, false, false ); //flagLIX always false 
 			
 			// rewrite 14: set in-place result indexing
-			HashSet<String> inplaceResultVars = new HashSet<String>();
+			HashSet<String> inplaceResultVars = new HashSet<>();
 			rewriteSetInPlaceResultIndexing(pn, M1, ec.getVariables(), inplaceResultVars, ec);
 			
 			if( !OptimizerUtils.isSparkExecutionMode() ) {
@@ -415,7 +415,7 @@ public class OptimizerRuleBased extends Optimizer
 			&& (_N >= PROB_SIZE_THRESHOLD_PARTITIONING || _Nmax >= PROB_SIZE_THRESHOLD_PARTITIONING) ) //only if beneficial wrt problem size
 		{
 			ArrayList<String> cand = pfsb.getReadOnlyParentVars();
-			HashMap<String, PartitionFormat> cand2 = new HashMap<String, PartitionFormat>();
+			HashMap<String, PartitionFormat> cand2 = new HashMap<>();
 			for( String c : cand )
 			{
 				PartitionFormat dpf = pfsb.determineDataPartitionFormat( c );
@@ -785,7 +785,7 @@ public class OptimizerRuleBased extends Optimizer
 
 	protected HashMap<Hop, Double> getPartitionedRIXEstimates(OptNode parent)
 	{
-		HashMap<Hop, Double> estimates = new HashMap<Hop, Double>();
+		HashMap<Hop, Double> estimates = new HashMap<>();
 		for( OptNode n : parent.getChilds() )
 			if( n.getParam(ParamType.DATA_PARTITION_FORMAT) != null )
 			{
@@ -937,8 +937,8 @@ public class OptimizerRuleBased extends Optimizer
 		if( recompile && count<=0 )
 			LOG.warn("OPT: Forced set operations exec type 'CP', but no operation requires recompile.");
 		ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-                                  .getAbstractPlanMapping().getMappedProg(pn.getID())[1];
-		HashSet<String> fnStack = new HashSet<String>();
+			.getAbstractPlanMapping().getMappedProg(pn.getID())[1];
+		HashSet<String> fnStack = new HashSet<>();
 		Recompiler.recompileProgramBlockHierarchy2Forced(pfpb.getChildBlocks(), 0, fnStack, LopProperties.ExecType.CP);
 		
 		//debug output
@@ -985,13 +985,13 @@ public class OptimizerRuleBased extends Optimizer
 		String varname = null;
 		String partitioner = n.getParam(ParamType.DATA_PARTITIONER);
 		ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-        							.getAbstractPlanMapping().getMappedProg(n.getID())[1];
+				.getAbstractPlanMapping().getMappedProg(n.getID())[1];
 		
 		if(   partitioner!=null && partitioner.equals(PDataPartitioner.REMOTE_MR.toString())
 			&& n.getExecType()==ExecType.MR )
 		{
 			//find all candidates matrices (at least one partitioned access via iterVar)
-			HashSet<String> cand = new HashSet<String>();
+			HashSet<String> cand = new HashSet<>();
 			rFindDataColocationCandidates(n, cand, pfpb.getIterVar());
 			
 			//select largest matrix for colocation (based on nnz to account for sparsity)
@@ -1826,9 +1826,8 @@ public class OptimizerRuleBased extends Optimizer
 		throws DMLRuntimeException
 	{
 		ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-								    .getAbstractPlanMapping().getMappedProg(n.getID())[1];
-
-		HashSet<String> sharedVars = new HashSet<String>();
+				.getAbstractPlanMapping().getMappedProg(n.getID())[1];
+		HashSet<String> sharedVars = new HashSet<>();
 		boolean apply = false; 
 		
 		//enable runtime piggybacking if MR jobs on shared read-only data set
@@ -1936,29 +1935,27 @@ public class OptimizerRuleBased extends Optimizer
 		Object[] progobj = OptTreeConverter.getAbstractPlanMapping().getMappedProg(n.getID());
 		ParForStatementBlock pfsb = (ParForStatementBlock)progobj[0];
 		ParForProgramBlock pfpb = (ParForProgramBlock)progobj[1];
-		
-		ArrayList<String> ret = new ArrayList<String>();
+		ArrayList<String> ret = new ArrayList<>();
 		
 		if(    OptimizerUtils.isSparkExecutionMode() //spark exec mode
 			&& n.getExecType() == ExecType.CP		 //local parfor 
-			&& _N > 1                            )   //at least 2 iterations                             
+			&& _N > 1                            )   //at least 2 iterations
 		{
 			//collect candidates from zipmm spark instructions
-			HashSet<String> cand = new HashSet<String>();
+			HashSet<String> cand = new HashSet<>();
 			rCollectZipmmPartitioningCandidates(n, cand);
 			
 			//prune updated candidates
-			HashSet<String> probe = new HashSet<String>(pfsb.getReadOnlyParentVars());				
+			HashSet<String> probe = new HashSet<>(pfsb.getReadOnlyParentVars());
 			for( String var : cand )
 				if( probe.contains( var ) )
 					ret.add( var );
-				
+			
 			//prune small candidates
-			ArrayList<String> tmp = new ArrayList<String>(ret);
+			ArrayList<String> tmp = new ArrayList<>(ret);
 			ret.clear();
 			for( String var : tmp )
-				if( vars.get(var) instanceof MatrixObject )
-				{
+				if( vars.get(var) instanceof MatrixObject ) {
 					MatrixObject mo = (MatrixObject) vars.get(var);
 					double sp = OptimizerUtils.getSparsity(mo.getNumRows(), mo.getNumColumns(), mo.getNnz());
 					double size = OptimizerUtils.estimateSizeExactSparsity(mo.getNumRows(), mo.getNumColumns(), sp);
@@ -2016,7 +2013,7 @@ public class OptimizerRuleBased extends Optimizer
 		ParForStatementBlock pfsb = (ParForStatementBlock)progobj[0];
 		ParForProgramBlock pfpb = (ParForProgramBlock)progobj[1];
 		
-		ArrayList<String> ret = new ArrayList<String>();
+		ArrayList<String> ret = new ArrayList<>();
 		
 		if(    OptimizerUtils.isSparkExecutionMode() //spark exec mode
 			&& n.getExecType() == ExecType.CP		 //local parfor 
@@ -2065,7 +2062,7 @@ public class OptimizerRuleBased extends Optimizer
 		ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
 			    .getAbstractPlanMapping().getMappedProg(n.getID())[1];
 
-		ArrayList<String> cleanedVars = new ArrayList<String>();
+		ArrayList<String> cleanedVars = new ArrayList<>();
 		ArrayList<String> resultVars = pfpb.getResultVariables();
 		String itervar = pfpb.getIterVar();
 		
@@ -2465,7 +2462,7 @@ public class OptimizerRuleBased extends Optimizer
 		int count = 0; //num removed parfor
 		
 		//find recursive parfor
-		HashSet<ParForProgramBlock> recPBs = new HashSet<ParForProgramBlock>();
+		HashSet<ParForProgramBlock> recPBs = new HashSet<>();
 		rFindRecursiveParFor( n, recPBs, false );
 
 		if( !recPBs.isEmpty() )
@@ -2547,7 +2544,7 @@ public class OptimizerRuleBased extends Optimizer
 				nNew.addParam(ParamType.OPSTRING, fnameNewKey);
 				long parentID = OptTreeConverter.getAbstractPlanMapping().getMappedParentID(n.getID());
 				OptTreeConverter.getAbstractPlanMapping().getOptNode(parentID).exchangeChild(n, nNew);
-				HashSet<String> memo = new HashSet<String>();
+				HashSet<String> memo = new HashSet<>();
 				memo.add(fnameKey); //required if functionop not shared (because not replaced yet)
 				memo.add(fnameNewKey); //requied if functionop shared (indirectly replaced)
 				for( int i=0; i<copyfpb.getChildBlocks().size() /*&& i<len*/; i++ )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
index 189d061..12a4ccb 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
@@ -60,7 +60,7 @@ public class ProgramRecompiler
 	public static ArrayList<ProgramBlock> generatePartitialRuntimeProgram(Program rtprog, ArrayList<StatementBlock> sbs) 
 		throws LopsException, DMLRuntimeException, IOException, HopsException
 	{
-		ArrayList<ProgramBlock> ret = new ArrayList<ProgramBlock>();
+		ArrayList<ProgramBlock> ret = new ArrayList<>();
 		DMLConfig config = ConfigurationManager.getDMLConfig();
 		
 		//construct lops from hops if not existing
@@ -476,7 +476,7 @@ public class ProgramRecompiler
 		String str = sb.toString(); 
 		
 		//create instruction set
-		ArrayList<Instruction> tmp = new ArrayList<Instruction>();
+		ArrayList<Instruction> tmp = new ArrayList<>();
 		Instruction inst = ArithmeticBinaryCPInstruction.parseInstruction(str);
 		tmp.add(inst);
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
index a558e16..10c8b1c 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
@@ -46,9 +46,9 @@ public class StatisticMonitor
 	
 	static
 	{
-		_mapPwPf  = new HashMap<Long, Long>();
-		_pfstats  = new HashMap<Long, HashMap<Stat,LinkedList<Double>>>();
-		_pwstats  = new HashMap<Long, HashMap<Stat,LinkedList<Double>>>();
+		_mapPwPf  = new HashMap<>();
+		_pfstats  = new HashMap<>();
+		_pwstats  = new HashMap<>();
 	}
 	
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java b/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
index ed1838d..20c1ab7 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
@@ -56,8 +56,7 @@ public class Builtin extends ValueFunction
 	
 	static public HashMap<String, BuiltinCode> String2BuiltinCode;
 	static {
-		String2BuiltinCode = new HashMap<String, BuiltinCode>();
-		
+		String2BuiltinCode = new HashMap<>();
 		String2BuiltinCode.put( "sin"    , BuiltinCode.SIN);
 		String2BuiltinCode.put( "cos"    , BuiltinCode.COS);
 		String2BuiltinCode.put( "tan"    , BuiltinCode.TAN);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java b/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
index eb5148b..ff801cc 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
@@ -93,6 +93,7 @@ public class COV extends ValueFunction
 	 * @param v ?
 	 * @return result
 	 */
+	@Override
 	public Data execute(Data in1, double u, double v) 
 		throws DMLRuntimeException 
 	{
@@ -117,6 +118,7 @@ public class COV extends ValueFunction
 		return cov1;
 	}
 	
+	@Override
 	public Data execute(Data in1, Data in2) throws DMLRuntimeException 
 	{
 		CM_COV_Object cov1=(CM_COV_Object) in1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java b/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
index 31cdce8..fdb6b85 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
@@ -130,17 +130,12 @@ public class CTable extends ValueFunction
 	{
 		// If any of the values are NaN (i.e., missing) then 
 		// we skip this tuple, proceed to the next tuple
-		if ( Double.isNaN(v2) || Double.isNaN(w) ) {
-			return new Pair<MatrixIndexes,Double>(new MatrixIndexes(-1,-1), w);
-		}
-		
+		if ( Double.isNaN(v2) || Double.isNaN(w) )
+			return new Pair<>(new MatrixIndexes(-1,-1), w);
 		// safe casts to long for consistent behavior with indexing
 		long col = UtilFunctions.toLong( v2 );
-				
-		if( col <= 0 ) {
+		if( col <= 0 )
 			throw new DMLRuntimeException("Erroneous input while computing the contingency table (value <= zero): "+v2);
-		} 
-		
-		return new Pair<MatrixIndexes,Double>(new MatrixIndexes(row, col), w);
+		return new Pair<>(new MatrixIndexes(row, col), w);
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java b/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
index 14affa3..3d524fe 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
@@ -90,6 +90,7 @@ public class KahanPlus extends KahanFunction implements Serializable
 	 * @param in1 kahan object input
 	 * @param in2 double input
 	 */
+	@Override
 	public void execute2(KahanObject in1, double in2) 
 	{
 		//fast path for INF/-INF in order to ensure result correctness

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java b/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
index 3647741..907e732 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.instructions.cp.KahanObject;
 
 public class Mean extends ValueFunction 
 {
-
 	private static final long serialVersionUID = 1967222020396371269L;
 
 	private static Mean singleObj = null;
@@ -43,7 +42,7 @@ public class Mean extends ValueFunction
 		return singleObj;
 	}
 	
-	//overwride in1
+	@Override
 	public Data execute(Data in1, double in2, double count) throws DMLRuntimeException {
 		KahanObject kahanObj=(KahanObject)in1;
 		double delta = (in2-kahanObj._sum)/count;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java b/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
index 8a85edc..14022dd 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
@@ -63,6 +63,7 @@ public class OffsetColumnIndex extends IndexFunction
 		return false;
 	}
 
+	@Override
 	public boolean computeDimension(MatrixCharacteristics in, MatrixCharacteristics out) {
 		out.set(numRowsInOutput, numColumnsInOutput, in.getRowsPerBlock(), in.getColsPerBlock());
 		return false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 9a0c6c2..60886c0 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
@@ -55,8 +55,7 @@ public class ParameterizedBuiltin extends ValueFunction
 	
 	static public HashMap<String, ParameterizedBuiltinCode> String2ParameterizedBuiltinCode;
 	static {
-		String2ParameterizedBuiltinCode = new HashMap<String, ParameterizedBuiltinCode>();
-		
+		String2ParameterizedBuiltinCode = new HashMap<>();
 		String2ParameterizedBuiltinCode.put( "cdf", ParameterizedBuiltinCode.CDF);
 		String2ParameterizedBuiltinCode.put( "invcdf", ParameterizedBuiltinCode.INVCDF);
 		String2ParameterizedBuiltinCode.put( "rmempty", ParameterizedBuiltinCode.RMEMPTY);
@@ -68,8 +67,7 @@ public class ParameterizedBuiltin extends ValueFunction
 	
 	static public HashMap<String, ProbabilityDistributionCode> String2DistCode;
 	static {
-		String2DistCode = new HashMap<String,ProbabilityDistributionCode>();
-		
+		String2DistCode = new HashMap<>();
 		String2DistCode.put("normal"	, ProbabilityDistributionCode.NORMAL);
 		String2DistCode.put("exp"		, ProbabilityDistributionCode.EXP);
 		String2DistCode.put("chisq"		, ProbabilityDistributionCode.CHISQ);
@@ -179,6 +177,7 @@ public class ParameterizedBuiltin extends ValueFunction
 		}
 	}
 	
+	@Override
 	public double execute(HashMap<String,String> params) throws DMLRuntimeException {
 		switch(bFunc) {
 		case CDF:

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java b/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
index c25853d..fc1a8f6 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
@@ -56,7 +56,8 @@ public class Plus extends ValueFunction implements Serializable
 		return in1 + in2;
 	}
 
+	@Override
 	public String execute ( String in1, String in2 ) throws DMLRuntimeException {
 		return in1 + in2;
-	}	
+	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
index 80738c4..4e66042 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
@@ -77,8 +77,7 @@ public class CPInstructionParser extends InstructionParser
 	public static final HashMap<String, CPINSTRUCTION_TYPE> String2CPFileInstructionType;
 	
 	static {
-		String2CPInstructionType = new HashMap<String, CPINSTRUCTION_TYPE>();
-
+		String2CPInstructionType = new HashMap<>();
 		String2CPInstructionType.put( "ba+*"   	, CPINSTRUCTION_TYPE.AggregateBinary);
 		String2CPInstructionType.put( "tak+*"   , CPINSTRUCTION_TYPE.AggregateTernary);
 		String2CPInstructionType.put( "tack+*"  , CPINSTRUCTION_TYPE.AggregateTernary);
@@ -281,8 +280,7 @@ public class CPInstructionParser extends InstructionParser
 
 		
 		//CP FILE instruction
-		String2CPFileInstructionType = new HashMap<String, CPINSTRUCTION_TYPE>();
-
+		String2CPFileInstructionType = new HashMap<>();
 		String2CPFileInstructionType.put( "rmempty"	    , CPINSTRUCTION_TYPE.ParameterizedBuiltin);
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java b/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
index 61c2077..5583b61 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
@@ -157,6 +157,7 @@ public abstract class Instruction
 		LOG.debug(instString);
 	}
 	
+	@Override
 	public String toString() {
 		return instString;
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java b/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
index afc9d35..15785c0 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
@@ -86,7 +86,7 @@ public class MRInstructionParser extends InstructionParser
 {	
 	static public HashMap<String, MRINSTRUCTION_TYPE> String2MRInstructionType;
 	static {
-		String2MRInstructionType = new HashMap<String, MRINSTRUCTION_TYPE>();
+		String2MRInstructionType = new HashMap<>();
 		
 		// AGG Instruction Opcodes 
 		String2MRInstructionType.put( "a+"    , MRINSTRUCTION_TYPE.Aggregate);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 d27c9ff..3dcad83 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
@@ -437,8 +437,8 @@ public class MRJobInstruction extends Instruction
 		return sb.toString();
 	}
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		String instruction = "";
 		instruction += "jobtype = " + jobType + " \n";
 		instruction += "input labels = " + Arrays.toString(inputVars) + " \n";
@@ -686,6 +686,7 @@ public class MRJobInstruction extends Instruction
 		return sb.toString();
 	}
 	
+	@Override
 	public void printMe() {
 		LOG.debug("\nMRInstructions: \n" + this.toString());
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
index b5f8a04..bff75d7 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
@@ -89,7 +89,7 @@ public class SPInstructionParser extends InstructionParser
 {	
 	public static final HashMap<String, SPINSTRUCTION_TYPE> String2SPInstructionType;
 	static {
-		String2SPInstructionType = new HashMap<String, SPInstruction.SPINSTRUCTION_TYPE>();
+		String2SPInstructionType = new HashMap<>();
 		
 		//unary aggregate operators
 		String2SPInstructionType.put( "uak+"   	, SPINSTRUCTION_TYPE.AggregateUnary);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
index 1e4625a..235a6f2 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
@@ -104,11 +104,12 @@ public class BreakPointInstruction extends Instruction
 		if( DMLScript.ENABLE_DEBUG_MODE && isBPInstructionEnabled()) {
 			DebugState dbState = ec.getDebugState();
 			
-			System.out.format("Breakpoint reached at %s.\n", dbState.getPC().toString());					
+			System.out.format("Breakpoint reached at %s.\n", dbState.getPC().toString());
 			dbState.suspend = true;
 		}
 	}
 	
+	@Override
 	public String toString()
 	{
 		StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
index 7acb0b9..e662b33 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
@@ -29,7 +29,6 @@ import org.apache.sysml.runtime.matrix.operators.CMOperator.AggregateOperationTy
 
 public class CM_COV_Object extends Data 
 {
-
 	private static final long serialVersionUID = -5814207545197934085L;
 
 	//for central moment
@@ -42,8 +41,8 @@ public class CM_COV_Object extends Data
 	public KahanObject mean_v;
 	public KahanObject c2;
 	
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "weight: "+w+", mean: "+mean+", m2: "+m2+", m3: "+m3+", m4: "+m4+", mean2: "+mean_v+", c2: "+c2;
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
index 3e0ecf9..402d4a5 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
@@ -243,10 +243,6 @@ public class FunctionCallCPInstruction extends CPInstruction {
 		LOG.debug("ExternalBuiltInFunction: " + this.toString());
 	}
 
-	public String getGraphString() {
-		return "ExtBuiltinFunc: " + _functionName;
-	}
-	
 	public ArrayList<String> getBoundInputParamNames()
 	{
 		return _boundInputParamNames;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
index 00fd75d..884a6a7 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
@@ -41,8 +41,8 @@ public class KahanObject extends Data
 		_correction=cor;
 	}
 
-	public String toString()
-	{
+	@Override
+	public String toString() {
 		return "("+_sum+", "+_correction+")";
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
index 141df62..e8a5f4a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
@@ -78,7 +78,7 @@ public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction
 	
 	public static HashMap<String, String> constructParameterMap(String[] params) {
 		// process all elements in "params" except first(opcode) and last(output)
-		HashMap<String,String> paramMap = new HashMap<String,String>();
+		HashMap<String,String> paramMap = new HashMap<>();
 		
 		// all parameters are of form <name=value>
 		String[] parts;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
index 515359e..8169695 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
@@ -46,7 +46,7 @@ public class ScalarBuiltinMultipleCPInstruction extends BuiltinMultipleCPInstruc
 	@Override
 	public void processInstruction(ExecutionContext ec) throws DMLRuntimeException {
 		if (MultipleCP.OperationType.PRINTF.toString().equalsIgnoreCase(getOpcode())) {
-			List<ScalarObject> scalarObjects = new ArrayList<ScalarObject>();
+			List<ScalarObject> scalarObjects = new ArrayList<>();
 			for (CPOperand input : inputs) {
 				ScalarObject so = ec.getScalarInput(input.getName(), input.getValueType(), input.isLiteral());
 				scalarObjects.add(so);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
index 5a0a772..7f8eb9e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
@@ -40,7 +40,7 @@ public class ExecutionConfig {
 	public int sharedMemBytes = 0;
 	public CUstream stream = null;
 
-	private static HashMap<Integer, Integer> maxBlockDimForDevice = new HashMap<Integer, Integer>();
+	private static HashMap<Integer, Integer> maxBlockDimForDevice = new HashMap<>();
 
 	/**
 	 * Convenience constructor for setting the number of blocks, number of threads and the

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 3ebed52..e1894ae 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
@@ -47,7 +47,7 @@ import jcuda.runtime.JCuda;
 public class JCudaKernels {
 
 	private final static String ptxFileName = "/kernels/SystemML.ptx";
-	private HashMap<String, CUfunction> kernels = new HashMap<String, CUfunction>();
+	private HashMap<String, CUfunction> kernels = new HashMap<>();
 	private CUmodule module;
 
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
index 6b18b8c..6ac8cfc 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
@@ -120,7 +120,7 @@ public class AppendMInstruction extends AppendInstruction implements IDistribute
 				DistributedCacheInput dcInput = MRBaseForCommonInstructions.dcValues.get(input2);
 				
 				//allocate space for the output value
-				ArrayList<IndexedMatrixValue> outlist=new ArrayList<IndexedMatrixValue>(2);
+				ArrayList<IndexedMatrixValue> outlist=new ArrayList<>(2);
 				IndexedMatrixValue first=cachedValues.holdPlace(output, valueClass);
 				first.getIndexes().setIndexes(ix);
 				outlist.add(first);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
index 0f90341..447e253 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
@@ -88,7 +88,7 @@ public class GroupedAggregateMInstruction extends BinaryMRInstructionBase implem
 			int bclen = dcInput.getNumColsPerBlock();
 			
 			//execute map grouped aggregate operations
-			ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 			OperationsOnMatrixValues.performMapGroupedAggregate(getOperator(), in1, groups, _ngroups, brlen, bclen, outlist);
 			
 			//output all result blocks

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
index 797bb0d..3193cc6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
@@ -157,7 +157,7 @@ public class ParameterizedBuiltinMRInstruction extends UnaryInstruction {
 				else if( _opcode.equalsIgnoreCase("rexpand") )
 				{
 					//process instruction
-					ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+					ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 					LibMatrixReorg.rexpand(imv, _max, _dirRows, _cast, _ignore, blockRowFactor, blockColFactor, out);
 					
 					//put the output values in the cache

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
index b7d73ea..b1e90d1 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
@@ -100,7 +100,7 @@ public class RangeBasedReIndexInstruction extends UnaryMRInstructionBase {
 					continue;
 	
 				//process instruction (incl block allocation)
-				ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+				ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 				if( _forLeft )
 					OperationsOnMatrixValues.performShift(in, _ixrange, blockRowFactor, blockColFactor, _rlenLhs, _clenLhs, outlist);
 				else

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
index ab06a39..fc93c56 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
@@ -88,7 +88,7 @@ public class RemoveEmptyMRInstruction extends BinaryInstruction {
 		IndexedMatrixValue inOffset = cachedValues.getFirst(input2);
 
 		//execute remove empty operations
-		ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+		ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 		LibMatrixReorg.rmempty(inData, inOffset, _rmRows, _len, blockRowFactor, blockColFactor, out);
 		
 		//put results into cache map

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
index c9c5629..c90c45c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
@@ -150,7 +150,7 @@ public class ReorgInstruction extends UnaryMRInstructionBase {
 				else if( ((ReorgOperator)optr).fn instanceof RevIndex ) 
 				{
 					//execute reverse operation
-					ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+					ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 					LibMatrixReorg.rev(in, _mcIn.getRows(), _mcIn.getRowsPerBlock(), out);
 					
 					//output indexed matrix values

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
index 4d31671..58f6821 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
@@ -58,6 +58,7 @@ public class ScalarInstruction extends UnaryMRInstructionBase {
 		return new ScalarInstruction(sop, in, out, str);
 	}
 	
+	@Override
 	public void processInstruction(Class<? extends MatrixValue> valueClass, CachedValueMap cachedValues, 
 			IndexedMatrixValue tempValue, IndexedMatrixValue zeroInput, int blockRowFactor, int blockColFactor)
 		throws DMLRuntimeException

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
index eb97266..9ffe363 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
@@ -150,7 +150,7 @@ public class AggregateTernarySPInstruction extends ComputationSPInstruction {
 			MatrixBlock in3 = arg0._2()._2();
 			
 			//execute aggregate ternary operation
-			return new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(1, ix.getColumnIndex()),
+			return new Tuple2<>(new MatrixIndexes(1, ix.getColumnIndex()),
 				in1.aggregateTernaryOperations(in1, in2, in3, new MatrixBlock(), _aggop, false));
 		}
 	}
@@ -176,7 +176,7 @@ public class AggregateTernarySPInstruction extends ComputationSPInstruction {
 			MatrixBlock in2 = arg0._2()._2();
 			
 			//execute aggregate ternary operation
-			return new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(1, ix.getColumnIndex()),
+			return new Tuple2<>(new MatrixIndexes(1, ix.getColumnIndex()),
 				in1.aggregateTernaryOperations(in1, in2, null, new MatrixBlock(), _aggop, false));
 		}
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
index 2bbc077..6b75080 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
@@ -159,10 +159,10 @@ public class AggregateUnarySPInstruction extends UnarySPInstruction {
 			
 			//unary aggregate operation (always keep the correction)
 			OperationsOnMatrixValues.performAggregateUnary( ixIn, blkIn, 
-					  ixOut, blkOut, _op, _brlen, _bclen);
+					ixOut, blkOut, _op, _brlen, _bclen);
 			
 			//output new tuple
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
index bc41c40..991b5c0 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
@@ -109,8 +109,8 @@ public class AppendGAlignedSPInstruction extends BinarySPInstruction {
 			throws Exception 
 		{	
 			long rix = _cbind ? kv._1.getRowIndex() : kv._1.getRowIndex() + _shiftBy;
-			long cix = _cbind ? kv._1.getColumnIndex() + _shiftBy : kv._1.getColumnIndex();			
-			return new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(rix, cix), kv._2);
+			long cix = _cbind ? kv._1.getColumnIndex() + _shiftBy : kv._1.getColumnIndex();
+			return new Tuple2<>(new MatrixIndexes(rix, cix), kv._2);
 		}
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
index 831e707..fee21f3 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
@@ -128,10 +128,10 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 				MatrixBlock tmp = iterRight.next();
 				if( iterRight.hasNext() )
 					tmp.merge(iterRight.next(), false);
-				return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, tmp);
+				return new Tuple2<>(kv._1, tmp);
 			}
 			else if ( !iterRight.hasNext() ) {	
-				return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, iterLeft.next());
+				return new Tuple2<>(kv._1, iterLeft.next());
 			}
 			
 			MatrixBlock firstBlk = iterLeft.next();
@@ -149,7 +149,7 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 			
 			//merge with sort since blocks might be in any order
 			firstBlk.merge(secondBlk, false);
-			return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, firstBlk);
+			return new Tuple2<>(kv._1, firstBlk);
 		}
 		
 	}
@@ -179,7 +179,7 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 			throws Exception 
 		{
 			//common preparation
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = new ArrayList<>();
 			MatrixIndexes ix = kv._1();
 			MatrixBlock in = kv._2();
 			int cutAt = _blen - _shiftBy;
@@ -194,7 +194,7 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 					// The block is too small to be cut
 					MatrixBlock firstBlk = new MatrixBlock(in.getNumRows(), lblen1, true);
 					firstBlk = firstBlk.leftIndexingOperations(in, 0, in.getNumRows()-1, lblen1-in.getNumColumns(), lblen1-1, new MatrixBlock(), UpdateType.INPLACE_PINNED);
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(firstIndex, firstBlk));
+					retVal.add(new Tuple2<>(firstIndex, firstBlk));
 				}
 				else {
 					// Since merge requires the dimensions matching, shifting = slicing + left indexing
@@ -206,9 +206,8 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 					int llen2 = UtilFunctions.computeBlockSize(_outlen, secondIndex.getColumnIndex(), _blen);
 					MatrixBlock secondBlk = new MatrixBlock(in.getNumRows(), llen2, true);
 					secondBlk = secondBlk.leftIndexingOperations(secondSlicedBlk, 0, in.getNumRows()-1, 0, secondSlicedBlk.getNumColumns()-1, new MatrixBlock(), UpdateType.INPLACE_PINNED);
-					
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(firstIndex, firstBlk));
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(secondIndex, secondBlk));
+					retVal.add(new Tuple2<>(firstIndex, firstBlk));
+					retVal.add(new Tuple2<>(secondIndex, secondBlk));
 				}
 			}
 			else //rbind
@@ -221,7 +220,7 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 					// The block is too small to be cut
 					MatrixBlock firstBlk = new MatrixBlock(lblen1, in.getNumColumns(), true);
 					firstBlk = firstBlk.leftIndexingOperations(in, lblen1-in.getNumRows(), lblen1-1, 0, in.getNumColumns()-1, new MatrixBlock(), UpdateType.INPLACE_PINNED);
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(firstIndex, firstBlk));
+					retVal.add(new Tuple2<>(firstIndex, firstBlk));
 				}
 				else {
 					// Since merge requires the dimensions matching, shifting = slicing + left indexing
@@ -234,8 +233,8 @@ public class AppendGSPInstruction extends BinarySPInstruction {
 					MatrixBlock secondBlk = new MatrixBlock(lblen2, in.getNumColumns(), true);
 					secondBlk = secondBlk.leftIndexingOperations(secondSlicedBlk, 0, secondSlicedBlk.getNumRows()-1, 0, in.getNumColumns()-1, new MatrixBlock(), UpdateType.INPLACE_PINNED);
 					
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(firstIndex, firstBlk));
-					retVal.add(new Tuple2<MatrixIndexes, MatrixBlock>(secondIndex, secondBlk));
+					retVal.add(new Tuple2<>(firstIndex, firstBlk));
+					retVal.add(new Tuple2<>(secondIndex, secondBlk));
 				}
 			}
 			

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
index e3cf9b6..7b4976a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
@@ -139,7 +139,7 @@ public class CpmmSPInstruction extends BinarySPInstruction {
 			value.set(arg0._1(), new MatrixBlock(arg0._2()));
 			
 			Long key = _left ? arg0._1.getColumnIndex() : arg0._1.getRowIndex();
-			return new Tuple2<Long, IndexedMatrixValue>(key, value);
+			return new Tuple2<>(key, value);
 		}	
 	}
 
@@ -169,8 +169,8 @@ public class CpmmSPInstruction extends BinarySPInstruction {
 			
 			//return target block
 			ixOut.setIndexes(arg0._2()._1().getIndexes().getRowIndex(), 
-					         arg0._2()._2().getIndexes().getColumnIndex());
-			return new Tuple2<MatrixIndexes, MatrixBlock>( ixOut, blkOut );
+				arg0._2()._2().getIndexes().getColumnIndex());
+			return new Tuple2<>( ixOut, blkOut );
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
index 6d30254..7e0ac0e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
@@ -128,7 +128,7 @@ public class CumulativeAggregateSPInstruction extends AggregateUnarySPInstructio
 			ixOut.setIndexes(rixOut, ixOut.getColumnIndex());
 			
 			//output new tuple
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut2);
+			return new Tuple2<>(ixOut, blkOut2);
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
index 65f5251..7574228 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
@@ -132,7 +132,7 @@ public class CumulativeOffsetSPInstruction extends BinarySPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ixIn = arg0._1();
 			MatrixBlock blkIn = arg0._2();
@@ -149,8 +149,8 @@ public class CumulativeOffsetSPInstruction extends BinarySPInstruction {
 					for( int j=0; j<blkIn.getNumColumns(); j++ )
 						tmpblk.appendValue(0, j, _initValue);
 				}
-				ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(tmpix, tmpblk));
-			}	
+				ret.add(new Tuple2<>(tmpix, tmpblk));
+			}
 			
 			//output splitting (shift by one), preaggregated offset used by subsequent block
 			for( int i=0; i<blkIn.getNumRows(); i++ )
@@ -159,7 +159,7 @@ public class CumulativeOffsetSPInstruction extends BinarySPInstruction {
 					MatrixIndexes tmpix = new MatrixIndexes(rixOffset+i+2, ixIn.getColumnIndex());
 					MatrixBlock tmpblk = new MatrixBlock(1, blkIn.getNumColumns(), blkIn.isInSparseFormat());
 					blkIn.sliceOperations(i, i, 0, blkIn.getNumColumns()-1, tmpblk);	
-					ret.add(new Tuple2<MatrixIndexes,MatrixBlock>(tmpix, tmpblk));
+					ret.add(new Tuple2<>(tmpix, tmpblk));
 				}
 			
 			return ret.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 be5d12f..3f95e8c 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
@@ -122,7 +122,7 @@ public class FrameAppendMSPInstruction extends AppendMSPInstruction {
 				
 				FrameBlock in2 = _pm.getBlock(rowix, colix);
 				FrameBlock out = in1.appendOperations(in2, new FrameBlock(), true); //cbind
-				return new Tuple2<Long,FrameBlock>(ix, out);
+				return new Tuple2<>(ix, out);
 			}			
 		}
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
index 6819367..b386669 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
@@ -110,7 +110,7 @@ public class FrameAppendRSPInstruction extends AppendRSPInstruction {
 		public Tuple2<Long,FrameBlock> call(Tuple2<Long, FrameBlock> arg0)
 			throws Exception 
 		{
-			return new Tuple2<Long, FrameBlock>(arg0._1()+_offset, arg0._2());
+			return new Tuple2<>(arg0._1()+_offset, arg0._2());
 		}
 	}
 
@@ -129,14 +129,11 @@ public class FrameAppendRSPInstruction extends AppendRSPInstruction {
 			throws Exception 
 		{
 			FrameBlock resultBlock = new FrameBlock(arg0._2().getSchema());
-						
 			long index = (arg0._1()/OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE)*OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE+1;
 			int maxRows = (int) (_rows - index+1 >= OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE?OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE:_rows - index+1);
-
 			resultBlock.ensureAllocatedColumns(maxRows);
 			resultBlock = resultBlock.leftIndexingOperations(arg0._2(), 0, maxRows-1, 0, arg0._2().getNumColumns()-1, new FrameBlock());
-			
-			return new Tuple2<Long, FrameBlock>(index, resultBlock);
+			return new Tuple2<>(index, resultBlock);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 ad020bb..2daaad5 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
@@ -199,11 +199,11 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 		public Iterator<Tuple2<Long, FrameBlock>> call(Tuple2<Long, FrameBlock> rightKV) 
 			throws Exception 
 		{
-			Pair<Long,FrameBlock> in = SparkUtils.toIndexedFrameBlock(rightKV);			
-			ArrayList<Pair<Long,FrameBlock>> out = new ArrayList<Pair<Long,FrameBlock>>();
+			Pair<Long,FrameBlock> in = SparkUtils.toIndexedFrameBlock(rightKV);
+			ArrayList<Pair<Long,FrameBlock>> out = new ArrayList<>();
 			OperationsOnMatrixValues.performShift(in, _ixrange, _brlen, _bclen, _rlen, _clen, out);
 			return SparkUtils.fromIndexedFrameBlock(out).iterator();
-		}		
+		}
 	}
 
 	private static class ZeroOutLHS implements PairFlatMapFunction<Tuple2<Long,FrameBlock>, Long,FrameBlock> 
@@ -228,7 +228,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 		public Iterator<Tuple2<Long, FrameBlock>> call(Tuple2<Long, FrameBlock> kv) 
 			throws Exception 
 		{
-			ArrayList<Pair<Long,FrameBlock>> out = new ArrayList<Pair<Long,FrameBlock>>();
+			ArrayList<Pair<Long,FrameBlock>> out = new ArrayList<>();
 
 			IndexRange curBlockRange = new IndexRange(_ixrange.rowStart, _ixrange.rowEnd, _ixrange.colStart, _ixrange.colEnd);
 			
@@ -240,7 +240,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 			// Starting local location (0-based) of target block where to start copy. 
 			int iRowStartDest = UtilFunctions.computeCellInBlock(kv._1, _brlen);
 			for(int iRowStartSrc = 0; iRowStartSrc<kv._2.getNumRows(); iRowStartSrc += iMaxRowsToCopy, lGblStartRow += _brlen) {
-				IndexRange range = UtilFunctions.getSelectedRangeForZeroOut(new Pair<Long, FrameBlock>(kv._1, kv._2), _brlen, _bclen, curBlockRange, lGblStartRow-1, lGblStartRow);
+				IndexRange range = UtilFunctions.getSelectedRangeForZeroOut(new Pair<>(kv._1, kv._2), _brlen, _bclen, curBlockRange, lGblStartRow-1, lGblStartRow);
 				if(range.rowStart == -1 && range.rowEnd == -1 && range.colStart == -1 && range.colEnd == -1) {
 					throw new Exception("Error while getting range for zero-out");
 				}
@@ -253,7 +253,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 				
 				// Zero out the applicable range in this block
 				zeroBlk = (FrameBlock) kv._2.zeroOutOperations(new FrameBlock(), range, _complement, iRowStartSrc, iRowStartDest, iMaxRows, iMaxRowsToCopy);
-				out.add(new Pair<Long, FrameBlock>(lGblStartRow, zeroBlk));
+				out.add(new Pair<>(lGblStartRow, zeroBlk));
 				curBlockRange.rowStart =  lGblStartRow + _brlen;
 				iRowStartDest = UtilFunctions.computeCellInBlock(iRowStartDest+iMaxRowsToCopy+1, _brlen);
 			}
@@ -331,7 +331,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 					rhs_ru_pb = Math.min(rhs_ru, rhs_ru_pb+brlen);
 				}
 				
-				return new Tuple2<Long, FrameBlock>(arg._1, ret);
+				return new Tuple2<>(arg._1, ret);
 			}
 		}
 	}
@@ -364,7 +364,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 			
 			//return block with shifted row index
 			long rowindex2 = (rowindex > _ixrange.rowStart) ? rowindex-_ixrange.rowStart+1 : 1; 
-			return new Tuple2<Long,FrameBlock>(rowindex2, out);
+			return new Tuple2<>(rowindex2, out);
 		}		
 	}
 
@@ -407,7 +407,7 @@ public class FrameIndexingSPInstruction extends IndexingSPInstruction {
 						(int)_ixrange.colStart-1, (int)_ixrange.colEnd-1, new FrameBlock());
 				
 				//return block with shifted row index
-				return new Tuple2<Long,FrameBlock>(rowindex, out);		
+				return new Tuple2<>(rowindex, out);
 			}			
 		}
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
index 9fa2a14..75d674f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
@@ -278,7 +278,7 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 				
 				//execute matrix-vector mult
 				OperationsOnMatrixValues.performAggregateBinary( 
-						new MatrixIndexes(1,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);						
+						new MatrixIndexes(1,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
 			}
 			else //if( _type == CacheType.RIGHT )
 			{
@@ -287,11 +287,11 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 				
 				//execute matrix-vector mult
 				OperationsOnMatrixValues.performAggregateBinary(
-						ixIn, blkIn, new MatrixIndexes(ixIn.getColumnIndex(),1), right, ixOut, blkOut, _op);					
+						ixIn, blkIn, new MatrixIndexes(ixIn.getColumnIndex(),1), right, ixOut, blkOut, _op);
 			}
 			
 			//output new tuple
-			return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut);
+			return new Tuple2<>(ixOut, blkOut);
 		}
 	}
 
@@ -394,7 +394,7 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 					MatrixBlock left = _pbc.getBlock(1, (int)ixIn.getRowIndex());
 					
 					//execute index preserving matrix multiplication
-					left.aggregateBinaryOperations(left, blkIn, blkOut, _op);						
+					left.aggregateBinaryOperations(left, blkIn, blkOut, _op);
 				}
 				else //if( _type == CacheType.RIGHT )
 				{
@@ -405,8 +405,8 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 					blkIn.aggregateBinaryOperations(blkIn, right, blkOut, _op);	
 				}
 			
-				return new Tuple2<MatrixIndexes,MatrixBlock>(ixIn, blkOut);
-			}			
+				return new Tuple2<>(ixIn, blkOut);
+			}
 		}
 	}
 
@@ -432,7 +432,7 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			
 			MatrixIndexes ixIn = arg0._1();
 			MatrixBlock blkIn = arg0._2();
@@ -449,9 +449,9 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 					
 					//execute matrix-vector mult
 					OperationsOnMatrixValues.performAggregateBinary( 
-							new MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);	
+							new MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
 					
-					ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut));
+					ret.add(new Tuple2<>(ixOut, blkOut));
 				}
 			}
 			else //if( _type == CacheType.RIGHT )
@@ -467,9 +467,9 @@ public class MapmmSPInstruction extends BinarySPInstruction {
 					
 					//execute matrix-vector mult
 					OperationsOnMatrixValues.performAggregateBinary(
-							ixIn, blkIn, new MatrixIndexes(ixIn.getColumnIndex(),j), right, ixOut, blkOut, _op);					
+							ixIn, blkIn, new MatrixIndexes(ixIn.getColumnIndex(),j), right, ixOut, blkOut, _op);
 				
-					ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut));
+					ret.add(new Tuple2<>(ixOut, blkOut));
 				}
 			}
 			

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 4864d9e..affd145 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
@@ -124,7 +124,7 @@ public class MatrixAppendMSPInstruction extends AppendMSPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Tuple2<MatrixIndexes, MatrixBlock> kv) 
 			throws Exception 
 		{
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			
 			IndexedMatrixValue in1 = SparkUtils.toIndexedMatrixBlock(kv);
 			MatrixIndexes ix = in1.getIndexes();
@@ -143,21 +143,19 @@ public class MatrixAppendMSPInstruction extends AppendMSPInstruction {
 				
 				//output shallow copy of rhs block
 				if( _cbind ) {
-					ret.add( new Tuple2<MatrixIndexes, MatrixBlock>(
-							new MatrixIndexes(ix.getRowIndex(), ix.getColumnIndex()+1),
-							_pm.getBlock((int)ix.getRowIndex(), 1)) );
+					ret.add( new Tuple2<>(new MatrixIndexes(ix.getRowIndex(), ix.getColumnIndex()+1),
+						_pm.getBlock((int)ix.getRowIndex(), 1)) );
 				}
 				else { //rbind
-					ret.add( new Tuple2<MatrixIndexes, MatrixBlock>(
-							new MatrixIndexes(ix.getRowIndex()+1, ix.getColumnIndex()),
-							_pm.getBlock(1, (int)ix.getColumnIndex())) );	
+					ret.add( new Tuple2<>(new MatrixIndexes(ix.getRowIndex()+1, ix.getColumnIndex()),
+						_pm.getBlock(1, (int)ix.getColumnIndex())) );
 				}
 			}
 			//case 3: append operation on boundary block
 			else 
 			{
 				//allocate space for the output value
-				ArrayList<IndexedMatrixValue> outlist=new ArrayList<IndexedMatrixValue>(2);
+				ArrayList<IndexedMatrixValue> outlist=new ArrayList<>(2);
 				IndexedMatrixValue first = new IndexedMatrixValue(new MatrixIndexes(ix), new MatrixBlock());
 				outlist.add(first);
 				
@@ -237,12 +235,12 @@ public class MatrixAppendMSPInstruction extends AppendMSPInstruction {
 				//case 3: append operation on boundary block
 				else {
 					int rowix = _cbind ? (int)ix.getRowIndex() : 1;
-					int colix = _cbind ? 1 : (int)ix.getColumnIndex();					
+					int colix = _cbind ? 1 : (int)ix.getColumnIndex();
 					MatrixBlock in2 = _pm.getBlock(rowix, colix);
 					MatrixBlock out = in1.appendOperations(in2, new MatrixBlock(), _cbind);
-					return new Tuple2<MatrixIndexes,MatrixBlock>(ix, out);
-				}	
-			}			
+					return new Tuple2<>(ix, out);
+				}
+			}
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
index 540ac74..dd7f2bd 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
@@ -190,7 +190,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 	private static MatrixBlock multiBlockIndexing(JavaPairRDD<MatrixIndexes,MatrixBlock> in1, 
 			 MatrixCharacteristics mcIn, MatrixCharacteristics mcOut, IndexRange ixrange) throws DMLRuntimeException {
 		//create list of all required matrix indexes
-		List<MatrixIndexes> filter = new ArrayList<MatrixIndexes>();
+		List<MatrixIndexes> filter = new ArrayList<>();
 		long rlix = UtilFunctions.computeBlockIndex(ixrange.rowStart, mcIn.getRowsPerBlock());
 		long ruix = UtilFunctions.computeBlockIndex(ixrange.rowEnd, mcIn.getRowsPerBlock());
 		long clix = UtilFunctions.computeBlockIndex(ixrange.colStart, mcIn.getColsPerBlock());
@@ -324,8 +324,8 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 		public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call(Tuple2<MatrixIndexes, MatrixBlock> rightKV) 
 			throws Exception 
 		{
-			IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(rightKV);			
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+			IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(rightKV);
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			OperationsOnMatrixValues.performShift(in, _ixrange, _brlen, _bclen, _rlen, _clen, out);
 			return SparkUtils.fromIndexedMatrixBlock(out).iterator();
 		}		
@@ -361,7 +361,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			}
 			
 			MatrixBlock zeroBlk = (MatrixBlock) kv._2.zeroOutOperations(new MatrixBlock(), range, _complement);
-			return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, zeroBlk);
+			return new Tuple2<>(kv._1, zeroBlk);
 		}
 	}
 
@@ -421,7 +421,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 					MatrixBlock tmp = left.leftIndexingOperations(right, 
 							rl, ru, cl, cu, new MatrixBlock(), UpdateType.COPY);
 					
-					return new Tuple2<MatrixIndexes, MatrixBlock>(ix, tmp);
+					return new Tuple2<>(ix, tmp);
 				}
 				else //LixCacheType.RIGHT
 				{
@@ -446,7 +446,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 					int lhs_lcl = UtilFunctions.computeCellInBlock(lhs_cl, _bclen);
 					int lhs_lcu = UtilFunctions.computeCellInBlock(lhs_cu, _bclen);
 					MatrixBlock ret = arg._2.leftIndexingOperations(slicedRHSMatBlock, lhs_lrl, lhs_lru, lhs_lcl, lhs_lcu, new MatrixBlock(), UpdateType.COPY);
-					return new Tuple2<MatrixIndexes, MatrixBlock>(arg._1, ret);
+					return new Tuple2<>(arg._1, ret);
 				}
 			}
 		}
@@ -490,10 +490,10 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			//create return matrix block (via shallow copy or slice)
 			if( lrl == 0 && lru == block.getNumRows()-1
 				&& lcl == 0 && lcu == block.getNumColumns()-1 ) {
-				return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, block);
+				return new Tuple2<>(ixOut, block);
 			}
 			else {
-				return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, 
+				return new Tuple2<>(ixOut, 
 					block.sliceOperations(lrl, lru, lcl, lcu, new MatrixBlock()));
 			}
 		}		
@@ -518,7 +518,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			throws Exception 
 		{	
 			IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(kv);
-			ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 			OperationsOnMatrixValues.performSlice(in, _ixrange, _brlen, _bclen, outlist);
 			return SparkUtils.fromIndexedMatrixBlock(outlist).iterator();
 		}		
@@ -546,7 +546,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			throws Exception 
 		{	
 			IndexedMatrixValue in = new IndexedMatrixValue(kv._1(), kv._2());
-			ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 			OperationsOnMatrixValues.performSlice(in, _ixrange, _brlen, _bclen, outlist);
 			return SparkUtils.fromIndexedMatrixBlock(outlist.get(0));
 		}		
@@ -585,12 +585,12 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			{
 				IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(arg);
 				
-				ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+				ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 				OperationsOnMatrixValues.performSlice(in, _ixrange, _brlen, _bclen, outlist);
 				
 				assert(outlist.size() == 1); //1-1 row/column block indexing
 				return SparkUtils.fromIndexedMatrixBlock(outlist.get(0));
-			}			
+			}
 		}
 	}
 	
@@ -607,7 +607,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 			JavaPairRDD<MatrixIndexes,MatrixBlock> in, List<MatrixIndexes> filter )
 	{
 		//build hashset of required partition ids
-		HashSet<Integer> flags = new HashSet<Integer>();
+		HashSet<Integer> flags = new HashSet<>();
 		Partitioner partitioner = in.rdd().partitioner().get();
 		for( MatrixIndexes key : filter )
 			flags.add(partitioner.getPartition(key));
@@ -618,7 +618,7 @@ public class MatrixIndexingSPInstruction extends IndexingSPInstruction {
 				PartitionPruningRDD.create(in.rdd(), f);
 
 		//wrap output into java pair rdd
-		return new JavaPairRDD<MatrixIndexes,MatrixBlock>(ppRDD, 
+		return new JavaPairRDD<>(ppRDD, 
 				ClassManifestFactory.fromClass(MatrixIndexes.class), 
 				ClassManifestFactory.fromClass(MatrixBlock.class));
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
index 9769792..3dc44f6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
@@ -133,7 +133,7 @@ public class MatrixReshapeSPInstruction extends UnarySPInstruction {
 			IndexedMatrixValue in = SparkUtils.toIndexedMatrixBlock(arg0);
 			
 			//execute actual reshape operation
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();			
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			out = LibMatrixReorg.reshape(in, _mcIn, out, _mcOut, _byrow);
 
 			//output conversion (for compatibility w/ rdd schema)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
index 1fd690f..6c037ff 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
@@ -157,7 +157,7 @@ public class PMapmmSPInstruction extends BinarySPInstruction {
 		{
 			long rix = arg0._1().getRowIndex()-_offset;
 			MatrixIndexes ixout = new MatrixIndexes(rix, arg0._1().getColumnIndex());
-			return new Tuple2<MatrixIndexes,MatrixBlock>(ixout, arg0._2());
+			return new Tuple2<>(ixout, arg0._2());
 		}
 	}
 
@@ -191,7 +191,7 @@ public class PMapmmSPInstruction extends BinarySPInstruction {
 			MatrixIndexes ixOut = new MatrixIndexes();
 			MatrixBlock blkOut = new MatrixBlock();
 			
-			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+			ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new ArrayList<>();
 			
 			//get the right hand side matrix
 			for( int i=1; i<=pm.getNumRowBlocks(); i++ ) {
@@ -199,11 +199,11 @@ public class PMapmmSPInstruction extends BinarySPInstruction {
 			
 				//execute matrix-vector mult
 				OperationsOnMatrixValues.performAggregateBinary( 
-						new MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);						
+						new MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
 				
 				//output new tuple
 				ixOut.setIndexes(_offset+i, ixOut.getColumnIndex());
-				ret.add(new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, blkOut));
+				ret.add(new Tuple2<>(ixOut, blkOut));
 			}
 			
 			return ret.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
index 216bdc1..fc1ed48 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
@@ -100,7 +100,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 	
 	public static HashMap<String, String> constructParameterMap(String[] params) {
 		// process all elements in "params" except first(opcode) and last(output)
-		HashMap<String,String> paramMap = new HashMap<String,String>();
+		HashMap<String,String> paramMap = new HashMap<>();
 		
 		// all parameters are of form <name=value>
 		String[] parts;
@@ -125,14 +125,14 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			CPOperand groups = new CPOperand( parts[2] );
 			CPOperand out = new CPOperand( parts[3] );
 
-			HashMap<String,String> paramsMap = new HashMap<String, String>();
+			HashMap<String,String> paramsMap = new HashMap<>();
 			paramsMap.put(Statement.GAGG_TARGET, target.getName());
 			paramsMap.put(Statement.GAGG_GROUPS, groups.getName());
 			paramsMap.put(Statement.GAGG_NUM_GROUPS, parts[4]);
 			
 			Operator op = new AggregateOperator(0, KahanPlus.getKahanPlusFnObject(), true, CorrectionLocationType.LASTCOLUMN);
 			
-			return new ParameterizedBuiltinSPInstruction(op, paramsMap, out, opcode, str, false);		
+			return new ParameterizedBuiltinSPInstruction(op, paramsMap, out, opcode, str, false);
 		}
 		else
 		{
@@ -544,7 +544,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			IndexedMatrixValue offsets = SparkUtils.toIndexedMatrixBlock(arg0._1(),arg0._2()._2());
 			
 			//execute remove empty operations
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			LibMatrixReorg.rmempty(data, offsets, _rmRows, _len, _brlen, _bclen, out);
 
 			//prepare and return outputs
@@ -586,7 +586,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 				offsets = SparkUtils.toIndexedMatrixBlock(arg0._1(), _off.getBlock(1, (int)arg0._1().getColumnIndex()));
 			
 			//execute remove empty operations
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			LibMatrixReorg.rmempty(data, offsets, _rmRows, _len, _brlen, _bclen, out);
 
 			//prepare and return outputs
@@ -623,7 +623,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			IndexedMatrixValue data = SparkUtils.toIndexedMatrixBlock(arg0._1(),arg0._2());
 			
 			//execute rexpand operations
-			ArrayList<IndexedMatrixValue> out = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> out = new ArrayList<>();
 			LibMatrixReorg.rexpand(data, _maxVal, _dirRows, _cast, _ignore, _brlen, _bclen, out);
 			
 			//prepare and return outputs
@@ -661,7 +661,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			
 			//execute map grouped aggregate operations
 			IndexedMatrixValue in1 = SparkUtils.toIndexedMatrixBlock(ix, target);
-			ArrayList<IndexedMatrixValue> outlist = new ArrayList<IndexedMatrixValue>();
+			ArrayList<IndexedMatrixValue> outlist = new ArrayList<>();
 			OperationsOnMatrixValues.performMapGroupedAggregate(_op, in1, groups, _ngroups, _brlen, _bclen, outlist);
 			
 			//output all result blocks
@@ -781,7 +781,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			}
 			
 			//convert to frameblock to reuse frame-matrix reblock
-			return new Tuple2<Long, FrameBlock>(key, 
+			return new Tuple2<>(key, 
 					DataConverter.convertToFrameBlock(tmp));
 		}
 	}
@@ -821,7 +821,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 				rmRows += valid ? 0 : 1;
 			}
 			
-			return new Tuple2<Long, Long>(key, rmRows);
+			return new Tuple2<>(key, rmRows);
 		}
 	}
 
@@ -844,7 +844,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			long rix = UtilFunctions.computeCellIndex(in._1().getRowIndex(), _brlen, 0);
 			FrameBlock fbout = _decoder.decode(in._2(), new FrameBlock(_decoder.getSchema()));
 			fbout.setColumnNames(Arrays.copyOfRange(_decoder.getColnames(), 0, fbout.getNumColumns()));
-			return new Tuple2<Long, FrameBlock>(rix, fbout);
+			return new Tuple2<>(rix, fbout);
 		}
 	}
 	
@@ -873,7 +873,7 @@ public class ParameterizedBuiltinSPInstruction extends ComputationSPInstruction
 			MatrixBlock out = new MatrixBlock(inBlk.getNumRows(), _clen, false);
 			out = out.leftIndexingOperations(inBlk, 0, inBlk.getNumRows()-1, cl, cu, null, UpdateType.INPLACE_PINNED);
 			
-			return new Tuple2<MatrixIndexes, MatrixBlock>(new MatrixIndexes(inIx.getRowIndex(), 1), out);
+			return new Tuple2<>(new MatrixIndexes(inIx.getRowIndex(), 1), out);
 		}
 	}
 


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

Posted by mb...@apache.org.
http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/WhileStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/WhileStatement.java b/src/main/java/org/apache/sysml/parser/WhileStatement.java
index e210818..d70b1ab 100644
--- a/src/main/java/org/apache/sysml/parser/WhileStatement.java
+++ b/src/main/java/org/apache/sysml/parser/WhileStatement.java
@@ -28,6 +28,7 @@ public class WhileStatement extends Statement
 	private ConditionalPredicate _predicate;
 	private ArrayList<StatementBlock> _body;
 	
+	@Override
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should not call rewriteStatement for WhileStatement");
 		throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for WhileStatement");
@@ -67,6 +68,7 @@ public class WhileStatement extends Statement
 		_body = StatementBlock.mergeStatementBlocks(_body);
 	}
 	
+	@Override
 	public String toString(){
 		StringBuilder sb = new StringBuilder();
 		sb.append("while ( ");
@@ -79,15 +81,16 @@ public class WhileStatement extends Statement
 		return sb.toString();
 	}
 
+	@Override
 	public void initializeforwardLV(VariableSet activeIn) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
 	}
 	
+	@Override
 	public VariableSet initializebackwardLV(VariableSet lo) throws LanguageException{
 		LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
 		throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
-		
 	}
 	
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java b/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
index 866bf1c..f3f613e 100644
--- a/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
@@ -164,7 +164,7 @@ public class WhileStatementBlock extends StatementBlock
 		return ids;
 	}
 
-
+	@Override
 	public VariableSet initializeforwardLV(VariableSet activeInPassed) throws LanguageException {
 		
 		WhileStatement wstmt = (WhileStatement)_statements.get(0);
@@ -223,6 +223,7 @@ public class WhileStatementBlock extends StatementBlock
 		return _liveOut;
 	}
 
+	@Override
 	public VariableSet initializebackwardLV(VariableSet loPassed) throws LanguageException{
 		
 		WhileStatement wstmt = (WhileStatement)_statements.get(0);
@@ -246,6 +247,7 @@ public class WhileStatementBlock extends StatementBlock
 		_predicateHops = hops;
 	}
 	
+	@Override
 	public ArrayList<Hop> get_hops() throws HopsException {
 		
 		if (_hops != null && !_hops.isEmpty()){
@@ -268,8 +270,8 @@ public class WhileStatementBlock extends StatementBlock
 		_predicateLops = predicateLops;
 	}
 	
+	@Override
 	public VariableSet analyze(VariableSet loPassed) throws LanguageException{
-	 		
 		VariableSet predVars = new VariableSet();
 		predVars.addVariables(((WhileStatement)_statements.get(0)).getConditionalPredicate().variablesRead());
 		predVars.addVariables(((WhileStatement)_statements.get(0)).getConditionalPredicate().variablesUpdated());

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 f42f09f..b7a1c89 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
@@ -53,6 +53,7 @@ import org.apache.sysml.parser.LanguageException;
 import org.apache.sysml.parser.ParForStatement;
 import org.apache.sysml.parser.ParameterExpression;
 import org.apache.sysml.parser.ParseException;
+import org.apache.sysml.parser.ParserWrapper;
 import org.apache.sysml.parser.PathStatement;
 import org.apache.sysml.parser.Statement;
 import org.apache.sysml.parser.StatementBlock;
@@ -599,7 +600,7 @@ public class DmlSyntacticValidator extends CommonSyntacticValidator implements D
 	// -----------------------------------------------------------------
 
 	private static StatementBlock getStatementBlock(Statement current) {
-		return DMLParserWrapper.getStatementBlock(current);
+		return ParserWrapper.getStatementBlock(current);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 d5c5e67..9c1510b 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
@@ -57,6 +57,7 @@ import org.apache.sysml.parser.LanguageException;
 import org.apache.sysml.parser.ParForStatement;
 import org.apache.sysml.parser.ParameterExpression;
 import org.apache.sysml.parser.ParseException;
+import org.apache.sysml.parser.ParserWrapper;
 import org.apache.sysml.parser.PathStatement;
 import org.apache.sysml.parser.Statement;
 import org.apache.sysml.parser.StatementBlock;
@@ -1217,7 +1218,7 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements
 	// -----------------------------------------------------------------
 
 	private static StatementBlock getStatementBlock(Statement current) {
-		return PyDMLParserWrapper.getStatementBlock(current);
+		return ParserWrapper.getStatementBlock(current);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 4f55c79..ac8dc57 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
@@ -149,6 +149,7 @@ public abstract class SpoofOuterProduct extends SpoofOperator
 		return new DoubleObject(sum);
 	}
 	
+	@Override
 	public MatrixBlock execute(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects, MatrixBlock out)
 		throws DMLRuntimeException
 	{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
index 91ae7d6..d84abfa 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
@@ -912,6 +912,7 @@ public class ExternalFunctionProgramBlock extends FunctionProgramBlock
 		return _otherParams;
 	}
 	
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in external function program block generated from external function statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlockCP.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlockCP.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlockCP.java
index d5a9125..29806c2 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlockCP.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlockCP.java
@@ -30,7 +30,6 @@ import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.caching.MatrixObject;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.controlprogram.parfor.util.IDSequence;
-import org.apache.sysml.runtime.instructions.Instruction;
 import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
 import org.apache.sysml.runtime.matrix.MatrixFormatMetaData;
 import org.apache.sysml.runtime.matrix.data.InputInfo;
@@ -77,7 +76,7 @@ public class ExternalFunctionProgramBlockCP extends ExternalFunctionProgramBlock
 		super(prog, inputParams, outputParams, baseDir); //w/o instruction generation
 		
 		// copy other params 
-		_otherParams = new HashMap<String, String>();
+		_otherParams = new HashMap<>();
 		_otherParams.putAll(otherParams);
 
 		// generate instructions (overwritten)
@@ -131,7 +130,7 @@ public class ExternalFunctionProgramBlockCP extends ExternalFunctionProgramBlock
 	@Override
 	protected void createInstructions() 
 	{
-		_inst = new ArrayList<Instruction>();
+		_inst = new ArrayList<>();
 
 		// assemble information provided through keyvalue pairs
 		String className = _otherParams.get(ExternalFunctionStatement.CLASS_NAME);
@@ -180,16 +179,14 @@ public class ExternalFunctionProgramBlockCP extends ExternalFunctionProgramBlock
 		}
 			
 		return ret;
-	}	
-	
+	}
 	
-	public String createDefaultOutputFilePathAndName( )
-	{
+	public String createDefaultOutputFilePathAndName( ) {
 		return _baseDir + DEFAULT_FILENAME + _defaultSeq.getNextID();
-	}	
+	}
 
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in external function program block (for CP) generated from external function statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}
-	
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/ForProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ForProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ForProgramBlock.java
index 05b622d..29dfdfd 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ForProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ForProgramBlock.java
@@ -36,7 +36,7 @@ import org.apache.sysml.runtime.instructions.cp.ScalarObject;
 import org.apache.sysml.yarn.DMLAppMasterUtils;
 
 public class ForProgramBlock extends ProgramBlock
-{	
+{
 	protected ArrayList<Instruction> _fromInstructions;
 	protected ArrayList<Instruction> _toInstructions;
 	protected ArrayList<Instruction> _incrementInstructions;
@@ -46,9 +46,8 @@ public class ForProgramBlock extends ProgramBlock
 	
 	public ForProgramBlock(Program prog, String iterPredVar) {
 		super(prog);
-		
-		_exitInstructions = new ArrayList<Instruction>();
-		_childBlocks = new ArrayList<ProgramBlock>();
+		_exitInstructions = new ArrayList<>();
+		_childBlocks = new ArrayList<>();
 		_iterPredVar = iterPredVar;
 	}
 	
@@ -211,6 +210,7 @@ public class ForProgramBlock extends ProgramBlock
 		return ret;
 	}
 	
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in for program block generated from for statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
index aa51c59..fa4838a 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
@@ -152,8 +152,8 @@ public class FunctionProgramBlock extends ProgramBlock
 		return _recompileOnce;
 	}
 	
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in function program block generated from function statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}
-	
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/IfProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/IfProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/IfProgramBlock.java
index cecc8f7..b09a1a3 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/IfProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/IfProgramBlock.java
@@ -41,11 +41,10 @@ public class IfProgramBlock extends ProgramBlock
 	
 	public IfProgramBlock(Program prog, ArrayList<Instruction> predicate) {
 		super(prog);
-		
-		_childBlocksIfBody = new ArrayList<ProgramBlock>();
-		_childBlocksElseBody = new ArrayList<ProgramBlock>();
+		_childBlocksIfBody = new ArrayList<>();
+		_childBlocksElseBody = new ArrayList<>();
 		_predicate = predicate;
-		_exitInstructions = new ArrayList<Instruction>();
+		_exitInstructions = new ArrayList<>();
 	}
 	
 	public ArrayList<ProgramBlock> getChildBlocksIfBody() { 
@@ -177,6 +176,7 @@ public class IfProgramBlock extends ProgramBlock
 		return result;
 	}
 	
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in if program block generated from if statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/LocalVariableMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/LocalVariableMap.java b/src/main/java/org/apache/sysml/runtime/controlprogram/LocalVariableMap.java
index 7e59951..0743d39 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/LocalVariableMap.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/LocalVariableMap.java
@@ -36,7 +36,7 @@ import org.apache.sysml.runtime.instructions.cp.Data;
  * 
  */
 public class LocalVariableMap implements Cloneable
-{	
+{
 	private static String eol = System.getProperty ("line.separator");
 	private static String ELEMENT_DELIM = org.apache.sysml.runtime.controlprogram.parfor.ProgramConverter.ELEMENT_DELIM;
 	private static IDSequence _seq = new IDSequence();
@@ -45,12 +45,12 @@ public class LocalVariableMap implements Cloneable
 	private final long localID;
 	
 	public LocalVariableMap() {
-		localMap = new HashMap <String, Data>();
+		localMap = new HashMap<>();
 		localID = _seq.getNextID();
 	}
 	
 	public LocalVariableMap(LocalVariableMap vars) {
-		localMap = new HashMap <String, Data>(vars.localMap);
+		localMap = new HashMap<>(vars.localMap);
 		localID = _seq.getNextID();
 	}
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 e345472..e2568cb 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
@@ -426,7 +426,7 @@ public class ParForProgramBlock extends ForProgramBlock
 	
 		//initialize program block cache if necessary
 		if( USE_PB_CACHE ) 
-			_pbcache = new HashMap<Long, ArrayList<ProgramBlock>>();
+			_pbcache = new HashMap<>();
 		
 		//created profiling report after parfor exec
 		_monitorReport = _monitor;
@@ -751,11 +751,10 @@ public class ParForProgramBlock extends ForProgramBlock
 		try
 		{
 			// Step 1) init parallel workers, task queue and threads
-			LocalTaskQueue<Task> queue = new LocalTaskQueue<Task>();
+			LocalTaskQueue<Task> queue = new LocalTaskQueue<>();
 			Thread[] threads         = new Thread[_numThreads];
 			LocalParWorker[] workers = new LocalParWorker[_numThreads];
-			for( int i=0; i<_numThreads; i++ )
-			{
+			for( int i=0; i<_numThreads; i++ ) {
 				//create parallel workers as (lazy) deep copies
 				//including preparation of update-in-place variables
 				workers[i] = createParallelWorker( _pwIDs[i], queue, ec, i);
@@ -781,7 +780,7 @@ public class ParForProgramBlock extends ForProgramBlock
 			if( USE_STREAMING_TASK_CREATION )
 			{
 				//put tasks into queue (parworker start work on first tasks while creating tasks) 
-				numCreatedTasks = partitioner.createTasks(queue);		
+				numCreatedTasks = partitioner.createTasks(queue);
 			}
 			else
 			{
@@ -793,7 +792,7 @@ public class ParForProgramBlock extends ForProgramBlock
 					queue.enqueueTask( t );
 				
 				// mark end of task input stream
-				queue.closeInput();		
+				queue.closeInput();
 			}
 			if( _monitor )
 				StatisticMonitor.putPFStat(_ID, Stat.PARFOR_INIT_TASKS_T, time.stop());
@@ -810,9 +809,9 @@ public class ParForProgramBlock extends ForProgramBlock
 			LocalVariableMap [] localVariables = new LocalVariableMap [_numThreads]; 
 			for( int i=0; i<_numThreads; i++ ) {
 				localVariables[i] = workers[i].getVariables();
-				localVariables[i].removeAllNotIn(new HashSet<String>(_resultVars));
+				localVariables[i].removeAllNotIn(new HashSet<>(_resultVars));
 				numExecutedTasks += workers[i].getExecutedTasks();
-				numExecutedIterations += workers[i].getExecutedIterations();			
+				numExecutedIterations += workers[i].getExecutedIterations();
 			}
 			//consolidate results into global symbol table
 			consolidateAndCheckResults( ec, numIterations, numCreatedTasks,
@@ -891,7 +890,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		int maxDigits = (int)Math.log10(to.getLongValue()) + 1;
 		long numCreatedTasks = -1;
 		if( USE_STREAMING_TASK_CREATION ) {
-			LocalTaskQueue<Task> queue = new LocalTaskQueue<Task>();
+			LocalTaskQueue<Task> queue = new LocalTaskQueue<>();
 			
 			//put tasks into queue and start writing to taskFile
 			numCreatedTasks = partitioner.createTasks(queue);
@@ -1025,7 +1024,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		// NOTES: each mapper changes filenames with regard to his ID as we submit a single 
 		// job, cannot reuse serialized string, since variables are serialized as well.
 		ParForBody body = new ParForBody(_childBlocks, _resultVars, ec);
-		HashMap<String, byte[]> clsMap = new HashMap<String, byte[]>();
+		HashMap<String, byte[]> clsMap = new HashMap<>();
 		String program = ProgramConverter.serializeParForBody(body, clsMap);
 		
 		if( _monitor ) 
@@ -1087,7 +1086,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		// NOTES: each mapper changes filenames with regard to his ID as we submit a single
 		// job, cannot reuse serialized string, since variables are serialized as well.
 		ParForBody body = new ParForBody( _childBlocks, _resultVars, ec );
-		HashMap<String, byte[]> clsMap = new HashMap<String, byte[]>(); 
+		HashMap<String, byte[]> clsMap = new HashMap<>(); 
 		String program = ProgramConverter.serializeParForBody( body, clsMap );
 		
 		if( _monitor ) 
@@ -1302,7 +1301,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		throws CacheException 
 	{
 		ParForStatementBlock sb = (ParForStatementBlock)getStatementBlock();
-		HashSet<String> blacklist = new HashSet<String>(Arrays.asList(blacklistNames));
+		HashSet<String> blacklist = new HashSet<>(Arrays.asList(blacklistNames));
 		
 		if( LIVEVAR_AWARE_EXPORT && sb != null)
 		{
@@ -1358,7 +1357,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		{
 			//create deep copies of required elements child blocks
 			ArrayList<ProgramBlock> cpChildBlocks = null;	
-			HashSet<String> fnNames = new HashSet<String>();
+			HashSet<String> fnNames = new HashSet<>();
 			if( USE_PB_CACHE )
 			{
 				if( _pbcache.containsKey(pwID) ) {
@@ -1568,7 +1567,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		}
 		
 		//try recompile MR instructions to CP
-		HashSet<String> fnStack = new HashSet<String>();
+		HashSet<String> fnStack = new HashSet<>();
 		Recompiler.recompileProgramBlockHierarchy2Forced(_childBlocks, tid, fnStack, ExecType.CP);
 		return true;
 	}
@@ -1660,7 +1659,7 @@ public class ParForProgramBlock extends ForProgramBlock
 			try
 			{
 				//enqueue all result vars as tasks
-				LocalTaskQueue<String> q = new LocalTaskQueue<String>();
+				LocalTaskQueue<String> q = new LocalTaskQueue<>();
 				for( String var : _resultVars ) //foreach non-local write
 					if( ec.getVariable(var) instanceof MatrixObject ) //robustness scalars
 						q.enqueueTask(var);
@@ -1971,6 +1970,7 @@ public class ParForProgramBlock extends ForProgramBlock
 		}
 	}
 
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in parfor program block generated from parfor statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/Program.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/Program.java b/src/main/java/org/apache/sysml/runtime/controlprogram/Program.java
index 95b2e01..3867659 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/Program.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/Program.java
@@ -39,8 +39,8 @@ public class Program
 	private HashMap<String, HashMap<String,FunctionProgramBlock>> _namespaceFunctions;
 	
 	public Program() throws DMLRuntimeException {
-		_namespaceFunctions = new HashMap<String, HashMap<String,FunctionProgramBlock>>(); 
-		_programBlocks = new ArrayList<ProgramBlock>();
+		_namespaceFunctions = new HashMap<>(); 
+		_programBlocks = new ArrayList<>();
 	}
 
 	public synchronized void addFunctionProgramBlock(String namespace, String fname, FunctionProgramBlock fpb)
@@ -51,18 +51,16 @@ public class Program
 		HashMap<String,FunctionProgramBlock> namespaceBlocks = null;
 		namespaceBlocks = _namespaceFunctions.get(namespace);
 		if (namespaceBlocks == null){
-			namespaceBlocks = new HashMap<String,FunctionProgramBlock>();
+			namespaceBlocks = new HashMap<>();
 			_namespaceFunctions.put(namespace,namespaceBlocks);
 		}
 		
 		namespaceBlocks.put(fname,fpb);
 	}
 
-	public synchronized void removeFunctionProgramBlock(String namespace, String fname) 
-	{	
+	public synchronized void removeFunctionProgramBlock(String namespace, String fname) {
 		if (namespace == null) 
 			namespace = DMLProgram.DEFAULT_NAMESPACE;
-		
 		HashMap<String,FunctionProgramBlock> namespaceBlocks = null;
 		if( _namespaceFunctions.containsKey(namespace) ){
 			namespaceBlocks = _namespaceFunctions.get(namespace);
@@ -72,8 +70,7 @@ public class Program
 	}
 
 	public synchronized HashMap<String,FunctionProgramBlock> getFunctionProgramBlocks(){
-		
-		HashMap<String,FunctionProgramBlock> retVal = new HashMap<String,FunctionProgramBlock>();
+		HashMap<String,FunctionProgramBlock> retVal = new HashMap<>();
 		
 		//create copy of function program blocks
 		for (String namespace : _namespaceFunctions.keySet()){
@@ -90,7 +87,6 @@ public class Program
 	}
 
 	public synchronized FunctionProgramBlock getFunctionProgramBlock(String namespace, String fname) throws DMLRuntimeException{
-		
 		if (namespace == null) namespace = DMLProgram.DEFAULT_NAMESPACE;
 		
 		HashMap<String,FunctionProgramBlock> namespaceFunctBlocks = _namespaceFunctions.get(namespace);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 d1fc759..4ac9af0 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ProgramBlock.java
@@ -64,13 +64,11 @@ public class ProgramBlock implements ParseInfo
 	protected StatementBlock _sb = null;
 	protected long _tid = 0; //by default _t0
 
-
 	public ProgramBlock(Program prog) {
 		_prog = prog;
-		_inst = new ArrayList<Instruction>();
+		_inst = new ArrayList<>();
 	}
 
-
 	////////////////////////////////////////////////
 	// getters, setters and similar functionality
 	////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/WhileProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/WhileProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/WhileProgramBlock.java
index 6c8ed80..aac1f52 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/WhileProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/WhileProgramBlock.java
@@ -43,8 +43,8 @@ public class WhileProgramBlock extends ProgramBlock
 	public WhileProgramBlock(Program prog, ArrayList<Instruction> predicate) {
 		super(prog);
 		_predicate = predicate;
-		_exitInstructions = new ArrayList<Instruction>();
-		_childBlocks = new ArrayList<ProgramBlock>(); 
+		_exitInstructions = new ArrayList<>();
+		_childBlocks = new ArrayList<>(); 
 	}
 	
 	public void addProgramBlock(ProgramBlock childBlock) {
@@ -98,6 +98,7 @@ public class WhileProgramBlock extends ProgramBlock
 		return result;
 	}
 	
+	@Override
 	public void execute(ExecutionContext ec) throws DMLRuntimeException 
 	{
 		//execute while loop
@@ -143,6 +144,7 @@ public class WhileProgramBlock extends ProgramBlock
 		_childBlocks = childs;
 	}
 	
+	@Override
 	public String printBlockErrorLocation(){
 		return "ERROR: Runtime error in while program block generated from while statement block between lines " + _beginLine + " and " + _endLine + " -- ";
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
index 720b37d..5297e61 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
@@ -210,7 +210,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
 		_uniqueID = (int)_seq.getNextID();		
 		_cacheStatus = CacheStatus.EMPTY;
 		_numReadThreads = 0;
-		_gpuObjects = new HashMap<GPUContext, GPUObject>();
+		_gpuObjects = new HashMap<>();
 	}
 	
 	/**
@@ -1254,7 +1254,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
 	 * referenced cache block.  
 	 */
 	protected void createCache( ) {
-		_cache = new SoftReference<T>( _data );	
+		_cache = new SoftReference<>( _data );	
 	}
 
 	/**
@@ -1420,6 +1420,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
 		return ret;
 	}
 
+	@Override
 	public String toString() {
 		StringBuilder str = new StringBuilder();
 		str.append(getClass().getSimpleName());

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
index 4105351..e9017e5 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
@@ -329,7 +329,7 @@ public class MatrixObject extends CacheableData<MatrixBlock>
 			{
 				//put block into cache
 				_partitionCacheName = fname;
-				_cache = new SoftReference<MatrixBlock>(mb);
+				_cache = new SoftReference<>(mb);
 				
 				if( _partitionFormat == PDataPartitionFormat.ROW_BLOCK_WISE )
 				{

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 f4c024d..4cd371b 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
@@ -320,28 +320,28 @@ public class ExecutionContext {
 		MatrixObject mo = allocateGPUMatrixObject(varName, numRows, numCols);
 		boolean allocated = mo.getGPUObject(getGPUContext(0)).acquireDeviceModifyDense();
 		mo.getMatrixCharacteristics().setNonZeros(-1);
-		return new Pair<MatrixObject, Boolean>(mo, allocated);
+		return new Pair<>(mo, allocated);
 	}
 
 	/**
-     * Allocates a sparse matrix in CSR format on the GPU.
-     * Assumes that mat.getNumRows() returns a valid number
-     * 
-     * @param varName variable name
-     * @param numRows number of rows of matrix object
+	 * Allocates a sparse matrix in CSR format on the GPU.
+	 * Assumes that mat.getNumRows() returns a valid number
+	 * 
+	 * @param varName variable name
+	 * @param numRows number of rows of matrix object
 	 * @param numCols number of columns of matrix object
-     * @param nnz number of non zeroes
-     * @return matrix object
-     * @throws DMLRuntimeException if DMLRuntimeException occurs
-     */
-    public Pair<MatrixObject, Boolean> getSparseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols, long nnz)
-        throws DMLRuntimeException
-    {
-    	MatrixObject mo = allocateGPUMatrixObject(varName, numRows, numCols);
-        mo.getMatrixCharacteristics().setNonZeros(nnz);
+	 * @param nnz number of non zeroes
+	 * @return matrix object
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
+	 */
+	public Pair<MatrixObject, Boolean> getSparseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols, long nnz)
+		throws DMLRuntimeException
+	{
+		MatrixObject mo = allocateGPUMatrixObject(varName, numRows, numCols);
+		mo.getMatrixCharacteristics().setNonZeros(nnz);
 				boolean allocated = mo.getGPUObject(getGPUContext(0)).acquireDeviceModifySparse();
-        return new Pair<MatrixObject, Boolean>(mo, allocated);
-    } 
+		return new Pair<>(mo, allocated);
+	}
 
     /**
 	 * Allocates the {@link GPUObject} for a given LOPS Variable (eg. _mVar3)
@@ -535,7 +535,7 @@ public class ExecutionContext {
 	public HashMap<String,Boolean> pinVariables(ArrayList<String> varList) 
 	{
 		//2-pass approach since multiple vars might refer to same matrix object
-		HashMap<String, Boolean> varsState = new HashMap<String,Boolean>();
+		HashMap<String, Boolean> varsState = new HashMap<>();
 		
 		//step 1) get current information
 		for( String var : varList )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 472b735..be95164 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
@@ -534,7 +534,7 @@ public class SparkExecutionContext extends ExecutionContext
 
 			//create partitioned matrix block and release memory consumed by input
 			MatrixBlock mb = mo.acquireRead();
-			PartitionedBlock<MatrixBlock> pmb = new PartitionedBlock<MatrixBlock>(mb, brlen, bclen);
+			PartitionedBlock<MatrixBlock> pmb = new PartitionedBlock<>(mb, brlen, bclen);
 			mo.release();
 
 			//determine coarse-grained partitioning
@@ -559,8 +559,8 @@ public class SparkExecutionContext extends ExecutionContext
 					pmb.clearBlocks();
 			}
 			
-			bret = new PartitionedBroadcast<MatrixBlock>(ret);
-			BroadcastObject<MatrixBlock> bchandle = new BroadcastObject<MatrixBlock>(bret, varname,
+			bret = new PartitionedBroadcast<>(ret);
+			BroadcastObject<MatrixBlock> bchandle = new BroadcastObject<>(bret, varname,
 					OptimizerUtils.estimatePartitionedSizeExactSparsity(mo.getMatrixCharacteristics()));
 			mo.setBroadcastHandle(bchandle);
 			CacheableData.addBroadcastSize(bchandle.getSize());
@@ -604,7 +604,7 @@ public class SparkExecutionContext extends ExecutionContext
 
 			//create partitioned frame block and release memory consumed by input
 			FrameBlock mb = fo.acquireRead();
-			PartitionedBlock<FrameBlock> pmb = new PartitionedBlock<FrameBlock>(mb, brlen, bclen);
+			PartitionedBlock<FrameBlock> pmb = new PartitionedBlock<>(mb, brlen, bclen);
 			fo.release();
 
 			//determine coarse-grained partitioning
@@ -629,8 +629,8 @@ public class SparkExecutionContext extends ExecutionContext
 					pmb.clearBlocks();
 			}
 
-			bret = new PartitionedBroadcast<FrameBlock>(ret);
-			BroadcastObject<FrameBlock> bchandle = new BroadcastObject<FrameBlock>(bret, varname,
+			bret = new PartitionedBroadcast<>(ret);
+			BroadcastObject<FrameBlock> bchandle = new BroadcastObject<>(bret, varname,
 					OptimizerUtils.estimatePartitionedSizeExactSparsity(fo.getMatrixCharacteristics()));
 			fo.setBroadcastHandle(bchandle);
 			CacheableData.addBroadcastSize(bchandle.getSize());
@@ -674,12 +674,12 @@ public class SparkExecutionContext extends ExecutionContext
 		throws DMLRuntimeException
 	{
 		long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
-		LinkedList<Tuple2<MatrixIndexes,MatrixBlock>> list = new LinkedList<Tuple2<MatrixIndexes,MatrixBlock>>();
+		LinkedList<Tuple2<MatrixIndexes,MatrixBlock>> list = new LinkedList<>();
 
 		if(    src.getNumRows() <= brlen
 		    && src.getNumColumns() <= bclen )
 		{
-			list.addLast(new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(1,1), src));
+			list.addLast(new Tuple2<>(new MatrixIndexes(1,1), src));
 		}
 		else
 		{
@@ -703,7 +703,7 @@ public class SparkExecutionContext extends ExecutionContext
 
 					//append block to sequence file
 					MatrixIndexes indexes = new MatrixIndexes(blockRow+1, blockCol+1);
-					list.addLast(new Tuple2<MatrixIndexes,MatrixBlock>(indexes, block));
+					list.addLast(new Tuple2<>(indexes, block));
 				}
 		}
 
@@ -720,7 +720,7 @@ public class SparkExecutionContext extends ExecutionContext
 		throws DMLRuntimeException
 	{
 		long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
-		LinkedList<Tuple2<Long,FrameBlock>> list = new LinkedList<Tuple2<Long,FrameBlock>>();
+		LinkedList<Tuple2<Long,FrameBlock>> list = new LinkedList<>();
 
 		//create and write subblocks of matrix
 		int blksize = ConfigurationManager.getBlocksize();
@@ -737,7 +737,7 @@ public class SparkExecutionContext extends ExecutionContext
 				block.setColumnMetadata(src.getColumnMetadata());
 
 			//append block to sequence file
-			list.addLast(new Tuple2<Long,FrameBlock>((long)roffset+1, block));
+			list.addLast(new Tuple2<>((long)roffset+1, block));
 		}
 
 		JavaPairRDD<Long,FrameBlock> result = sc.parallelizePairs(list);
@@ -930,7 +930,7 @@ public class SparkExecutionContext extends ExecutionContext
 
 		long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
 
-		PartitionedBlock<MatrixBlock> out = new PartitionedBlock<MatrixBlock>(rlen, clen, brlen, bclen);
+		PartitionedBlock<MatrixBlock> out = new PartitionedBlock<>(rlen, clen, brlen, bclen);
 		List<Tuple2<MatrixIndexes,MatrixBlock>> list = rdd.collect();
 
 		//copy blocks one-at-a-time into output matrix block
@@ -1567,7 +1567,7 @@ public class SparkExecutionContext extends ExecutionContext
 		public MemoryManagerParRDDs(double fractionMem) {
 			_limit = (long)(fractionMem * InfrastructureAnalyzer.getLocalMaxMemory());
 			_size = 0;
-			_rdds = new HashMap<Integer, Long>();
+			_rdds = new HashMap<>();
 		}
 
 		public synchronized boolean reserve(long rddSize) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.java
index 0f76156..89456dc 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.java
@@ -72,7 +72,7 @@ public class DataPartitionerRemoteSparkMapper extends ParWorker implements PairF
 	public Iterator<Tuple2<Long, Writable>> call(Tuple2<MatrixIndexes, MatrixBlock> arg0) 
 		throws Exception 
 	{	
-		List<Tuple2<Long, Writable>> ret = new LinkedList<Tuple2<Long, Writable>>();
+		List<Tuple2<Long, Writable>> ret = new LinkedList<>();
 		
 		MatrixIndexes key2 =  arg0._1();
 		MatrixBlock value2 = arg0._2();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/LocalTaskQueue.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/LocalTaskQueue.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/LocalTaskQueue.java
index dc4ca64..5d9880c 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/LocalTaskQueue.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/LocalTaskQueue.java
@@ -48,7 +48,7 @@ public class LocalTaskQueue<T>
 	
 	public LocalTaskQueue()
 	{
-		_data        = new LinkedList<T>();
+		_data        = new LinkedList<>();
 		_closedInput = false;
 	}
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 4001d74..0effc7f 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
@@ -214,7 +214,7 @@ public class ProgramConverter
 	public static ArrayList<ProgramBlock> rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks, long pid, int IDPrefix, HashSet<String> fnStack, HashSet<String> fnCreated, boolean plain, boolean forceDeepCopy) 
 		throws DMLRuntimeException 
 	{
-		ArrayList<ProgramBlock> tmp = new ArrayList<ProgramBlock>();
+		ArrayList<ProgramBlock> tmp = new ArrayList<>();
 		
 		for( ProgramBlock pb : childBlocks )
 		{
@@ -380,8 +380,8 @@ public class ProgramConverter
 		
 		//create deep copy
 		FunctionProgramBlock copy = null;
-		ArrayList<DataIdentifier> tmp1 = new ArrayList<DataIdentifier>(); 
-		ArrayList<DataIdentifier> tmp2 = new ArrayList<DataIdentifier>(); 
+		ArrayList<DataIdentifier> tmp1 = new ArrayList<>(); 
+		ArrayList<DataIdentifier> tmp2 = new ArrayList<>(); 
 		if( fpb.getInputParams()!= null )
 			tmp1.addAll(fpb.getInputParams());
 		if( fpb.getOutputParams()!= null )
@@ -435,8 +435,8 @@ public class ProgramConverter
 	
 		//create deep copy
 		FunctionProgramBlock copy = null;
-		ArrayList<DataIdentifier> tmp1 = new ArrayList<DataIdentifier>(); 
-		ArrayList<DataIdentifier> tmp2 = new ArrayList<DataIdentifier>(); 
+		ArrayList<DataIdentifier> tmp1 = new ArrayList<>(); 
+		ArrayList<DataIdentifier> tmp2 = new ArrayList<>(); 
 		if( fpb.getInputParams()!= null )
 			tmp1.addAll(fpb.getInputParams());
 		if( fpb.getOutputParams()!= null )
@@ -472,7 +472,7 @@ public class ProgramConverter
 	public static ArrayList<Instruction> createDeepCopyInstructionSet(ArrayList<Instruction> instSet, long pid, int IDPrefix, Program prog, HashSet<String> fnStack, HashSet<String> fnCreated, boolean plain, boolean cpFunctions) 
 		throws DMLRuntimeException
 	{
-		ArrayList<Instruction> tmp = new ArrayList<Instruction>();
+		ArrayList<Instruction> tmp = new ArrayList<>();
 		for( Instruction inst : instSet )
 		{
 			if( inst instanceof FunctionCallCPInstruction && cpFunctions )
@@ -795,7 +795,7 @@ public class ProgramConverter
 		//but in order to avoid redundancy, we only serialize function program blocks
 		
 		HashMap<String, FunctionProgramBlock> fpb = prog.getFunctionProgramBlocks();
-		HashSet<String> cand = new HashSet<String>();
+		HashSet<String> cand = new HashSet<>();
 		rFindSerializationCandidates(pbs, cand);
 		
 		return rSerializeFunctionProgramBlocks( fpb, cand, clsMap );
@@ -1381,7 +1381,7 @@ public class ProgramConverter
 	private static HashMap<String,FunctionProgramBlock> parseFunctionProgramBlocks( String in, Program prog, int id ) 
 		throws DMLRuntimeException
 	{
-		HashMap<String,FunctionProgramBlock> ret = new HashMap<String, FunctionProgramBlock>();
+		HashMap<String,FunctionProgramBlock> ret = new HashMap<>();
 		HierarchyAwareStringTokenizer st = new HierarchyAwareStringTokenizer( in, ELEMENT_DELIM );
 		
 		while( st.hasMoreTokens() )
@@ -1401,7 +1401,7 @@ public class ProgramConverter
 	private static ArrayList<ProgramBlock> rParseProgramBlocks(String in, Program prog, int id) 
 		throws DMLRuntimeException
 	{
-		ArrayList<ProgramBlock> pbs = new ArrayList<ProgramBlock>();
+		ArrayList<ProgramBlock> pbs = new ArrayList<>();
 		String tmpdata = in.substring(PARFOR_PBS_BEGIN.length(),in.length()-PARFOR_PBS_END.length());
 		HierarchyAwareStringTokenizer st = new HierarchyAwareStringTokenizer(tmpdata, ELEMENT_DELIM);
 		
@@ -1564,8 +1564,8 @@ public class ProgramConverter
 		//program blocks
 		ArrayList<ProgramBlock> pbs = rParseProgramBlocks(st.nextToken(), prog, id);
 
-		ArrayList<DataIdentifier> tmp1 = new ArrayList<DataIdentifier>(dat1);
-		ArrayList<DataIdentifier> tmp2 = new ArrayList<DataIdentifier>(dat2);
+		ArrayList<DataIdentifier> tmp1 = new ArrayList<>(dat1);
+		ArrayList<DataIdentifier> tmp2 = new ArrayList<>(dat2);
 		FunctionProgramBlock fpb = new FunctionProgramBlock(prog, tmp1, tmp2);
 		fpb.setInstructions(inst);
 		fpb.setChildBlocks(pbs);
@@ -1595,8 +1595,8 @@ public class ProgramConverter
 		//program blocks
 		ArrayList<ProgramBlock> pbs = rParseProgramBlocks(st.nextToken(), prog, id);
 
-		ArrayList<DataIdentifier> tmp1 = new ArrayList<DataIdentifier>(dat1);
-		ArrayList<DataIdentifier> tmp2 = new ArrayList<DataIdentifier>(dat2);
+		ArrayList<DataIdentifier> tmp1 = new ArrayList<>(dat1);
+		ArrayList<DataIdentifier> tmp2 = new ArrayList<>(dat2);
 		
 		//only CP external functions, because no nested MR jobs for reblocks
 		ExternalFunctionProgramBlockCP efpb = new ExternalFunctionProgramBlockCP(prog, tmp1, tmp2, dat3, basedir);
@@ -1622,49 +1622,40 @@ public class ProgramConverter
 	private static ArrayList<Instruction> parseInstructions( String in, int id ) 
 		throws DMLRuntimeException
 	{
-		ArrayList<Instruction> insts = new ArrayList<Instruction>();  
-
+		ArrayList<Instruction> insts = new ArrayList<>();
 		String lin = in.substring( PARFOR_INST_BEGIN.length(),in.length()-PARFOR_INST_END.length()); 
 		StringTokenizer st = new StringTokenizer(lin, ELEMENT_DELIM);
-		while(st.hasMoreTokens())
-		{
+		while(st.hasMoreTokens()) {
 			//Note that at this point only CP instructions and External function instruction can occur
 			String instStr = st.nextToken(); 
-			
-			try
-			{
+			try {
 				Instruction tmpinst = CPInstructionParser.parseSingleInstruction(instStr);
 				tmpinst = saveReplaceThreadID(tmpinst, CP_ROOT_THREAD_ID, CP_CHILD_THREAD+id );
 				insts.add( tmpinst );
 			}
-			catch(Exception ex)
-			{
+			catch(Exception ex) {
 				throw new DMLRuntimeException("Failed to parse instruction: " + instStr, ex);
 			}
 		}
-		
 		return insts;
 	}
 
-	private static HashMap<String,String> parseStringHashMap( String in )
-	{
-		HashMap<String,String> vars = new HashMap<String, String>();
+	private static HashMap<String,String> parseStringHashMap( String in ) {
+		HashMap<String,String> vars = new HashMap<>();
 		StringTokenizer st = new StringTokenizer(in,ELEMENT_DELIM);
-		while( st.hasMoreTokens() )
-		{
+		while( st.hasMoreTokens() ) {
 			String lin = st.nextToken();
 			int index = lin.indexOf( KEY_VALUE_DELIM );
 			String tmp1 = lin.substring(0, index);
-			String tmp2 = lin.substring(index + 1);			
+			String tmp2 = lin.substring(index + 1);
 			vars.put(tmp1, tmp2);
 		}
-		
 		return vars;
 	}
 
 	private static ArrayList<String> parseStringArrayList( String in )
 	{
-		ArrayList<String> vars = new ArrayList<String>();
+		ArrayList<String> vars = new ArrayList<>();
 		StringTokenizer st = new StringTokenizer(in,ELEMENT_DELIM);
 		while( st.hasMoreTokens() ) {
 			String tmp = st.nextToken();
@@ -1676,7 +1667,7 @@ public class ProgramConverter
 
 	private static ArrayList<DataIdentifier> parseDataIdentifiers( String in )
 	{
-		ArrayList<DataIdentifier> vars = new ArrayList<DataIdentifier>();
+		ArrayList<DataIdentifier> vars = new ArrayList<>();
 		StringTokenizer st = new StringTokenizer(in, ELEMENT_DELIM);
 		while( st.hasMoreTokens() ) {
 			String tmp = st.nextToken();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForMR.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForMR.java
index 2bccdba..800cdb4 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForMR.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForMR.java
@@ -244,7 +244,7 @@ public class RemoteDPParForMR
 	public static LocalVariableMap [] readResultFile( JobConf job, String fname )
 		throws DMLRuntimeException, IOException
 	{
-		HashMap<Long,LocalVariableMap> tmp = new HashMap<Long,LocalVariableMap>();
+		HashMap<Long,LocalVariableMap> tmp = new HashMap<>();
 
 		Path path = new Path(fname);
 		FileSystem fs = IOUtilFunctions.getFileSystem(path, job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSpark.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSpark.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSpark.java
index 3246cb7..4562b06 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSpark.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSpark.java
@@ -197,7 +197,7 @@ public class RemoteDPParForSpark
 
 		@Override
 		public Tuple2<Long, Iterable<Writable>> call(Tuple2<Long, Writable> arg0) throws Exception {
-			return new Tuple2<Long, Iterable<Writable>>(arg0._1(), Collections.singletonList(arg0._2()));
+			return new Tuple2<>(arg0._1(), Collections.singletonList(arg0._2()));
 		}
 	}
 	
@@ -247,9 +247,7 @@ public class RemoteDPParForSpark
 					mb.appendValue(0, j-off, UtilFunctions.getDouble(row.get(j)));
 			}
 			mb.examSparsity();
-			
-			return new Tuple2<Long, Writable>(rowix, 
-					new PairWritableBlock(new MatrixIndexes(1,1),mb));
+			return new Tuple2<>(rowix, new PairWritableBlock(new MatrixIndexes(1,1),mb));
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.java
index dbc3fbf..367cc8b 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.java
@@ -99,7 +99,7 @@ public class RemoteDPParForSparkWorker extends ParWorker implements PairFlatMapF
 	public Iterator<Tuple2<Long, String>> call(Iterator<Tuple2<Long, Iterable<Writable>>> arg0)
 		throws Exception 
 	{
-		ArrayList<Tuple2<Long,String>> ret = new ArrayList<Tuple2<Long,String>>();
+		ArrayList<Tuple2<Long,String>> ret = new ArrayList<>();
 		
 		//lazy parworker initialization
 		configureWorker( TaskContext.get().taskAttemptId() );
@@ -119,15 +119,15 @@ public class RemoteDPParForSparkWorker extends ParWorker implements PairFlatMapF
 			//update in-memory matrix partition
 			MatrixObject mo = _ec.getMatrixObject( _inputVar );
 			mo.setInMemoryPartition( partition );
-					
+			
 			//create tasks for input data
 			Task lTask = new Task(TaskType.SET);
 			lTask.addIteration( new IntObject(_iterVar, larg._1()) );
-						
+			
 			//execute program
 			long numIter = getExecutedIterations();
 			super.executeTask( lTask );
-					
+			
 			//maintain accumulators
 			_aTasks.add( 1 );
 			_aIters.add( (int)(getExecutedIterations()-numIter) );
@@ -136,7 +136,7 @@ public class RemoteDPParForSparkWorker extends ParWorker implements PairFlatMapF
 		//write output if required (matrix indexed write) 
 		ArrayList<String> tmp = RemoteParForUtils.exportResultVariables( _workerID, _ec.getVariables(), _resultVars );
 		for( String val : tmp )
-			ret.add(new Tuple2<Long,String>(_workerID, val));
+			ret.add(new Tuple2<>(_workerID, val));
 		
 		return ret.iterator();
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 02eb309..410fe86 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
@@ -48,7 +48,6 @@ import org.apache.sysml.runtime.io.IOUtilFunctions;
  */
 public class RemoteParForColocatedFileSplit extends FileSplit
 {
-	
 	private String _fname = null;
 	private int    _blen  = 1;
 	
@@ -57,9 +56,8 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 	 * via reflection (since private not inherited from FileSplit).
 	 */
 	@SuppressWarnings("unused")
-	private RemoteParForColocatedFileSplit()
-	{
-		super( null, -1, -1, new String[]{} );	
+	private RemoteParForColocatedFileSplit() {
+		super( null, -1, -1, new String[]{} );
 	}
 	
 	public RemoteParForColocatedFileSplit( FileSplit split, String fname, int blen ) 
@@ -99,7 +97,7 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 		Task t = Task.parseCompactString( value.toString() );
 		
 		//get all locations
-		HashMap<String, Integer> hosts = new HashMap<String,Integer>();
+		HashMap<String, Integer> hosts = new HashMap<>();
 		
 		if( t.getType() == TaskType.SET )
 		{
@@ -132,10 +130,8 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 		return getTopHosts(hosts);
 	}
 
-	private static void countHosts( HashMap<String,Integer> hosts, String[] names )
-	{
-		for( String name : names )
-		{
+	private static void countHosts( HashMap<String,Integer> hosts, String[] names ) {
+		for( String name : names ) {
 			Integer tmp = hosts.get(name);
 			if( tmp != null )
 				hosts.put(name, tmp+1);
@@ -144,11 +140,9 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 		}
 	}
 
-	private static 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>();
-		
+		HashSet<String> maxName = new HashSet<>();
 		for( Entry<String,Integer> e : hosts.entrySet() )
 			if( e.getValue() > max ) {
 				maxName.clear();
@@ -157,8 +151,6 @@ public class RemoteParForColocatedFileSplit extends FileSplit
 			}
 			else if( e.getValue() == max )
 				maxName.add(e.getKey());
-		
-		//System.out.println("HOSTS: "+ProgramConverter.serializeStringHashSet(maxName));
 		return maxName.toArray(new String[0]);
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
index 1a3b8c3..1994628 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
@@ -255,7 +255,7 @@ public class RemoteParForMR
 	public static LocalVariableMap [] readResultFile( JobConf job, String fname )
 		throws DMLRuntimeException, IOException
 	{
-		HashMap<Long,LocalVariableMap> tmp = new HashMap<Long,LocalVariableMap>();
+		HashMap<Long,LocalVariableMap> tmp = new HashMap<>();
 
 		Path path = new Path(fname);
 		FileSystem fs = IOUtilFunctions.getFileSystem(path, job);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
index ec61cee..614f946 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
@@ -86,10 +86,10 @@ public class RemoteParForSparkWorker extends ParWorker implements PairFlatMapFun
 		
 		//write output if required (matrix indexed write) 
 		//note: this copy is necessary for environments without spark libraries
-		ArrayList<Tuple2<Long,String>> ret = new ArrayList<Tuple2<Long,String>>();
+		ArrayList<Tuple2<Long,String>> ret = new ArrayList<>();
 		ArrayList<String> tmp = RemoteParForUtils.exportResultVariables( _workerID, _ec.getVariables(), _resultVars );
 		for( String val : tmp )
-			ret.add(new Tuple2<Long,String>(_workerID, val));
+			ret.add(new Tuple2<>(_workerID, val));
 		
 		return ret.iterator();
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForUtils.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForUtils.java
index fd99429..30c57b8 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForUtils.java
@@ -164,7 +164,7 @@ public class RemoteParForUtils
 	public static ArrayList<String> exportResultVariables( long workerID, LocalVariableMap vars, ArrayList<String> resultVars) 
 		throws DMLRuntimeException, IOException
 	{
-		ArrayList<String> ret = new ArrayList<String>();
+		ArrayList<String> ret = new ArrayList<>();
 		
 		//foreach result variables probe if export necessary
 		for( String rvar : resultVars )
@@ -225,7 +225,7 @@ public class RemoteParForUtils
 	public static LocalVariableMap[] getResults( List<Tuple2<Long,String>> out, Log LOG ) 
 		throws DMLRuntimeException
 	{
-		HashMap<Long,LocalVariableMap> tmp = new HashMap<Long,LocalVariableMap>();
+		HashMap<Long,LocalVariableMap> tmp = new HashMap<>();
 
 		int countAll = 0;
 		for( Tuple2<Long,String> entry : out )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
index 6ce5d18..730adbd 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
@@ -63,10 +63,9 @@ public class RemoteParWorkerMapper extends ParWorker  //MapReduceBase not requir
 	protected String  _stringID       = null; 
 	protected HashMap<String, String> _rvarFnames = null; 
 	
-	static
-	{
+	static {
 		//init cache (once per JVM)
-		_sCache = new HashMap<String, RemoteParWorkerMapper>();
+		_sCache = new HashMap<>();
 	}
 	
 	
@@ -74,7 +73,7 @@ public class RemoteParWorkerMapper extends ParWorker  //MapReduceBase not requir
 	{
 		//only used if JVM reuse is enabled in order to ensure consistent output 
 		//filenames across tasks of one reused worker (preaggregation)
-		_rvarFnames = new HashMap<String, String>();
+		_rvarFnames = new HashMap<>();
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
index 2b10a86..86c60dd 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
@@ -19,7 +19,7 @@
 
 package org.apache.sysml.runtime.controlprogram.parfor;
 
-import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -149,27 +149,17 @@ public abstract class ResultMerge
 		}	
 	}
 
-	protected long computeNonZeros( MatrixObject out, ArrayList<MatrixObject> in )
+	protected long computeNonZeros( MatrixObject out, List<MatrixObject> in )
 	{
 		MatrixCharacteristics mc = out.getMatrixCharacteristics();
 		long outNNZ = mc.getNonZeros();	
 		long ret = outNNZ;
-		for( MatrixObject tmp : in )
-		{
+		for( MatrixObject tmp : in ) {
 			MatrixCharacteristics tmpmc = tmp.getMatrixCharacteristics();
 			long inNNZ = tmpmc.getNonZeros();
-			ret +=  (inNNZ - outNNZ);			
+			ret +=  (inNNZ - outNNZ);
 		}
 		
 		return ret;
 	}
-
-	protected ArrayList<MatrixObject> convertToList(MatrixObject[] in)
-	{
-		ArrayList<MatrixObject> ret = new ArrayList<MatrixObject>();
-		for( MatrixObject mo : in )
-			ret.add( mo );
-		
-		return ret;
-	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 1e7efb6..638a845 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
@@ -151,9 +151,8 @@ public class ResultMergeLocalMemory extends ResultMerge
 		{
 			//get matrix blocks through caching 
 			MatrixBlock outMB = _output.acquireRead();
-			ArrayList<MatrixObject> inMO = new ArrayList<MatrixObject>();
-			for( MatrixObject in : _inputs )
-			{
+			ArrayList<MatrixObject> inMO = new ArrayList<>();
+			for( MatrixObject in : _inputs ) {
 				//check for empty inputs (no iterations executed)
 				if( in !=null && in != _output ) 
 					inMO.add( in );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
index e2377c4..909d0d0 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
@@ -97,26 +97,20 @@ public class ResultMergeRemoteMR extends ResultMerge
 		throws DMLRuntimeException 
 	{
 		MatrixObject moNew = null; //always create new matrix object (required for nested parallelism)
-
-		//Timing time = null;
-		LOG.trace("ResultMerge (remote, mr): Execute serial merge for output "+_output.getVarName()+" (fname="+_output.getFileName()+")");
-		//	time = new Timing();
-		//	time.start();
-		
+		if( LOG.isTraceEnabled() )
+			LOG.trace("ResultMerge (remote, mr): Execute serial merge for output "
+				+_output.getVarName()+" (fname="+_output.getFileName()+")");
 		
 		try
 		{
 			//collect all relevant inputs
-			Collection<String> srcFnames = new LinkedList<String>();
-			ArrayList<MatrixObject> inMO = new ArrayList<MatrixObject>();
-			for( MatrixObject in : _inputs )
-			{
+			Collection<String> srcFnames = new LinkedList<>();
+			ArrayList<MatrixObject> inMO = new ArrayList<>();
+			for( MatrixObject in : _inputs ) {
 				//check for empty inputs (no iterations executed)
-				if( in !=null && in != _output ) 
-				{
+				if( in !=null && in != _output )  {
 					//ensure that input file resides on disk
 					in.exportData();
-					
 					//add to merge list
 					srcFnames.add( in.getFileName() );
 					inMO.add(in);
@@ -166,7 +160,7 @@ public class ResultMergeRemoteMR extends ResultMerge
 
 		//LOG.trace("ResultMerge (local, file): Executed serial merge for output "+_output.getVarName()+" (fname="+_output.getFileName()+") in "+time.stop()+"ms");
 		
-		return moNew;		
+		return moNew;
 	}
 
 	@SuppressWarnings({ "unused", "deprecation" })
@@ -316,12 +310,11 @@ public class ResultMergeRemoteMR extends ResultMerge
 		catch(Exception ex)
 		{
 			throw new DMLRuntimeException(ex);
-		}		
+		}
 		
 		if( DMLScript.STATISTICS ){
 			long t1 = System.nanoTime();
 			Statistics.maintainCPHeavyHitters("MR-Job_"+jobname, t1-t0);
 		}
 	}
-	
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteReducer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteReducer.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteReducer.java
index 2314845..7d59230 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteReducer.java
@@ -132,7 +132,7 @@ public class ResultMergeRemoteReducer
 				//scan for compare object (incl result merge if compare available)
 				MatrixIndexes key2 = (MatrixIndexes) key;
 				Double cellCompare = null;
-				Collection<Double> cellList = new LinkedList<Double>();
+				Collection<Double> cellList = new LinkedList<>();
 				boolean found = false;
 				while( valueList.hasNext() ) {
 					TaggedMatrixCell tVal = (TaggedMatrixCell) valueList.next();
@@ -228,7 +228,7 @@ public class ResultMergeRemoteReducer
 				
 				//scan for compare object (incl result merge if compare available)
 				Double cellCompare = null;
-				Collection<Double> cellList = new LinkedList<Double>();
+				Collection<Double> cellList = new LinkedList<>();
 				boolean found = false;
 				while( valueList.hasNext() ) {
 					TaggedMatrixCell tVal = (TaggedMatrixCell) valueList.next();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 6ff8d65..95dbb8b 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
@@ -20,6 +20,8 @@
 package org.apache.sysml.runtime.controlprogram.parfor;
 
 
+import java.util.Arrays;
+
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapred.FileInputFormat;
 import org.apache.hadoop.mapred.JobConf;
@@ -101,7 +103,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
 				InputInfo iiOld = metadata.getInputInfo();
 				MatrixCharacteristics mc = new MatrixCharacteristics(mcOld.getRows(),mcOld.getCols(),
 						                                             mcOld.getRowsPerBlock(),mcOld.getColsPerBlock());
-				mc.setNonZeros( computeNonZeros(_output, convertToList(_inputs)) );
+				mc.setNonZeros( computeNonZeros(_output, Arrays.asList(_inputs)) );
 				MatrixFormatMetaData meta = new MatrixFormatMetaData(mc,oiOld,iiOld);
 				moNew.setMetaData( meta );
 				moNew.setRDDHandle( ro );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.java
index 3fe6a50..007f1ac 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.java
@@ -53,7 +53,7 @@ public class ResultMergeRemoteSparkWCompare extends ResultMerge implements PairF
 			mergeWithComp(out, din.next(), compare);
 		
 		//create output tuple
-		return new Tuple2<MatrixIndexes,MatrixBlock>(new MatrixIndexes(ixin), out);
+		return new Tuple2<>(new MatrixIndexes(ixin), out);
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/Task.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/Task.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/Task.java
index de6a9d0..7edb3f2 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/Task.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/Task.java
@@ -54,42 +54,33 @@ public class Task implements Serializable
 		//default constructor for serialize
 	}
 	
-	public Task( TaskType type )
-	{
+	public Task( TaskType type ) {
 		_type = type;
-		
-		_iterations = new LinkedList<IntObject>();
+		_iterations = new LinkedList<>();
 	}
 	
-	public void addIteration( IntObject indexVal ) 
-	{
+	public void addIteration( IntObject indexVal )  {
 		if( indexVal.getName().length() > MAX_VARNAME_SIZE )
 			throw new RuntimeException("Cannot add iteration, MAX_VARNAME_SIZE exceeded.");
-		
 		if( size() >= MAX_TASK_SIZE )
 			throw new RuntimeException("Cannot add iteration, MAX_TASK_SIZE reached.");
-			
 		_iterations.addLast( indexVal );
 	}
 	
-	public List<IntObject> getIterations()
-	{
+	public List<IntObject> getIterations() {
 		return _iterations;
 	}
 	
-	public TaskType getType()
-	{
+	public TaskType getType() {
 		return _type;
 	}
 	
-	public int size()
-	{
+	public int size() {
 		return _iterations.size();
 	}
 
 	@Override
-	public String toString() 
-	{
+	public String toString() {
 		return toFormatedString();
 	}
 
@@ -176,7 +167,7 @@ public class Task implements Serializable
 
 	public static Task parseCompactString( String stask )
 	{
-		StringTokenizer st = new StringTokenizer( stask.trim(), "." );		
+		StringTokenizer st = new StringTokenizer( stask.trim(), "." );
 		
 		Task newTask = new Task( TaskType.valueOf(st.nextToken()) );
 		String meta = st.nextToken();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFactoring.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFactoring.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFactoring.java
index 7dd25bf..4a00037 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFactoring.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFactoring.java
@@ -55,12 +55,10 @@ public class TaskPartitionerFactoring extends TaskPartitioner
 	public List<Task> createTasks() 
 		throws DMLRuntimeException 
 	{
-		LinkedList<Task> tasks = new LinkedList<Task>();
-		
+		LinkedList<Task> tasks = new LinkedList<>();
 		long lFrom = _fromVal.getLongValue();
 		long lTo = _toVal.getLongValue();
 		long lIncr = _incrVal.getLongValue();
-		
 		int P = _numThreads;  // number of parallel workers
 		long N = _numIter;    // total number of iterations
 		long R = N;           // remaining number of iterations

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFixedsize.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFixedsize.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFixedsize.java
index f5455f5..d69837f 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFixedsize.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerFixedsize.java
@@ -35,7 +35,6 @@ import org.apache.sysml.runtime.instructions.cp.IntObject;
  */
 public class TaskPartitionerFixedsize extends TaskPartitioner
 {
-	
 	protected int _firstnPlus1 = 0; //add one to these firstn tasks
  	
 	public TaskPartitionerFixedsize( long taskSize, String iterVarName, IntObject fromVal, IntObject toVal, IntObject incrVal ) 
@@ -47,7 +46,7 @@ public class TaskPartitionerFixedsize extends TaskPartitioner
 	public List<Task> createTasks() 
 		throws DMLRuntimeException 
 	{
-		LinkedList<Task> tasks = new LinkedList<Task>();
+		LinkedList<Task> tasks = new LinkedList<>();
 		
 		//range tasks (similar to run-length encoding) make only sense if taskSize>3
 		TaskType type = (ParForProgramBlock.USE_RANGE_TASKS_IF_USEFUL && _taskSize>3 ) ? 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/MergedMRJobInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/MergedMRJobInstruction.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/MergedMRJobInstruction.java
index 0021667..93e428d 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/MergedMRJobInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/MergedMRJobInstruction.java
@@ -41,9 +41,9 @@ public class MergedMRJobInstruction
 	
 	public MergedMRJobInstruction()
 	{
-		ids = new LinkedList<Long>();
-		outIxOffs = new HashMap<Long,Integer>();
-		outIxLens = new HashMap<Long,Integer>();
+		ids = new LinkedList<>();
+		outIxOffs = new HashMap<>();
+		outIxLens = new HashMap<>();
 	}
 	
 	public void addInstructionMetaData(long instID, int outIxOffset, int outIxLen)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorker.java
index fd3a4fc..73ae779 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorker.java
@@ -41,7 +41,7 @@ public abstract class PiggybackingWorker extends Thread
 	
 	protected PiggybackingWorker()
 	{
-		_results = new HashMap<Long, JobReturn>();
+		_results = new HashMap<>();
 		_stop = false;
 	}
 
@@ -80,7 +80,7 @@ public abstract class PiggybackingWorker extends Thread
 	protected LinkedList<MergedMRJobInstruction> mergeMRJobInstructions( LinkedList<Pair<Long,MRJobInstruction>> workingSet ) 
 		throws IllegalAccessException
 	{
-		LinkedList<MergedMRJobInstruction> ret = new LinkedList<MergedMRJobInstruction>();
+		LinkedList<MergedMRJobInstruction> ret = new LinkedList<>();
 		Timing time = new Timing(true);
 		
 		//NOTE currently all merged into one (might be invalid due to memory constraints)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerTimeSequential.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerTimeSequential.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerTimeSequential.java
index 98fae95..33ce803 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerTimeSequential.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerTimeSequential.java
@@ -85,7 +85,7 @@ public class PiggybackingWorkerTimeSequential extends PiggybackingWorker
 						LOG.error("Failed to run merged mr-job instruction:\n"+minst.inst.toString()); 
 					
 					// split job return
-					LinkedList<JobReturn> ret = new LinkedList<JobReturn>();
+					LinkedList<JobReturn> ret = new LinkedList<>();
 					for( Long id : minst.ids ){
 						ret.add( minst.constructJobReturn(id, mret) );
 						Statistics.decrementNoOfExecutedMRJobs();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilDecayParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilDecayParallel.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilDecayParallel.java
index 2ae8062..26f17ab 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilDecayParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilDecayParallel.java
@@ -149,7 +149,7 @@ public class PiggybackingWorkerUtilDecayParallel extends PiggybackingWorker
 					LOG.error("Failed to run merged mr-job instruction:\n"+_minst.inst.toString()); 
 				
 				// split job return
-				LinkedList<JobReturn> ret = new LinkedList<JobReturn>();
+				LinkedList<JobReturn> ret = new LinkedList<>();
 				for( Long id : _minst.ids ){
 					ret.add( _minst.constructJobReturn(id, mret) );
 					Statistics.decrementNoOfExecutedMRJobs();
@@ -163,7 +163,7 @@ public class PiggybackingWorkerUtilDecayParallel extends PiggybackingWorker
 				
 				//handle unsuccessful job returns for failed job 
 				//(otherwise clients would literally wait forever for results)
-				LinkedList<JobReturn> ret = new LinkedList<JobReturn>();
+				LinkedList<JobReturn> ret = new LinkedList<>();
 				for( Long id : _minst.ids ){
 					JobReturn fret = new JobReturn(new MatrixCharacteristics[_minst.outIxLens.get(id)], false); 
 					ret.add( _minst.constructJobReturn(id, fret) );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilTimeParallel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilTimeParallel.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilTimeParallel.java
index ddb33ba..25c45d8 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilTimeParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/PiggybackingWorkerUtilTimeParallel.java
@@ -148,7 +148,7 @@ public class PiggybackingWorkerUtilTimeParallel extends PiggybackingWorker
 					LOG.error("Failed to run merged mr-job instruction:\n"+_minst.inst.toString()); 
 				
 				// split job return
-				LinkedList<JobReturn> ret = new LinkedList<JobReturn>();
+				LinkedList<JobReturn> ret = new LinkedList<>();
 				for( Long id : _minst.ids ){
 					ret.add( _minst.constructJobReturn(id, mret) );
 					Statistics.decrementNoOfExecutedMRJobs();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/RuntimePiggybacking.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/RuntimePiggybacking.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/RuntimePiggybacking.java
index 66c882e..bab457b 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/RuntimePiggybacking.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/mqo/RuntimePiggybacking.java
@@ -55,8 +55,8 @@ public class RuntimePiggybacking
 	static
 	{
 		//initialize mr-job instruction pool
-		_pool = new HashMap<JobType, LinkedList<Long>>();	
-		_jobs = new HashMap<Long, MRJobInstruction>();
+		_pool = new HashMap<>();	
+		_jobs = new HashMap<>();
 		
 		//init id sequence
 		_idSeq = new IDSequence();
@@ -200,10 +200,10 @@ public class RuntimePiggybacking
 				return null;
 				
 			//create working set and remove from pool
-			ret = new LinkedList<Pair<Long,MRJobInstruction>>();
+			ret = new LinkedList<>();
 			LinkedList<Long> tmp = _pool.remove(currType);
 			for( Long id : tmp )
-				ret.add( new Pair<Long, MRJobInstruction>(id,_jobs.get(id)) );
+				ret.add( new Pair<>(id,_jobs.get(id)) );
 		}
 		
 		return ret;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptNode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptNode.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptNode.java
index 2464bf6..1707d3e 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptNode.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptNode.java
@@ -22,7 +22,6 @@ package org.apache.sysml.runtime.controlprogram.parfor.opt;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.LinkedList;
 import java.util.Set;
 
 import org.apache.commons.lang.ArrayUtils;
@@ -143,7 +142,7 @@ public class OptNode
 	
 	public void addParam(ParamType ptype, String val) {
 		if( _params == null )
-			_params = new HashMap<ParamType, String>();
+			_params = new HashMap<>();
 		_params.put(ptype, val);
 	}
 
@@ -179,13 +178,13 @@ public class OptNode
 	
 	public void addChild( OptNode child ) {
 		if( _childs==null )
-			_childs = new ArrayList<OptNode>();
+			_childs = new ArrayList<>();
 		_childs.add( child );
 	}
 	
 	public void addChilds( ArrayList<OptNode> childs ) {
 		if( _childs==null )
-			_childs = new ArrayList<OptNode>();
+			_childs = new ArrayList<>();
 		_childs.addAll( childs );
 	}
 	
@@ -260,7 +259,7 @@ public class OptNode
 	//recursive methods
 
 	public Collection<OptNode> getNodeList() {
-		Collection<OptNode> nodes = new LinkedList<OptNode>();
+		Collection<OptNode> nodes = new ArrayList<>();
 		if(!isLeaf())
 			for( OptNode n : _childs )
 				nodes.addAll( n.getNodeList() );
@@ -269,7 +268,7 @@ public class OptNode
 	}
 
 	public Collection<OptNode> getNodeList( ExecType et ) {
-		Collection<OptNode> nodes = new LinkedList<OptNode>();
+		Collection<OptNode> nodes = new ArrayList<>();
 		if(!isLeaf())
 			for( OptNode n : _childs )
 				nodes.addAll( n.getNodeList( et ) );
@@ -279,7 +278,7 @@ public class OptNode
 	}
 
 	public Collection<OptNode> getRelevantNodeList() {
-		Collection<OptNode> nodes = new LinkedList<OptNode>();
+		Collection<OptNode> nodes = new ArrayList<>();
 		if( !isLeaf() )
 			for( OptNode n : _childs )
 				nodes.addAll( n.getRelevantNodeList() );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
index 5676869..d5b990b 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
@@ -96,7 +96,7 @@ public class OptTreeConverter
 		{
 			case ABSTRACT_PLAN:
 				_hlMap.putRootProgram(pfsb.getDMLProg(), pfpb.getProgram());
-				Set<String> memo = new HashSet<String>();
+				Set<String> memo = new HashSet<>();
 				root = rCreateAbstractOptNode(pfsb, pfpb, ec.getVariables(), true, memo);	
 				root.checkAndCleanupRecursiveFunc(new HashSet<String>()); //create consistency between recursive info
 				root.checkAndCleanupLeafNodes(); //prune unnecessary nodes
@@ -249,7 +249,7 @@ public class OptTreeConverter
 	public static ArrayList<OptNode> createOptNodes (ArrayList<Instruction> instset, LocalVariableMap vars, boolean storeObjs) 
 		throws DMLRuntimeException
 	{
-		ArrayList<OptNode> tmp = new ArrayList<OptNode>(instset.size());
+		ArrayList<OptNode> tmp = new ArrayList<>(instset.size());
 		for( Instruction inst : instset )
 			tmp.add( createOptNode(inst,vars,storeObjs) );
 		return tmp;
@@ -481,7 +481,7 @@ public class OptTreeConverter
 	public static ArrayList<OptNode> createAbstractOptNodes(ArrayList<Hop> hops, LocalVariableMap vars, Set<String> memo ) 
 		throws DMLRuntimeException, HopsException 
 	{
-		ArrayList<OptNode> ret = new ArrayList<OptNode>(); 
+		ArrayList<OptNode> ret = new ArrayList<>(); 
 		
 		//reset all hops
 		Hop.resetVisitStatus(hops);
@@ -497,7 +497,7 @@ public class OptTreeConverter
 	public static ArrayList<OptNode> rCreateAbstractOptNodes(Hop hop, LocalVariableMap vars, Set<String> memo) 
 		throws DMLRuntimeException, HopsException 
 	{
-		ArrayList<OptNode> ret = new ArrayList<OptNode>(); 
+		ArrayList<OptNode> ret = new ArrayList<>(); 
 		ArrayList<Hop> in = hop.getInput();
 	
 		if( hop.isVisited() )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
index 2342b76..597b7c0 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
@@ -152,7 +152,7 @@ public class OptTreePlanChecker
 		root.resetVisitStatus();
 		
 		//get all function op in this dag
-		HashMap<String, FunctionOp> fops = new HashMap<String, FunctionOp>();
+		HashMap<String, FunctionOp> fops = new HashMap<>();
 		getAllFunctionOps(root, fops);
 		
 		for( Instruction linst : inst )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMapping.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMapping.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMapping.java
index c1d1f88..4f9bd69 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMapping.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMapping.java
@@ -38,7 +38,7 @@ public class OptTreePlanMapping
 	public OptTreePlanMapping()
 	{
 		_idSeq = new IDSequence();
-		_id_optnode = new HashMap<Long, OptNode>();
+		_id_optnode = new HashMap<>();
 	}
 
 	public OptNode getOptNode( long id )