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

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

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
index f8d0a1b..67978cb 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java
@@ -76,12 +76,12 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 	{
 		//DAG splits not required for forced single node
 		if( DMLScript.rtplatform == RUNTIME_PLATFORM.SINGLE_NODE )
-			return new ArrayList<StatementBlock>(Arrays.asList(sb));
+			return new ArrayList<>(Arrays.asList(sb));
 		
-		ArrayList<StatementBlock> ret = new ArrayList<StatementBlock>();
+		ArrayList<StatementBlock> ret = new ArrayList<>();
 	
 		//collect all unknown csv reads hops
-		ArrayList<Hop> cand = new ArrayList<Hop>();
+		ArrayList<Hop> cand = new ArrayList<>();
 		collectDataDependentOperators( sb.get_hops(), cand );
 		Hop.resetVisitStatus(sb.get_hops());
 		
@@ -89,7 +89,7 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 		if( !cand.isEmpty() )
 		{
 			//collect child operators of candidates (to prevent rewrite anomalies)
-			HashSet<Hop> candChilds = new HashSet<Hop>();
+			HashSet<Hop> candChilds = new HashSet<>();
 			collectCandidateChildOperators( cand, candChilds );
 			
 			try
@@ -103,7 +103,7 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 				
 				//move data-dependent ops incl transient writes to new statement block
 				//(and replace original persistent read with transient read)
-				ArrayList<Hop> sb1hops = new ArrayList<Hop>();			
+				ArrayList<Hop> sb1hops = new ArrayList<>();
 				for( Hop c : cand )
 				{
 					//if there are already transient writes use them and don't introduce artificial variables; 
@@ -128,12 +128,12 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 						
 						//create new transient read
 						DataOp tread = new DataOp(varname, c.getDataType(), c.getValueType(),
-			                    DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
+							DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
 						tread.setVisited();
 						HopRewriteUtils.copyLineNumbers(c, tread);
 						
 						//replace data-dependent operator with transient read
-						ArrayList<Hop> parents = new ArrayList<Hop>(c.getParent());
+						ArrayList<Hop> parents = new ArrayList<>(c.getParent());
 						for( int i=0; i<parents.size(); i++ ) {
 							//prevent concurrent modification by index access
 							Hop parent = parents.get(i);
@@ -154,12 +154,12 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 						
 						//create new transient read
 						DataOp tread = new DataOp(varname, c.getDataType(), c.getValueType(),
-			                    DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
+							DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
 						tread.setVisited();
 						HopRewriteUtils.copyLineNumbers(c, tread);
 						
 						//replace data-dependent operator with transient read
-						ArrayList<Hop> parents = new ArrayList<Hop>(c.getParent());						
+						ArrayList<Hop> parents = new ArrayList<>(c.getParent());
 						for( int i=0; i<parents.size(); i++ ) {
 							//prevent concurrent modification by index access
 							Hop parent = parents.get(i);
@@ -337,13 +337,13 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 	private void handleReplicatedOperators( ArrayList<Hop> rootsSB1, ArrayList<Hop> rootsSB2, VariableSet sb1out, VariableSet sb2in )
 	{
 		//step 1: create probe set SB1
-		HashSet<Hop> probeSet = new HashSet<Hop>();
+		HashSet<Hop> probeSet = new HashSet<>();
 		Hop.resetVisitStatus(rootsSB1);
 		for( Hop h : rootsSB1 )
 			rAddHopsToProbeSet( h, probeSet );
 		
 		//step 2: probe SB2 operators top-down (collect cut candidates)
-		HashSet<Pair<Hop,Hop>> candSet = new HashSet<Pair<Hop,Hop>>();
+		HashSet<Pair<Hop,Hop>> candSet = new HashSet<>();
 		Hop.resetVisitStatus(rootsSB2);
 		for( Hop h : rootsSB2 )
 			rProbeAndAddHopsToCandidateSet(h, probeSet, candSet);
@@ -424,7 +424,7 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite
 					rProbeAndAddHopsToCandidateSet(c, probeSet, candSet);
 				else
 				{
-					candSet.add(new Pair<Hop,Hop>(hop,c)); 
+					candSet.add(new Pair<>(hop,c)); 
 				}
 			}
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java
index ef8d9dc..e9a6407 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java
@@ -53,10 +53,10 @@ public class RewriteSplitDagUnknownCSVRead extends StatementBlockRewriteRule
 		if( DMLScript.rtplatform == RUNTIME_PLATFORM.SINGLE_NODE )
 			return Arrays.asList(sb);
 		
-		ArrayList<StatementBlock> ret = new ArrayList<StatementBlock>();
+		ArrayList<StatementBlock> ret = new ArrayList<>();
 		
 		//collect all unknown csv reads hops
-		ArrayList<Hop> cand = new ArrayList<Hop>();
+		ArrayList<Hop> cand = new ArrayList<>();
 		collectCSVReadHopsUnknownSize( sb.get_hops(), cand );
 		
 		//split hop dag on demand
@@ -73,7 +73,7 @@ public class RewriteSplitDagUnknownCSVRead extends StatementBlockRewriteRule
 				
 				//move csv reads incl reblock to new statement block
 				//(and replace original persistent read with transient read)
-				ArrayList<Hop> sb1hops = new ArrayList<Hop>();			
+				ArrayList<Hop> sb1hops = new ArrayList<>();
 				for( Hop reblock : cand )
 				{
 					long rlen = reblock.getDim1();
@@ -92,11 +92,11 @@ public class RewriteSplitDagUnknownCSVRead extends StatementBlockRewriteRule
 					
 					//create new transient read
 					DataOp tread = new DataOp(reblock.getName(), reblock.getDataType(), reblock.getValueType(),
-		                    DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
+						DataOpTypes.TRANSIENTREAD, null, rlen, clen, nnz, update, brlen, bclen);
 					HopRewriteUtils.copyLineNumbers(reblock, tread);
 					
 					//replace reblock with transient read
-					ArrayList<Hop> parents = new ArrayList<Hop>(reblock.getParent());
+					ArrayList<Hop> parents = new ArrayList<>(reblock.getParent());
 					for( int i=0; i<parents.size(); i++ ) {
 						Hop parent = parents.get(i);
 						HopRewriteUtils.replaceChildReference(parent, reblock, tread);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/Binary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Binary.java b/src/main/java/org/apache/sysml/lops/Binary.java
index d42cb3b..711fd9c 100644
--- a/src/main/java/org/apache/sysml/lops/Binary.java
+++ b/src/main/java/org/apache/sysml/lops/Binary.java
@@ -32,13 +32,12 @@ import org.apache.sysml.parser.Expression.*;
 
 public class Binary extends Lop 
 {
-	
 	public enum OperationTypes {
 		ADD, SUBTRACT, MULTIPLY, DIVIDE, MINUS1_MULTIPLY, MODULUS, INTDIV, MATMULT, 
 		LESS_THAN, LESS_THAN_OR_EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, EQUALS, NOT_EQUALS,
 		AND, OR, 
 		MAX, MIN, POW, SOLVE, NOTSUPPORTED
-	};	
+	}
 
 	private OperationTypes operation;
 	private int numThreads = -1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 f3c757e..8a13710 100644
--- a/src/main/java/org/apache/sysml/lops/CombineBinary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineBinary.java
@@ -36,7 +36,7 @@ public class CombineBinary extends Lop
 {
 
 	
-	public enum OperationTypes {PreSort, PreCentralMoment, PreCovUnweighted, PreGroupedAggUnweighted}; // (PreCovWeighted,PreGroupedAggWeighted) will be CombineTertiary	
+	public enum OperationTypes {PreSort, PreCentralMoment, PreCovUnweighted, PreGroupedAggUnweighted}
 	OperationTypes operation;
 
 	/**
@@ -109,7 +109,7 @@ public class CombineBinary extends Lop
 	public static CombineBinary constructCombineLop(OperationTypes op, Lop input1, 
 			Lop input2, DataType dt, ValueType vt) {
 		
-		HashSet<Lop> set1 = new HashSet<Lop>();
+		HashSet<Lop> set1 = new HashSet<>();
 		set1.addAll(input1.getOutputs());
 		
 		// find intersection of input1.getOutputs() and input2.getOutputs();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 9200f5c..d49e099 100644
--- a/src/main/java/org/apache/sysml/lops/CombineTernary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineTernary.java
@@ -37,7 +37,7 @@ public class CombineTernary extends Lop
 	
 	public enum OperationTypes {
 		PreCovWeighted
-	};
+	}
 
 	OperationTypes operation;
 
@@ -97,7 +97,7 @@ public class CombineTernary extends Lop
 
 	public static CombineTernary constructCombineLop( OperationTypes op, Lop input1, Lop input2, Lop input3, DataType dt, ValueType vt) {
 
-		HashSet<Lop> set1 = new HashSet<Lop>();
+		HashSet<Lop> set1 = new HashSet<>();
 		set1.addAll(input1.getOutputs());
 
 		// find intersection of input1.getOutputs() and input2.getOutputs()

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 4882e3c..a3e92e7 100644
--- a/src/main/java/org/apache/sysml/lops/CombineUnary.java
+++ b/src/main/java/org/apache/sysml/lops/CombineUnary.java
@@ -80,7 +80,7 @@ public class CombineUnary extends Lop
 	public static CombineUnary constructCombineLop(Lop input1, 
 			DataType dt, ValueType vt) {
 		
-		HashSet<Lop> set1 = new HashSet<Lop>();
+		HashSet<Lop> set1 = new HashSet<>();
 		set1.addAll(input1.getOutputs());
 			
 		for (Lop lop  : set1) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 121112b..947b019 100644
--- a/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
+++ b/src/main/java/org/apache/sysml/lops/ConvolutionTransform.java
@@ -33,7 +33,7 @@ public class ConvolutionTransform extends Lop
 		MAX_POOLING, MAX_POOLING_BACKWARD, RELU_MAX_POOLING, RELU_BACKWARD, RELU_MAX_POOLING_BACKWARD,
 		DIRECT_CONV2D, DIRECT_CONV2D_BACKWARD_FILTER, DIRECT_CONV2D_BACKWARD_DATA,
 		BIAS_ADD, DIRECT_CONV2D_BIAS_ADD, BIAS_MULTIPLY
-	};
+	}
 	
 	private OperationTypes operation = null;
 	private int numThreads = -1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 3d5db8a..56601be 100644
--- a/src/main/java/org/apache/sysml/lops/Data.java
+++ b/src/main/java/org/apache/sysml/lops/Data.java
@@ -40,7 +40,7 @@ import org.apache.sysml.parser.Expression.ValueType;
 public class Data extends Lop  
 {
 	
-	public enum OperationTypes {READ,WRITE};
+	public enum OperationTypes {READ,WRITE}
 	
 	FileFormatTypes formatType = FileFormatTypes.BINARY;
 	OperationTypes operation;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/FunctionCallCP.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/FunctionCallCP.java b/src/main/java/org/apache/sysml/lops/FunctionCallCP.java
index 0fb997a..3490b8d 100644
--- a/src/main/java/org/apache/sysml/lops/FunctionCallCP.java
+++ b/src/main/java/org/apache/sysml/lops/FunctionCallCP.java
@@ -44,7 +44,7 @@ public class FunctionCallCP extends Lop
 	{
 		this(inputs, fnamespace, fname, outputs, et);
 		if(outputHops != null) {
-			_outputLops = new ArrayList<Lop>();
+			_outputLops = new ArrayList<>();
 			for(Hop h : outputHops)
 				_outputLops.add( h.constructLops() );
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/Group.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Group.java b/src/main/java/org/apache/sysml/lops/Group.java
index 7fe238b..1bedd7e 100644
--- a/src/main/java/org/apache/sysml/lops/Group.java
+++ b/src/main/java/org/apache/sysml/lops/Group.java
@@ -30,7 +30,7 @@ import org.apache.sysml.parser.Expression.*;
 
 public class Group extends Lop  
 {
-	public enum OperationTypes {Sort};
+	public enum OperationTypes {Sort}
 	
 	OperationTypes operation;
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 238e329..48554d9 100644
--- a/src/main/java/org/apache/sysml/lops/Lop.java
+++ b/src/main/java/org/apache/sysml/lops/Lop.java
@@ -61,14 +61,14 @@ public abstract class Lop
 		SpoofFused,                                         //CP/SP generated fused operator
 		/** CP operation on a variable number of operands */
 		MULTIPLE_CP
-	};
+	}
 
 	/**
 	 * Lop types
 	 */
 	public enum SimpleInstType {
 		Scalar
-	};
+	}
 
 	public enum VisitStatus {
 		DONE, NOTVISITED
@@ -138,8 +138,8 @@ public abstract class Lop
 		type = t;
 		_dataType = dt; // data type of the output produced from this LOP
 		_valueType = vt; // value type of the output produced from this LOP
-		inputs = new ArrayList<Lop>();
-		outputs = new ArrayList<Lop>();
+		inputs = new ArrayList<>();
+		outputs = new ArrayList<>();
 		outParams = new OutputParameters();
 		lps = new LopProperties();
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/LopProperties.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/LopProperties.java b/src/main/java/org/apache/sysml/lops/LopProperties.java
index 5720487..24b43dc 100644
--- a/src/main/java/org/apache/sysml/lops/LopProperties.java
+++ b/src/main/java/org/apache/sysml/lops/LopProperties.java
@@ -39,8 +39,8 @@ public class LopProperties
 	 * </ul>
 	 *
 	 */
-	public enum ExecType { CP, CP_FILE, MR, SPARK, GPU, INVALID };
-	public enum ExecLocation {INVALID, RecordReader, Map, MapOrReduce, MapAndReduce, Reduce, Data, ControlProgram };
+	public enum ExecType { CP, CP_FILE, MR, SPARK, GPU, INVALID }
+	public enum ExecLocation {INVALID, RecordReader, Map, MapOrReduce, MapAndReduce, Reduce, Data, ControlProgram }
 
 	// static variable to assign an unique ID to every lop that is created
 	private static IDSequence UniqueLopID = null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/MultipleCP.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/MultipleCP.java b/src/main/java/org/apache/sysml/lops/MultipleCP.java
index 4e2b5a8..2560861 100644
--- a/src/main/java/org/apache/sysml/lops/MultipleCP.java
+++ b/src/main/java/org/apache/sysml/lops/MultipleCP.java
@@ -33,7 +33,7 @@ public class MultipleCP extends Lop {
 
 	public enum OperationType {
 		PRINTF
-	};
+	}
 
 	OperationType operationType;
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/OutputParameters.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/OutputParameters.java b/src/main/java/org/apache/sysml/lops/OutputParameters.java
index 86866c1..bdabdad 100644
--- a/src/main/java/org/apache/sysml/lops/OutputParameters.java
+++ b/src/main/java/org/apache/sysml/lops/OutputParameters.java
@@ -29,10 +29,9 @@ import org.apache.sysml.runtime.controlprogram.caching.MatrixObject.UpdateType;
 
 public class OutputParameters 
 {
-	
 	public enum Format {
 		TEXT, BINARY, MM, CSV
-	};
+	}
 
 	private boolean _blocked = true;
 	private long _num_rows = -1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/ParameterizedBuiltin.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/ParameterizedBuiltin.java b/src/main/java/org/apache/sysml/lops/ParameterizedBuiltin.java
index 81b8f1f..6df8308 100644
--- a/src/main/java/org/apache/sysml/lops/ParameterizedBuiltin.java
+++ b/src/main/java/org/apache/sysml/lops/ParameterizedBuiltin.java
@@ -40,7 +40,7 @@ public class ParameterizedBuiltin extends Lop
 		CDF, INVCDF, RMEMPTY, REPLACE, REXPAND,
 		TRANSFORMAPPLY, TRANSFORMDECODE, TRANSFORMCOLMAP, TRANSFORMMETA,
 		TOSTRING
-	};
+	}
 	
 	private OperationTypes _operation;
 	private HashMap<String, Lop> _inputParams;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 cf7826e..0517ca5 100644
--- a/src/main/java/org/apache/sysml/lops/PartialAggregate.java
+++ b/src/main/java/org/apache/sysml/lops/PartialAggregate.java
@@ -40,7 +40,7 @@ public class PartialAggregate extends Lop
 		RowCol, 
 		Row, 
 		Col
-	};
+	}
 
 	public enum CorrectionLocationType { 
 		NONE, 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/PickByCount.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/PickByCount.java b/src/main/java/org/apache/sysml/lops/PickByCount.java
index 9ad45b9..513724b 100644
--- a/src/main/java/org/apache/sysml/lops/PickByCount.java
+++ b/src/main/java/org/apache/sysml/lops/PickByCount.java
@@ -36,7 +36,7 @@ public class PickByCount extends Lop
 		RANGEPICK, 
 		IQM, 
 		MEDIAN
-	};	
+	}
 	
 	private OperationTypes operation;
 	private boolean inMemoryInput = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/SortKeys.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/SortKeys.java b/src/main/java/org/apache/sysml/lops/SortKeys.java
index 6344eda..b29d7b8 100644
--- a/src/main/java/org/apache/sysml/lops/SortKeys.java
+++ b/src/main/java/org/apache/sysml/lops/SortKeys.java
@@ -36,7 +36,7 @@ public class SortKeys extends Lop
 		WithWeights, 
 		WithoutWeights,
 		Indexes,
-	};
+	}
 	
 	private OperationTypes operation;
 	private boolean descending = false;
@@ -160,7 +160,7 @@ public class SortKeys extends Lop
 	public static SortKeys constructSortByValueLop(Lop input1, Lop input2, OperationTypes op, 
 			DataType dt, ValueType vt, ExecType et) {
 		
-		HashSet<Lop> set1 = new HashSet<Lop>();
+		HashSet<Lop> set1 = new HashSet<>();
 		set1.addAll(input1.getOutputs());
 		// find intersection of input1.getOutputs() and input2.getOutputs();
 		set1.retainAll(input2.getOutputs());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/Ternary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Ternary.java b/src/main/java/org/apache/sysml/lops/Ternary.java
index eee9574..ba3f884 100644
--- a/src/main/java/org/apache/sysml/lops/Ternary.java
+++ b/src/main/java/org/apache/sysml/lops/Ternary.java
@@ -34,7 +34,6 @@ import org.apache.sysml.parser.Expression.*;
 
 public class Ternary extends Lop 
 {
-	
 	private boolean _ignoreZeros = false;
 	
 	public enum OperationTypes { 
@@ -43,7 +42,8 @@ public class Ternary extends Lop
 		CTABLE_TRANSFORM_HISTOGRAM, 
 		CTABLE_TRANSFORM_WEIGHTED_HISTOGRAM, 
 		CTABLE_EXPAND_SCALAR_WEIGHT, 
-		INVALID };	
+		INVALID 
+	}
 	
 	OperationTypes operation;
 	

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/Transform.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Transform.java b/src/main/java/org/apache/sysml/lops/Transform.java
index d677f6b..919d16c 100644
--- a/src/main/java/org/apache/sysml/lops/Transform.java
+++ b/src/main/java/org/apache/sysml/lops/Transform.java
@@ -38,7 +38,7 @@ public class Transform extends Lop
 		Reshape,
 		Sort,
 		Rev
-	};
+	}
 	
 	private OperationTypes operation = null;
 	private boolean _bSortIndInMem = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/Unary.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/Unary.java b/src/main/java/org/apache/sysml/lops/Unary.java
index 36f186a..d82819c 100644
--- a/src/main/java/org/apache/sysml/lops/Unary.java
+++ b/src/main/java/org/apache/sysml/lops/Unary.java
@@ -45,7 +45,7 @@ public class Unary extends Lop
 		SPROP, SIGMOID, SELP, SUBTRACT_NZ, LOG_NZ,
 		CAST_AS_MATRIX, CAST_AS_FRAME,
 		NOTSUPPORTED
-	};
+	}
 
 	private OperationTypes operation;
 	private Lop valInput;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/UnaryCP.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/UnaryCP.java b/src/main/java/org/apache/sysml/lops/UnaryCP.java
index c83baf4..1ccafe7 100644
--- a/src/main/java/org/apache/sysml/lops/UnaryCP.java
+++ b/src/main/java/org/apache/sysml/lops/UnaryCP.java
@@ -37,7 +37,7 @@ public class UnaryCP extends Lop
 		NOT, ABS, SIN, COS, TAN, ASIN, ACOS, ATAN, SQRT, LOG, EXP, SINH, COSH, TANH,
 		CAST_AS_SCALAR, CAST_AS_MATRIX, CAST_AS_FRAME, CAST_AS_DOUBLE, CAST_AS_INT, CAST_AS_BOOLEAN, 
 		PRINT, NROW, NCOL, LENGTH, ROUND, STOP, CEIL, FLOOR, CUMSUM
-	};
+	}
 	
 	public static final String CAST_AS_SCALAR_OPCODE = "castdts";
 	public static final String CAST_AS_MATRIX_OPCODE = "castdtm";

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/lops/compile/Dag.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/lops/compile/Dag.java b/src/main/java/org/apache/sysml/lops/compile/Dag.java
index 8673fc9..c09d1c9 100644
--- a/src/main/java/org/apache/sysml/lops/compile/Dag.java
+++ b/src/main/java/org/apache/sysml/lops/compile/Dag.java
@@ -138,9 +138,9 @@ public class Dag<N extends Lop>
 			fileName = null;
 			varName = null;
 			outInfo = null;
-			preInstructions = new ArrayList<Instruction>(); 
-			postInstructions = new ArrayList<Instruction>(); 
-			lastInstructions = new ArrayList<Instruction>();
+			preInstructions = new ArrayList<>(); 
+			postInstructions = new ArrayList<>(); 
+			lastInstructions = new ArrayList<>();
 		}
 		
 		public String getFileName() {
@@ -184,8 +184,8 @@ public class Dag<N extends Lop>
 	public Dag() 
 	{
 		//allocate internal data structures
-		nodes = new ArrayList<Lop>();
-		IDMap = new HashMap<Long, Integer>();
+		nodes = new ArrayList<>();
+		IDMap = new HashMap<>();
 
 		// get number of reducers from dml config
 		total_reducers = ConfigurationManager.getNumReducers();
@@ -254,7 +254,7 @@ public class Dag<N extends Lop>
 		}
 		
 		// hold all nodes in a vector (needed for ordering)
-		ArrayList<Lop> node_v = new ArrayList<Lop>();
+		ArrayList<Lop> node_v = new ArrayList<>();
 		node_v.addAll(nodes);
 		
 		/*
@@ -286,12 +286,12 @@ public class Dag<N extends Lop>
 			LOG.trace("In delete updated variables");
 
 		// CANDIDATE list of variables which could have been updated in this statement block 
-		HashMap<String, Lop> labelNodeMapping = new HashMap<String, Lop>();
+		HashMap<String, Lop> labelNodeMapping = new HashMap<>();
 		
 		// ACTUAL list of variables whose value is updated, AND the old value of the variable 
 		// is no longer accessible/used.
-		HashSet<String> updatedLabels = new HashSet<String>();
-		HashMap<String, Lop> updatedLabelsLineNum =  new HashMap<String, Lop>();
+		HashSet<String> updatedLabels = new HashSet<>();
+		HashMap<String, Lop> updatedLabelsLineNum =  new HashMap<>();
 		
 		// first capture all transient read variables
 		for ( Lop node : nodeV ) {
@@ -377,7 +377,7 @@ public class Dag<N extends Lop>
 	}
 
 	private static ArrayList<ArrayList<Lop>> createNodeVectors(int size) {
-		ArrayList<ArrayList<Lop>> arr = new ArrayList<ArrayList<Lop>>();
+		ArrayList<ArrayList<Lop>> arr = new ArrayList<>();
 
 		// for each job type, we need to create a vector.
 		// additionally, create another vector for execNodes
@@ -552,7 +552,7 @@ public class Dag<N extends Lop>
 		 * If the input of a MMCJ/MMRJ job (must have executed in a Mapper) is used
 		 * by multiple lops then we should mark it as not-finished.
 		 */
-		ArrayList<Lop> nodesWithUnfinishedOutputs = new ArrayList<Lop>();
+		ArrayList<Lop> nodesWithUnfinishedOutputs = new ArrayList<>();
 		int[] jobIndices = {JobType.MMCJ.getId()};
 		Lop.Type[] lopTypes = { Lop.Type.MMCJ};
 		
@@ -786,21 +786,21 @@ public class Dag<N extends Lop>
 			LOG.trace("Grouping DAG ============");
 
 		// nodes to be executed in current iteration
-		ArrayList<Lop> execNodes = new ArrayList<Lop>();
+		ArrayList<Lop> execNodes = new ArrayList<>();
 		// nodes that have already been processed
-		ArrayList<Lop> finishedNodes = new ArrayList<Lop>();
+		ArrayList<Lop> finishedNodes = new ArrayList<>();
 		// nodes that are queued for the following iteration
-		ArrayList<Lop> queuedNodes = new ArrayList<Lop>();
+		ArrayList<Lop> queuedNodes = new ArrayList<>();
 
 		ArrayList<ArrayList<Lop>> jobNodes = createNodeVectors(JobType.getNumJobTypes());
 		
 		// list of instructions
-		ArrayList<Instruction> inst = new ArrayList<Instruction>();
+		ArrayList<Instruction> inst = new ArrayList<>();
 
 		//ArrayList<Instruction> preWriteDeleteInst = new ArrayList<Instruction>();
-		ArrayList<Instruction> writeInst = new ArrayList<Instruction>();
-		ArrayList<Instruction> deleteInst = new ArrayList<Instruction>();
-		ArrayList<Instruction> endOfBlockInst = new ArrayList<Instruction>();
+		ArrayList<Instruction> writeInst = new ArrayList<>();
+		ArrayList<Instruction> deleteInst = new ArrayList<>();
+		ArrayList<Instruction> endOfBlockInst = new ArrayList<>();
 
 		// remove files for transient reads that are updated.
 		deleteUpdatedTransientReadVariables(sb, node_v, writeInst);
@@ -1305,11 +1305,11 @@ public class Dag<N extends Lop>
 			ArrayList<Instruction> inst, ArrayList<Instruction> writeInst, ArrayList<Instruction> deleteInst) throws LopsException, DMLRuntimeException {
 
 		// nodes to be deleted from execnodes
-		ArrayList<Lop> markedNodes = new ArrayList<Lop>();
+		ArrayList<Lop> markedNodes = new ArrayList<>();
 
 		// variable names to be deleted
-		ArrayList<String> var_deletions = new ArrayList<String>();
-		HashMap<String, Lop> var_deletionsLineNum =  new HashMap<String, Lop>();
+		ArrayList<String> var_deletions = new ArrayList<>();
+		HashMap<String, Lop> var_deletionsLineNum =  new HashMap<>();
 		
 		boolean doRmVar = false;
 
@@ -1640,7 +1640,7 @@ public class Dag<N extends Lop>
 		// Evaluate each lop in <code>execNodes</code> for removal.
 		// Add lops to be removed to <code>markedNodes</code>.
 		
-		ArrayList<Lop> markedNodes = new ArrayList<Lop>();
+		ArrayList<Lop> markedNodes = new ArrayList<>();
 		for (Lop tmpNode : execNodes ) {
 
 			if (LOG.isTraceEnabled()) {
@@ -2015,7 +2015,7 @@ public class Dag<N extends Lop>
 	private ArrayList<ArrayList<Lop>> splitGMRNodesByRecordReader(ArrayList<Lop> gmrnodes) 
 	{
 		// obtain the list of record reader nodes
-		ArrayList<Lop> rrnodes = new ArrayList<Lop>();
+		ArrayList<Lop> rrnodes = new ArrayList<>();
 		for (Lop gmrnode : gmrnodes ) {
 			if (gmrnode.getExecLocation() == ExecLocation.RecordReader)
 				rrnodes.add(gmrnode);
@@ -2080,7 +2080,7 @@ public class Dag<N extends Lop>
 	{
 		printJobNodes(jobNodes);
 		
-		ArrayList<Instruction> rmvarinst = new ArrayList<Instruction>();
+		ArrayList<Instruction> rmvarinst = new ArrayList<>();
 		for (JobType jt : JobType.values()) { 
 			
 			// do nothing, if jt = INVALID or ANY
@@ -2108,7 +2108,7 @@ public class Dag<N extends Lop>
 					// We should split the nodes so that a separate job is produced for each shuffle instruction.
 					Lop.Type splittingLopType = jt.getShuffleLopType();
 					
-					ArrayList<Lop> nodesForASingleJob = new ArrayList<Lop>();
+					ArrayList<Lop> nodesForASingleJob = new ArrayList<>();
 					for (int i = 0; i < jobNodes.get(index).size(); i++) {
 						if (jobNodes.get(index).get(i).getType() == splittingLopType) {
 							nodesForASingleJob.clear();
@@ -2669,36 +2669,36 @@ public class Dag<N extends Lop>
 			ArrayList<Instruction> inst, ArrayList<Instruction> writeinst, ArrayList<Instruction> deleteinst, ArrayList<Instruction> rmvarinst, 
 			JobType jt) throws LopsException, DMLRuntimeException
 	{
-		ArrayList<Byte> resultIndices = new ArrayList<Byte>();
-		ArrayList<String> inputs = new ArrayList<String>();
-		ArrayList<String> outputs = new ArrayList<String>();
-		ArrayList<InputInfo> inputInfos = new ArrayList<InputInfo>();
-		ArrayList<OutputInfo> outputInfos = new ArrayList<OutputInfo>();
-		ArrayList<Long> numRows = new ArrayList<Long>();
-		ArrayList<Long> numCols = new ArrayList<Long>();
-		ArrayList<Long> numRowsPerBlock = new ArrayList<Long>();
-		ArrayList<Long> numColsPerBlock = new ArrayList<Long>();
-		ArrayList<String> mapperInstructions = new ArrayList<String>();
-		ArrayList<String> randInstructions = new ArrayList<String>();
-		ArrayList<String> recordReaderInstructions = new ArrayList<String>();
+		ArrayList<Byte> resultIndices = new ArrayList<>();
+		ArrayList<String> inputs = new ArrayList<>();
+		ArrayList<String> outputs = new ArrayList<>();
+		ArrayList<InputInfo> inputInfos = new ArrayList<>();
+		ArrayList<OutputInfo> outputInfos = new ArrayList<>();
+		ArrayList<Long> numRows = new ArrayList<>();
+		ArrayList<Long> numCols = new ArrayList<>();
+		ArrayList<Long> numRowsPerBlock = new ArrayList<>();
+		ArrayList<Long> numColsPerBlock = new ArrayList<>();
+		ArrayList<String> mapperInstructions = new ArrayList<>();
+		ArrayList<String> randInstructions = new ArrayList<>();
+		ArrayList<String> recordReaderInstructions = new ArrayList<>();
 		int numReducers = 0;
 		int replication = 1;
-		ArrayList<String> inputLabels = new ArrayList<String>();
-		ArrayList<String> outputLabels = new ArrayList<String>();
-		ArrayList<Instruction> renameInstructions = new ArrayList<Instruction>();
-		ArrayList<Instruction> variableInstructions = new ArrayList<Instruction>();
-		ArrayList<Instruction> postInstructions = new ArrayList<Instruction>();
+		ArrayList<String> inputLabels = new ArrayList<>();
+		ArrayList<String> outputLabels = new ArrayList<>();
+		ArrayList<Instruction> renameInstructions = new ArrayList<>();
+		ArrayList<Instruction> variableInstructions = new ArrayList<>();
+		ArrayList<Instruction> postInstructions = new ArrayList<>();
 		ArrayList<Integer> MRJobLineNumbers = null;
 		if(DMLScript.ENABLE_DEBUG_MODE) {
-			MRJobLineNumbers = new ArrayList<Integer>();
+			MRJobLineNumbers = new ArrayList<>();
 		}
 		
-		ArrayList<Lop> inputLops = new ArrayList<Lop>();
+		ArrayList<Lop> inputLops = new ArrayList<>();
 		
 		boolean cellModeOverride = false;
 		
 		/* Find the nodes that produce an output */
-		ArrayList<Lop> rootNodes = new ArrayList<Lop>();
+		ArrayList<Lop> rootNodes = new ArrayList<>();
 		getOutputNodes(execNodes, rootNodes, jt);
 		if( LOG.isTraceEnabled() )
 			LOG.trace("# of root nodes = " + rootNodes.size());
@@ -2706,7 +2706,7 @@ public class Dag<N extends Lop>
 		
 		/* Remove transient writes that are simple copy of transient reads */
 		if (jt == JobType.GMR || jt == JobType.GMRCELL) {
-			ArrayList<Lop> markedNodes = new ArrayList<Lop>();
+			ArrayList<Lop> markedNodes = new ArrayList<>();
 			// only keep data nodes that are results of some computation.
 			for ( Lop rnode : rootNodes ) {
 				if (rnode.getExecLocation() == ExecLocation.Data
@@ -2731,7 +2731,7 @@ public class Dag<N extends Lop>
 		}
 		
 		// structure that maps node to their indices that will be used in the instructions
-		HashMap<Lop, Integer> nodeIndexMapping = new HashMap<Lop, Integer>();
+		HashMap<Lop, Integer> nodeIndexMapping = new HashMap<>();
 		
 		/* Determine all input data files */
 		
@@ -2799,9 +2799,9 @@ public class Dag<N extends Lop>
 
 		/* Get Shuffle and Reducer Instructions */
 		
-		ArrayList<String> shuffleInstructions = new ArrayList<String>();
-		ArrayList<String> aggInstructionsReducer = new ArrayList<String>();
-		ArrayList<String> otherInstructionsReducer = new ArrayList<String>();
+		ArrayList<String> shuffleInstructions = new ArrayList<>();
+		ArrayList<String> aggInstructionsReducer = new ArrayList<>();
+		ArrayList<String> otherInstructionsReducer = new ArrayList<>();
 
 		for( Lop rn : rootNodes ) {
 			int resultIndex = getAggAndOtherInstructions(
@@ -2962,7 +2962,7 @@ public class Dag<N extends Lop>
 		if (!execNodes.contains(node))
 			return ret_val;
 
-		ArrayList<Integer> inputIndices = new ArrayList<Integer>();
+		ArrayList<Integer> inputIndices = new ArrayList<>();
 
 		// recurse
 		// For WRITE, since the first element from input is the real input (the other elements
@@ -3216,7 +3216,7 @@ public class Dag<N extends Lop>
 		if (!execNodes.contains(node))
 			return -1;
 
-		ArrayList<Integer> inputIndices = new ArrayList<Integer>();
+		ArrayList<Integer> inputIndices = new ArrayList<>();
 		int max_input_index = -1;
 		//N child_for_max_input_index = null;
 
@@ -3317,7 +3317,7 @@ public class Dag<N extends Lop>
 		if (!execNodes.contains(node))
 			return -1;
 
-		ArrayList<Integer> inputIndices = new ArrayList<Integer>();
+		ArrayList<Integer> inputIndices = new ArrayList<>();
 		int max_input_index = -1;
 		// get mapper instructions
 		for( Lop childNode : node.getInputs()) {
@@ -3844,7 +3844,7 @@ public class Dag<N extends Lop>
 	private static ArrayList<Instruction> collapseAssignvarAndRmvarInstructions(ArrayList<Instruction> insts) 
 		throws DMLRuntimeException 
 	{
-		ArrayList<Instruction> ret = new ArrayList<Instruction>();
+		ArrayList<Instruction> ret = new ArrayList<>();
 		Iterator<Instruction> iter = insts.iterator();
 		while( iter.hasNext() ) {
 			Instruction inst = iter.next();
@@ -3874,8 +3874,8 @@ public class Dag<N extends Lop>
 	private static ArrayList<Instruction> createPackedRmvarInstructions(ArrayList<Instruction> insts) 
 		throws DMLRuntimeException 
 	{
-		ArrayList<Instruction> ret = new ArrayList<Instruction>();
-		ArrayList<String> currRmVar = new ArrayList<String>();
+		ArrayList<Instruction> ret = new ArrayList<>();
+		ArrayList<String> currRmVar = new ArrayList<>();
 		for( Instruction inst : insts ) {
 			if( inst instanceof VariableCPInstruction 
 				&& ((VariableCPInstruction)inst).isRemoveVariableNoFile() ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 2df4ed0..3d12394 100644
--- a/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
+++ b/src/main/java/org/apache/sysml/parser/AssignmentStatement.java
@@ -48,14 +48,14 @@ public class AssignmentStatement extends Statement
 	}
 
 	public AssignmentStatement(DataIdentifier di, Expression exp, ParseInfo parseInfo) {
-		_targetList = new ArrayList<DataIdentifier>();
+		_targetList = new ArrayList<>();
 		_targetList.add(di);
 		_source = exp;
 		setParseInfo(parseInfo);
 	}
 
 	public AssignmentStatement(ParserRuleContext ctx, DataIdentifier di, Expression exp) throws LanguageException {
-		_targetList = new ArrayList<DataIdentifier>();
+		_targetList = new ArrayList<>();
 		_targetList.add(di);
 		_source = exp;
 		setCtxValues(ctx);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 d5fa65d..62ed9fb 100644
--- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
@@ -246,7 +246,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 	
 	private ArrayList<ParameterExpression> orderConvolutionParams(ArrayList<ParameterExpression> paramExpression, 
 			int skip) throws LanguageException {
-		ArrayList<ParameterExpression> newParams = new ArrayList<ParameterExpression>();
+		ArrayList<ParameterExpression> newParams = new ArrayList<>();
 
 		for(int i = 0; i < skip; i++)
 			newParams.add(paramExpression.get(i));
@@ -274,7 +274,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 
 	private ArrayList<ParameterExpression> replaceListParams(ArrayList<ParameterExpression> paramExpression,
 			String inputVarName, String outputVarName, int startIndex) throws LanguageException {
-		ArrayList<ParameterExpression> newParamExpression = new ArrayList<ParameterExpression>();
+		ArrayList<ParameterExpression> newParamExpression = new ArrayList<>();
 		int i = startIndex;
 		int j = 1; // Assumption: sequential ordering pool_size1, pool_size2 
 		for (ParameterExpression expr : paramExpression) {
@@ -291,7 +291,7 @@ public class BuiltinFunctionExpression extends DataIdentifier
 
 	private ArrayList<ParameterExpression> expandListParams(ArrayList<ParameterExpression> paramExpression, 
 			HashSet<String> paramsToExpand) throws LanguageException {
-		ArrayList<ParameterExpression> newParamExpressions = new ArrayList<ParameterExpression>();
+		ArrayList<ParameterExpression> newParamExpressions = new ArrayList<>();
 		for(ParameterExpression expr : paramExpression) {
 			if(paramsToExpand.contains(expr.getName())) {
 				if(expr.getExpr() instanceof ExpressionList) {
@@ -316,14 +316,14 @@ public class BuiltinFunctionExpression extends DataIdentifier
 		try {
 			if(_opcode == BuiltinFunctionOp.CONV2D || _opcode == BuiltinFunctionOp.CONV2D_BACKWARD_FILTER 
 					|| _opcode == BuiltinFunctionOp.CONV2D_BACKWARD_DATA) {
-				HashSet<String> expand = new HashSet<String>();
+				HashSet<String> expand = new HashSet<>();
 				expand.add("input_shape"); expand.add("filter_shape"); expand.add("stride"); expand.add("padding");
 				paramExpression = expandListParams(paramExpression, expand);
 				paramExpression = orderConvolutionParams(paramExpression, 2);
 			}
 			else if(_opcode == BuiltinFunctionOp.MAX_POOL || 
 					_opcode == BuiltinFunctionOp.MAX_POOL_BACKWARD) {
-				HashSet<String> expand = new HashSet<String>();
+				HashSet<String> expand = new HashSet<>();
 				expand.add("input_shape"); expand.add("pool_size"); expand.add("stride"); expand.add("padding");
 				paramExpression = expandListParams(paramExpression, expand);
 				paramExpression.add(new ParameterExpression("filter_shape1", new IntIdentifier(1, this)));

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 716da40..43be802 100644
--- a/src/main/java/org/apache/sysml/parser/DMLProgram.java
+++ b/src/main/java/org/apache/sysml/parser/DMLProgram.java
@@ -38,9 +38,9 @@ public class DMLProgram
 	private static final Log LOG = LogFactory.getLog(DMLProgram.class.getName());
 	
 	public DMLProgram(){
-		_blocks = new ArrayList<StatementBlock>();
-		_functionBlocks = new HashMap<String,FunctionStatementBlock>();
-		_namespaces = new HashMap<String,DMLProgram>();
+		_blocks = new ArrayList<>();
+		_functionBlocks = new HashMap<>();
+		_namespaces = new HashMap<>();
 	}
 	
 	public HashMap<String,DMLProgram> getNamespaces(){
@@ -97,7 +97,7 @@ public class DMLProgram
 	public ArrayList<FunctionStatementBlock> getFunctionStatementBlocks() 
 		throws LanguageException
 	{
-		ArrayList<FunctionStatementBlock> ret = new ArrayList<FunctionStatementBlock>();
+		ArrayList<FunctionStatementBlock> ret = new ArrayList<>();
 		
 		for( DMLProgram nsProg : _namespaces.values() )
 			ret.addAll(nsProg._functionBlocks.values());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/DMLTranslator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DMLTranslator.java b/src/main/java/org/apache/sysml/parser/DMLTranslator.java
index d669f73..d41943d 100644
--- a/src/main/java/org/apache/sysml/parser/DMLTranslator.java
+++ b/src/main/java/org/apache/sysml/parser/DMLTranslator.java
@@ -127,7 +127,7 @@ public class DMLTranslator
 			for (String fname :  dmlp.getFunctionStatementBlocks(namespaceKey).keySet()) {
 				FunctionStatementBlock fblock = dmlp.getFunctionStatementBlock(namespaceKey,fname);
 			
-				HashMap<String, ConstIdentifier> constVars = new HashMap<String, ConstIdentifier>();
+				HashMap<String, ConstIdentifier> constVars = new HashMap<>();
 				VariableSet vs = new VariableSet();
 			
 				// add the input variables for the function to input variable list
@@ -152,7 +152,7 @@ public class DMLTranslator
 		
 		// handle regular blocks -- "main" program
 		VariableSet vs = new VariableSet();
-		HashMap<String, ConstIdentifier> constVars = new HashMap<String, ConstIdentifier>();
+		HashMap<String, ConstIdentifier> constVars = new HashMap<>();
 		for (int i = 0; i < dmlp.getNumStatementBlocks(); i++) {
 			StatementBlock sb = dmlp.getStatementBlock(i);
 			vs = sb.validate(dmlp, vs, constVars, fWriteRead);
@@ -163,11 +163,11 @@ public class DMLTranslator
 		if( fWriteRead ) 
 		{
 			//propagate size and datatypes into read
-			prepareReadAfterWrite(dmlp, new HashMap<String, DataIdentifier>());
+			prepareReadAfterWrite(dmlp, new HashMap<>());
 		
 			//re-validate main program for datatype propagation
 			vs = new VariableSet();
-			constVars = new HashMap<String, ConstIdentifier>();
+			constVars = new HashMap<>();
 			for (int i = 0; i < dmlp.getNumStatementBlocks(); i++) {
 				StatementBlock sb = dmlp.getStatementBlock(i);
 				vs = sb.validate(dmlp, vs, constVars, fWriteRead);
@@ -431,7 +431,7 @@ public class DMLTranslator
 			if (sb.get_hops() == null)
 				sb.set_hops(new ArrayList<Hop>());
 			
-			ArrayList<Lop> lops = new ArrayList<Lop>();
+			ArrayList<Lop> lops = new ArrayList<>();
 			for (Hop hop : sb.get_hops()) {
 				lops.add(hop.constructLops());
 			}
@@ -492,11 +492,11 @@ public class DMLTranslator
 		if (sb instanceof WhileStatementBlock){
 		
 			// create DAG for loop predicates
-			pred_dag = new Dag<Lop>();
+			pred_dag = new Dag<>();
 			((WhileStatementBlock) sb).get_predicateLops().addToDag(pred_dag);
 			
 			// create instructions for loop predicates
-			pred_instruct = new ArrayList<Instruction>();
+			pred_instruct = new ArrayList<>();
 			ArrayList<Instruction> pInst = pred_dag.getJobs(null, config);
 			for (Instruction i : pInst ) {
 				pred_instruct.add(i);
@@ -540,11 +540,11 @@ public class DMLTranslator
 		else if (sb instanceof IfStatementBlock){
 		
 			// create DAG for loop predicates
-			pred_dag = new Dag<Lop>();
+			pred_dag = new Dag<>();
 			((IfStatementBlock) sb).get_predicateLops().addToDag(pred_dag);
 			
 			// create instructions for loop predicates
-			pred_instruct = new ArrayList<Instruction>();
+			pred_instruct = new ArrayList<>();
 			ArrayList<Instruction> pInst = pred_dag.getJobs(null, config);
 			for (Instruction i : pInst ) {
 				pred_instruct.add(i);
@@ -598,9 +598,9 @@ public class DMLTranslator
 			ForStatementBlock fsb = (ForStatementBlock) sb;
 			
 			// create DAGs for loop predicates 
-			Dag<Lop> fromDag = new Dag<Lop>();
-			Dag<Lop> toDag = new Dag<Lop>();
-			Dag<Lop> incrementDag = new Dag<Lop>();
+			Dag<Lop> fromDag = new Dag<>();
+			Dag<Lop> toDag = new Dag<>();
+			Dag<Lop> incrementDag = new Dag<>();
 			if( fsb.getFromHops()!=null )
 				fsb.getFromLops().addToDag(fromDag);
 			if( fsb.getToHops()!=null )
@@ -747,7 +747,7 @@ public class DMLTranslator
 			ProgramBlock rtpb = new ProgramBlock(prog);
 		
 			// DAGs for Lops
-			dag = new Dag<Lop>();
+			dag = new Dag<>();
 
 			// check there are actually Lops in to process (loop stmt body will not have any)
 			if (sb.getLops() != null && !sb.getLops().isEmpty()){
@@ -1187,8 +1187,8 @@ public class DMLTranslator
 			return;
 		}
 		
-		HashMap<String, Hop> ids = new HashMap<String, Hop>();
-		ArrayList<Hop> output = new ArrayList<Hop>();
+		HashMap<String, Hop> ids = new HashMap<>();
+		ArrayList<Hop> output = new ArrayList<>();
 
 		VariableSet liveIn 	= sb.liveIn();
 		VariableSet liveOut = sb.liveOut();
@@ -1197,7 +1197,7 @@ public class DMLTranslator
 		VariableSet updatedLiveOut = new VariableSet();
 
 		// handle liveout variables that are updated --> target identifiers for Assignment
-		HashMap<String, Integer> liveOutToTemp = new HashMap<String, Integer>();
+		HashMap<String, Integer> liveOutToTemp = new HashMap<>();
 		for (int i = 0; i < sb.getNumStatements(); i++) {
 			Statement current = sb.getStatement(i);
 			
@@ -1408,10 +1408,10 @@ public class DMLTranslator
 					if( target instanceof IndexedIdentifier ) {
 						String fkey = DMLProgram.constructFunctionKey(fci.getNamespace(),fci.getName());
 						throw new LanguageException("Unsupported function call to '"+fkey+"' in left indexing expression. " +
-								                    "Please, assign the function output to a variable.");
+								"Please, assign the function output to a variable.");
 					}
 					
-					ArrayList<Hop> finputs = new ArrayList<Hop>();
+					ArrayList<Hop> finputs = new ArrayList<>();
 					for (ParameterExpression paramName : fci.getParamExprs()){
 						Hop in = processExpression(paramName.getExpr(), null, ids);
 						finputs.add(in);
@@ -1444,9 +1444,9 @@ public class DMLTranslator
 						throw new LanguageException(source.printErrorLocation() + "function " + fci.getName() + " is undefined in namespace " + fci.getNamespace());
 					}
 					
-					ArrayList<Hop> finputs = new ArrayList<Hop>();
+					ArrayList<Hop> finputs = new ArrayList<>();
 					for (ParameterExpression paramName : fci.getParamExprs()){
-						Hop in = processExpression(paramName.getExpr(), null, ids);						
+						Hop in = processExpression(paramName.getExpr(), null, ids);
 						finputs.add(in);
 					}
 
@@ -1554,7 +1554,7 @@ public class DMLTranslator
 	
 	public void constructHopsForConditionalPredicate(StatementBlock passedSB) throws ParseException {
 
-		HashMap<String, Hop> _ids = new HashMap<String, Hop>();
+		HashMap<String, Hop> _ids = new HashMap<>();
 		
 		// set conditional predicate
 		ConditionalPredicate cp = null;
@@ -1655,7 +1655,7 @@ public class DMLTranslator
 	public void constructHopsForIterablePredicate(ForStatementBlock fsb) 
 		throws ParseException 
 	{
-		HashMap<String, Hop> _ids = new HashMap<String, Hop>();
+		HashMap<String, Hop> _ids = new HashMap<>();
 		
 		// set iterable predicate 
 		ForStatement fs = (ForStatement) fsb.getStatement(0);
@@ -2127,13 +2127,13 @@ public class DMLTranslator
 		
 		// Create an array list to hold the outputs of this lop.
 		// Exact list of outputs are added based on opcode.
-		ArrayList<Hop> outputs = new ArrayList<Hop>();
+		ArrayList<Hop> outputs = new ArrayList<>();
 		
 		// Construct Hop for current builtin function expression based on its type
 		Hop currBuiltinOp = null;
 		switch (source.getOpCode()) {
 			case TRANSFORMENCODE:
-				ArrayList<Hop> inputs = new ArrayList<Hop>();
+				ArrayList<Hop> inputs = new ArrayList<>();
 				inputs.add( processExpression(source.getVarParam("target"), null, hops) );
 				inputs.add( processExpression(source.getVarParam("spec"), null, hops) );
 				String[] outputNames = new String[targetList.size()]; 
@@ -2174,7 +2174,7 @@ public class DMLTranslator
 			HashMap<String, Hop> hops) throws ParseException, HopsException {
 		
 		// this expression has multiple "named" parameters
-		HashMap<String, Hop> paramHops = new HashMap<String,Hop>();
+		HashMap<String, Hop> paramHops = new HashMap<>();
 		
 		// -- construct hops for all input parameters
 		// -- store them in hashmap so that their "name"s are maintained
@@ -2223,7 +2223,7 @@ public class DMLTranslator
 			break;	
 			
 		case ORDER:
-			ArrayList<Hop> inputs = new ArrayList<Hop>();
+			ArrayList<Hop> inputs = new ArrayList<>();
 			inputs.add(paramHops.get("target"));
 			inputs.add(paramHops.get("by"));
 			inputs.add(paramHops.get("decreasing"));
@@ -2295,7 +2295,7 @@ public class DMLTranslator
 			HashMap<String, Hop> hops) throws ParseException, HopsException {
 		
 		// this expression has multiple "named" parameters
-		HashMap<String, Hop> paramHops = new HashMap<String,Hop>();
+		HashMap<String, Hop> paramHops = new HashMap<>();
 		
 		// -- construct hops for all input parameters
 		// -- store them in hashmap so that their "name"s are maintained
@@ -2331,7 +2331,7 @@ public class DMLTranslator
 			break;
 		
 		case MATRIX:
-			ArrayList<Hop> tmp = new ArrayList<Hop>();
+			ArrayList<Hop> tmp = new ArrayList<>();
 			tmp.add( 0, paramHops.get(DataExpression.RAND_DATA) );
 			tmp.add( 1, paramHops.get(DataExpression.RAND_ROWS) );
 			tmp.add( 2, paramHops.get(DataExpression.RAND_COLS) );
@@ -2374,7 +2374,7 @@ public class DMLTranslator
 			HashMap<String, Hop> hops) throws ParseException {
 		
 		// Construct Hops for all inputs
-		ArrayList<Hop> inputs = new ArrayList<Hop>();
+		ArrayList<Hop> inputs = new ArrayList<>();
 		inputs.add( processExpression(source.getFirstExpr(), null, hops) );
 		if ( source.getSecondExpr() != null )
 			inputs.add( processExpression(source.getSecondExpr(), null, hops) );
@@ -2386,7 +2386,7 @@ public class DMLTranslator
 		
 		// Create an array list to hold the outputs of this lop.
 		// Exact list of outputs are added based on opcode.
-		ArrayList<Hop> outputs = new ArrayList<Hop>();
+		ArrayList<Hop> outputs = new ArrayList<>();
 		
 		// Construct Hop for current builtin function expression based on its type
 		Hop currBuiltinOp = null;
@@ -2953,7 +2953,7 @@ public class DMLTranslator
 			break;	
 		
 		case SEQ:
-			HashMap<String,Hop> randParams = new HashMap<String,Hop>();
+			HashMap<String,Hop> randParams = new HashMap<>();
 			randParams.put(Statement.SEQ_FROM, expr);
 			randParams.put(Statement.SEQ_TO, expr2);
 			randParams.put(Statement.SEQ_INCR, (expr3!=null)?expr3 : new LiteralOp(1)); 
@@ -2967,7 +2967,7 @@ public class DMLTranslator
 			
 			// arguments: range/size/replace/seed; defaults: replace=FALSE
 				
-			HashMap<String,Hop> tmpparams = new HashMap<String, Hop>();
+			HashMap<String,Hop> tmpparams = new HashMap<>();
 			tmpparams.put(DataExpression.RAND_MAX, expr); //range
 			tmpparams.put(DataExpression.RAND_ROWS, expr2);
 			tmpparams.put(DataExpression.RAND_COLS, new LiteralOp(1));
@@ -3041,7 +3041,7 @@ public class DMLTranslator
 		}
 		case BIAS_ADD:
 		{
-			ArrayList<Hop> inHops1 = new ArrayList<Hop>();
+			ArrayList<Hop> inHops1 = new ArrayList<>();
 			inHops1.add(expr);
 			inHops1.add(expr2);
 			currBuiltinOp = new ConvolutionOp(target.getName(), target.getDataType(), target.getValueType(), Hop.ConvOp.BIAS_ADD, inHops1);
@@ -3050,7 +3050,7 @@ public class DMLTranslator
 		}
 		case BIAS_MULTIPLY:
 		{
-			ArrayList<Hop> inHops1 = new ArrayList<Hop>();
+			ArrayList<Hop> inHops1 = new ArrayList<>();
 			inHops1.add(expr);
 			inHops1.add(expr2);
 			currBuiltinOp = new ConvolutionOp(target.getName(), target.getDataType(), target.getValueType(), Hop.ConvOp.BIAS_MULTIPLY, inHops1);
@@ -3115,7 +3115,7 @@ public class DMLTranslator
 	}
 
 	private ArrayList<Hop> getALHopsForConvOpPoolingCOL2IM(Hop first, BuiltinFunctionExpression source, int skip, HashMap<String, Hop> hops) throws ParseException {
-		ArrayList<Hop> ret = new ArrayList<Hop>();
+		ArrayList<Hop> ret = new ArrayList<>();
 		ret.add(first);
 		Expression[] allExpr = source.getAllExpr();
 
@@ -3130,7 +3130,7 @@ public class DMLTranslator
 	}
 
 	private ArrayList<Hop> getALHopsForPoolingForwardIM2COL(Hop first, BuiltinFunctionExpression source, int skip, HashMap<String, Hop> hops) throws ParseException {
-		ArrayList<Hop> ret = new ArrayList<Hop>();
+		ArrayList<Hop> ret = new ArrayList<>();
 		ret.add(first);
 		Expression[] allExpr = source.getAllExpr();
 		if(skip != 1) {
@@ -3182,7 +3182,7 @@ public class DMLTranslator
 	}
 
 	private ArrayList<Hop> getALHopsForConvOp(Hop first, BuiltinFunctionExpression source, int skip, HashMap<String, Hop> hops) throws ParseException {
-		ArrayList<Hop> ret = new ArrayList<Hop>();
+		ArrayList<Hop> ret = new ArrayList<>();
 		ret.add(first);
 		Expression[] allExpr = source.getAllExpr();
 		for(int i = skip; i < allExpr.length; i++) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 d1d896c..a24bc53 100644
--- a/src/main/java/org/apache/sysml/parser/DataExpression.java
+++ b/src/main/java/org/apache/sysml/parser/DataExpression.java
@@ -382,7 +382,7 @@ public class DataExpression extends DataIdentifier
 
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 		
-		HashMap<String,Expression> newVarParams = new HashMap<String,Expression>();
+		HashMap<String,Expression> newVarParams = new HashMap<>();
 		for( Entry<String, Expression> e : _varParams.entrySet() ){
 			String key = e.getKey();
 			Expression newExpr = e.getValue().rewriteExpression(prefix);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/Expression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/Expression.java b/src/main/java/org/apache/sysml/parser/Expression.java
index 084850a..1d7303e 100644
--- a/src/main/java/org/apache/sysml/parser/Expression.java
+++ b/src/main/java/org/apache/sysml/parser/Expression.java
@@ -38,21 +38,21 @@ public abstract class Expression implements ParseInfo
 	 */
 	public enum BinaryOp {
 		PLUS, MINUS, MULT, DIV, MODULUS, INTDIV, MATMULT, POW, INVALID
-	};
+	}
 
 	/**
 	 * Relational operators.
 	 */
 	public enum RelationalOp {
 		LESSEQUAL, LESS, GREATEREQUAL, GREATER, EQUAL, NOTEQUAL, INVALID
-	};
+	}
 
 	/**
 	 * Boolean operators.
 	 */
 	public enum BooleanOp {
 		CONDITIONALAND, CONDITIONALOR, LOGICALAND, LOGICALOR, NOT, INVALID
-	};
+	}
 
 	/**
 	 * Built-in function operators.
@@ -136,7 +136,7 @@ public abstract class Expression implements ParseInfo
 		TRACE, 
 		TRANS,
 		VAR
-	};
+	}
 
 	/**
 	 * Parameterized built-in function operators.
@@ -148,7 +148,7 @@ public abstract class Expression implements ParseInfo
 		TRANSFORMAPPLY, TRANSFORMDECODE, TRANSFORMENCODE, TRANSFORMCOLMAP, TRANSFORMMETA,
 		TOSTRING,	// The "toString" method for DML; named arguments accepted to format output
 		INVALID
-	};
+	}
 	
 	/**
 	 * Data operators.
@@ -162,7 +162,7 @@ public abstract class Expression implements ParseInfo
 	 */
 	public enum FunctCallOp {
 		INTERNAL, EXTERNAL
-	};
+	}
 
 	/**
 	 * Data types (matrix, scalar, frame, object, unknown).
@@ -176,21 +176,21 @@ public abstract class Expression implements ParseInfo
 		public boolean isScalar() {
 			return (this == SCALAR);
 		}
-	};
+	}
 
 	/**
 	 * Value types (int, double, string, boolean, object, unknown).
 	 */
 	public enum ValueType {
 		INT, DOUBLE, STRING, BOOLEAN, OBJECT, UNKNOWN
-	};
+	}
 
 	/**
 	 * Format types (text, binary, matrix market, csv, unknown).
 	 */
 	public enum FormatType {
 		TEXT, BINARY, MM, CSV
-	};
+	}
 	
 	protected static final Log LOG = LogFactory.getLog(Expression.class.getName());
 	
@@ -594,7 +594,7 @@ public abstract class Expression implements ParseInfo
 	private int _beginLine, _beginColumn;
 	private int _endLine, _endColumn;
 	private String _text;
-	private ArrayList<String> _parseExceptionList = new ArrayList<String>();
+	private ArrayList<String> _parseExceptionList = new ArrayList<>();
 	
 	public void setFilename(String passed)  { _filename = passed;   }
 	public void setBeginLine(int passed)    { _beginLine = passed;   }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 23b406b..f1404e1 100644
--- a/src/main/java/org/apache/sysml/parser/ForStatement.java
+++ b/src/main/java/org/apache/sysml/parser/ForStatement.java
@@ -24,10 +24,8 @@ import java.util.ArrayList;
 
 
 public class ForStatement extends Statement
-{	
-
-	
-	protected IterablePredicate 		_predicate;
+{
+	protected IterablePredicate _predicate;
 	protected ArrayList<StatementBlock> _body;
 	
 	public Statement rewriteStatement(String prefix) throws LanguageException{
@@ -37,7 +35,7 @@ public class ForStatement extends Statement
 	
 	public ForStatement(){
 		 _predicate = null;
-		 _body = new ArrayList<StatementBlock>();
+		 _body = new ArrayList<>();
 	}
 	
 	public void setPredicate(IterablePredicate pred){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 5993091..091d8cb 100644
--- a/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/FunctionCallIdentifier.java
@@ -54,7 +54,7 @@ public class FunctionCallIdentifier extends DataIdentifier
 	
 	public Expression rewriteExpression(String prefix) throws LanguageException {
 			
-		ArrayList<ParameterExpression> newParameterExpressions = new ArrayList<ParameterExpression>();
+		ArrayList<ParameterExpression> newParameterExpressions = new ArrayList<>();
 		for (ParameterExpression paramExpr : _paramExprs)
 			newParameterExpressions.add(new ParameterExpression(paramExpr.getName(), paramExpr.getExpr().rewriteExpression(prefix)));
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 07a2284..fdddc92 100644
--- a/src/main/java/org/apache/sysml/parser/FunctionStatement.java
+++ b/src/main/java/org/apache/sysml/parser/FunctionStatement.java
@@ -36,10 +36,10 @@ public class FunctionStatement extends Statement
 	}
 	
 	public FunctionStatement(){
-		 _body = new ArrayList<StatementBlock>();
+		 _body = new ArrayList<>();
 		 _name = null;
-		 _inputParams = new ArrayList<DataIdentifier>();
-		 _outputParams = new ArrayList<DataIdentifier>();
+		 _inputParams = new ArrayList<>();
+		 _outputParams = new ArrayList<>();
 	}
 	
 	public ArrayList<DataIdentifier> getInputParams(){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 3c890af..cbb0c7b 100644
--- a/src/main/java/org/apache/sysml/parser/IfStatement.java
+++ b/src/main/java/org/apache/sysml/parser/IfStatement.java
@@ -36,8 +36,8 @@ public class IfStatement extends Statement
 	
 	public IfStatement(){
 		 _predicate = null;
-		 _ifBody = new ArrayList<StatementBlock>();
-		 _elseBody = new ArrayList<StatementBlock>();
+		 _ifBody = new ArrayList<>();
+		 _elseBody = new ArrayList<>();
 	}
 	
 	public void setConditionalPredicate(ConditionalPredicate pred){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 5410aca..1b42e08 100644
--- a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
@@ -55,8 +55,8 @@ public class IfStatementBlock extends StatementBlock
 			ifstmt.getConditionalPredicate().setPredicate(constVars.get(((DataIdentifier)pred).getName()));
 		}
 		
-		HashMap<String,ConstIdentifier> constVarsIfCopy = new HashMap<String,ConstIdentifier>(constVars);
-		HashMap<String,ConstIdentifier> constVarsElseCopy = new HashMap<String,ConstIdentifier> (constVars);
+		HashMap<String,ConstIdentifier> constVarsIfCopy = new HashMap<>(constVars);
+		HashMap<String,ConstIdentifier> constVarsElseCopy = new HashMap<> (constVars);
 		
 		VariableSet idsIfCopy 	= new VariableSet(ids);
 		VariableSet idsElseCopy = new VariableSet(ids);
@@ -118,7 +118,7 @@ public class IfStatementBlock extends StatementBlock
 		//		b) ELSE leave out of reconciled set
 		/////////////////////////////////////////////////////////////////////////////////
 		
-		HashMap<String,ConstIdentifier> recConstVars = new HashMap<String,ConstIdentifier>();
+		HashMap<String,ConstIdentifier> recConstVars = new HashMap<>();
 		
 		// STEP 1:  (IF UNION ELSE) MINUS updated vars
 		for (Entry<String,ConstIdentifier> e : constVarsIfCopy.entrySet() ){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 1174e27..3db1e56 100644
--- a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
+++ b/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
@@ -28,14 +28,13 @@ import org.apache.sysml.debug.DMLBreakpointManager;
 
 public class MultiAssignmentStatement extends Statement
 {
-		
 	private ArrayList<DataIdentifier> _targetList;
 	private Expression _source;
 		
 	// rewrites statement to support function inlining (creates deep copy) 
 	public Statement rewriteStatement(String prefix) throws LanguageException{
 				
-		ArrayList<DataIdentifier> newTargetList = new ArrayList<DataIdentifier>();
+		ArrayList<DataIdentifier> newTargetList = new ArrayList<>();
 		
 		// rewrite targetList (deep copy)
 		for (DataIdentifier target : _targetList){

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 a93f508..a636519 100644
--- a/src/main/java/org/apache/sysml/parser/OutputStatement.java
+++ b/src/main/java/org/apache/sysml/parser/OutputStatement.java
@@ -90,7 +90,7 @@ public class OutputStatement extends Statement
 		
 		// rewrite parameter expressions (creates deep copy)
 		DataOp op = _paramsExpr.getOpCode();
-		HashMap<String,Expression> newExprParams = new HashMap<String,Expression>();
+		HashMap<String,Expression> newExprParams = new HashMap<>();
 		for (String key : _paramsExpr.getVarParams().keySet()){
 			Expression newExpr = _paramsExpr.getVarParam(key).rewriteExpression(prefix);
 			newExprParams.put(key, newExpr);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
index 8efbc9f..1e9cc15 100644
--- a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
@@ -97,15 +97,15 @@ public class ParForStatementBlock extends ForStatementBlock
 	private static HashMap<String, LinearFunction> _fncache; //slower for most (small cases) cases
 	
 	//instance members
-	private long 		      _ID         = -1;
-	private VariableSet       _vsParent   = null;  
+	private final long _ID;
+	private VariableSet       _vsParent   = null;
 	private ArrayList<String> _resultVars = null;
 	private Bounds            _bounds     = null;
 	
 	static
 	{
 		// populate parameter name lookup-table
-		_paramNames = new HashSet<String>();
+		_paramNames = new HashSet<>();
 		_paramNames.add( CHECK ); 
 		_paramNames.add( PAR ); 
 		_paramNames.add( TASK_PARTITIONER ); 
@@ -118,7 +118,7 @@ public class ParForStatementBlock extends ForStatementBlock
 		_paramNames.add( OPT_LOG ); 
 		
 		// populate defaults lookup-table
-		_paramDefaults = new HashMap<String, String>();
+		_paramDefaults = new HashMap<>();
 		_paramDefaults.put( CHECK,             "1" );
 		_paramDefaults.put( PAR,               String.valueOf(InfrastructureAnalyzer.getLocalParallelism()) );
 		_paramDefaults.put( TASK_PARTITIONER,  String.valueOf(PTaskPartitioner.FIXED) );
@@ -130,7 +130,7 @@ public class ParForStatementBlock extends ForStatementBlock
 		_paramDefaults.put( PROFILE,           "0" );
 		_paramDefaults.put( OPT_LOG,           OptimizerUtils.getDefaultLogLevel().toString() );
 		
-		_paramDefaults2 = new HashMap<String, String>(); //OPT_MODE always specified
+		_paramDefaults2 = new HashMap<>(); //OPT_MODE always specified
 		_paramDefaults2.put( CHECK,            "1" );
 		_paramDefaults2.put( PAR,              "-1" );
 		_paramDefaults2.put( TASK_PARTITIONER, String.valueOf(PTaskPartitioner.UNSPECIFIED) );
@@ -146,7 +146,7 @@ public class ParForStatementBlock extends ForStatementBlock
 
 		//initialize function cache
 		if( USE_FN_CACHE ) {
-			_fncache = new HashMap<String, LinearFunction>();
+			_fncache = new HashMap<>();
 		}
 		
 		// for internal debugging only
@@ -156,10 +156,9 @@ public class ParForStatementBlock extends ForStatementBlock
 		}
 	}
 	
-	public ParForStatementBlock()
-	{
-		_ID         = _idSeq.getNextID();
-		_resultVars = new ArrayList<String>();
+	public ParForStatementBlock() {
+		_ID = _idSeq.getNextID();
+		_resultVars = new ArrayList<>();
 		
 		LOG.trace("PARFOR("+_ID+"): ParForStatementBlock instance created");
 	}
@@ -248,7 +247,7 @@ public class ParForStatementBlock extends ForStatementBlock
 		else
 		{
 			//set all defaults
-			params = new HashMap<String, String>();
+			params = new HashMap<>();
 			params.putAll( _paramDefaults );
 			predicate.setParForParams(params);
 		}	
@@ -285,8 +284,8 @@ public class ParForStatementBlock extends ForStatementBlock
 		LOG.trace("PARFOR: running loop dependency analysis ...");
 
 		//### Step 1 ###: determine candidate set C
-		HashSet<Candidate> C = new HashSet<Candidate>(); 
-		HashSet<Candidate> C2 = new HashSet<Candidate>(); 
+		HashSet<Candidate> C = new HashSet<>(); 
+		HashSet<Candidate> C2 = new HashSet<>(); 
 		Integer sCount = 0; //object for call by ref 
 		rDetermineCandidates(pfs.getBody(), C, sCount);
 
@@ -364,14 +363,14 @@ public class ParForStatementBlock extends ForStatementBlock
 			if( check || var._dat.getDataType()!=DataType.SCALAR )
 				addToResultVariablesNoDup( var._var );
 		//b) get and add child result vars (if required)
-		ArrayList<String> tmp = new ArrayList<String>();
+		ArrayList<String> tmp = new ArrayList<>();
 		rConsolidateResultVars(pfs.getBody(), tmp);
 		for( String var : tmp )
 			if(_vsParent.containsVariable(var))
-				addToResultVariablesNoDup( var );			
+				addToResultVariablesNoDup( var );
 		if( LDEBUG )
 			for( String rvar : _resultVars )
-				LOG.debug("INFO: PARFOR final result variable: "+rvar);		
+				LOG.debug("INFO: PARFOR final result variable: "+rvar);
 		
 		//cleanup function cache in order to prevent side effects between parfor statements
 		if( USE_FN_CACHE )
@@ -382,17 +381,14 @@ public class ParForStatementBlock extends ForStatementBlock
 		return vs;
 	}
 	
-	public ArrayList<String> getReadOnlyParentVars() 
-	{
-		ArrayList<String> ret = new ArrayList<String>();
-
+	public ArrayList<String> getReadOnlyParentVars() {
+		ArrayList<String> ret = new ArrayList<>();
 		VariableSet read = variablesRead();
 		VariableSet updated = variablesUpdated();
 		VariableSet livein = liveIn();	
 		for( String var : livein.getVariableNames() ) //for all parent variables
 			if( read.containsVariable(var) && !updated.containsVariable(var) ) //read-only
 				ret.add( var );
-		
 		return ret;
 	}
 
@@ -408,7 +404,7 @@ public class ParForStatementBlock extends ForStatementBlock
 	public PartitionFormat determineDataPartitionFormat(String var) 
 	{
 		PartitionFormat dpf = null;
-		List<PartitionFormat> dpfc = new LinkedList<PartitionFormat>();
+		List<PartitionFormat> dpfc = new LinkedList<>();
 		
 		try 
 		{
@@ -865,7 +861,7 @@ public class ParForStatementBlock extends ForStatementBlock
 		else if (s instanceof PrintStatement)
 		{
 			PrintStatement s2 = (PrintStatement)s;
-			ret = new ArrayList<DataIdentifier>();
+			ret = new ArrayList<>();
 			for (Expression expression : s2.getExpressions()) {
 				List<DataIdentifier> dataIdentifiers = rGetDataIdentifiers(expression);
 				ret.addAll(dataIdentifiers);
@@ -918,7 +914,7 @@ public class ParForStatementBlock extends ForStatementBlock
 	
 	private List<DataIdentifier> rGetDataIdentifiers(Expression e)
 	{
-		List<DataIdentifier> ret = new ArrayList<DataIdentifier>();
+		List<DataIdentifier> ret = new ArrayList<>();
 		
 		if( e instanceof DataIdentifier && 
 			!(e instanceof FunctionCallIdentifier || e instanceof BuiltinFunctionExpression || e instanceof ParameterizedBuiltinFunctionExpression) )
@@ -2016,14 +2012,12 @@ public class ParForStatementBlock extends ForStatementBlock
 	 * loop constructs. 
 	 *
 	 */
-	private static class Bounds
-	{
-		HashMap<String, Long> _lower     = new HashMap<String, Long>();
-		HashMap<String, Long> _upper     = new HashMap<String, Long>();
-		HashMap<String, Long> _increment = new HashMap<String, Long>();
-		
+	private static class Bounds {
+		HashMap<String, Long> _lower     = new HashMap<>();
+		HashMap<String, Long> _upper     = new HashMap<>();
+		HashMap<String, Long> _increment = new HashMap<>();
 		//contains all local variable names (subset of lower/upper/incr sets)
-		HashSet<String> _local = new HashSet<String>();
+		HashSet<String> _local = new HashSet<>();
 	}
 	
 	/**

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 e2cd5a2..3286049 100644
--- a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
@@ -43,7 +43,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 	
 	private static HashMap<String, Expression.ParameterizedBuiltinFunctionOp> opcodeMap;
 	static {
-		opcodeMap = new HashMap<String, Expression.ParameterizedBuiltinFunctionOp>();
+		opcodeMap = new HashMap<>();
 		opcodeMap.put("aggregate", Expression.ParameterizedBuiltinFunctionOp.GROUPEDAGG);
 		opcodeMap.put("groupedAggregate", Expression.ParameterizedBuiltinFunctionOp.GROUPEDAGG);
 		opcodeMap.put("removeEmpty",Expression.ParameterizedBuiltinFunctionOp.RMEMPTY);
@@ -78,7 +78,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 	
 	public static HashMap<Expression.ParameterizedBuiltinFunctionOp, ParamBuiltinOp> pbHopMap;
 	static {
-		pbHopMap = new HashMap<Expression.ParameterizedBuiltinFunctionOp, ParamBuiltinOp>();
+		pbHopMap = new HashMap<>();
 		
 		pbHopMap.put(Expression.ParameterizedBuiltinFunctionOp.GROUPEDAGG, ParamBuiltinOp.GROUPEDAGG);
 		pbHopMap.put(Expression.ParameterizedBuiltinFunctionOp.RMEMPTY, ParamBuiltinOp.RMEMPTY);
@@ -116,7 +116,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 		if ( pbifop == null ) 
 			return null;
 		
-		HashMap<String,Expression> varParams = new HashMap<String,Expression>();
+		HashMap<String,Expression> varParams = new HashMap<>();
 		for (ParameterExpression pexpr : paramExprsPassed)
 			varParams.put(pexpr.getName(), pexpr.getExpr());
 		
@@ -141,15 +141,13 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 	}
 
 	public Expression rewriteExpression(String prefix) throws LanguageException {
-		
-		HashMap<String,Expression> newVarParams = new HashMap<String,Expression>();
+		HashMap<String,Expression> newVarParams = new HashMap<>();
 		for (String key : _varParams.keySet()){
 			Expression newExpr = _varParams.get(key).rewriteExpression(prefix);
 			newVarParams.put(key, newExpr);
-		}	
-		ParameterizedBuiltinFunctionExpression retVal = new ParameterizedBuiltinFunctionExpression(_opcode,
-				newVarParams, this);
-
+		}
+		ParameterizedBuiltinFunctionExpression retVal = 
+			new ParameterizedBuiltinFunctionExpression(_opcode, newVarParams, this);
 		return retVal;
 	}
 
@@ -704,7 +702,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
 		
 		// check validate parameter names
 		String[] validArgsArr = {"target", "rows", "cols", "decimal", "sparse", "sep", "linesep"};
-		HashSet<String> validArgs = new HashSet<String>(Arrays.asList(validArgsArr));
+		HashSet<String> validArgs = new HashSet<>(Arrays.asList(validArgsArr));
 		for( String k : varParams.keySet() ) {
 			if( !validArgs.contains(k) ) {
 				raiseValidateError("Invalid parameter " + k + " for toString, valid parameters are " + 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 16e9e4a..27a5f0a 100644
--- a/src/main/java/org/apache/sysml/parser/PrintStatement.java
+++ b/src/main/java/org/apache/sysml/parser/PrintStatement.java
@@ -37,7 +37,7 @@ public class PrintStatement extends Statement
 	 */
 	public enum PRINTTYPE {
 		PRINT, PRINTF, STOP
-	};
+	}
 
 	protected PRINTTYPE _type; // print, printf, or stop
 	protected List<Expression> expressions;
@@ -75,14 +75,14 @@ public class PrintStatement extends Statement
 			throws LanguageException {
 		_type = type;
 		if (expressions == null) {
-			this.expressions = new ArrayList<Expression>();
+			this.expressions = new ArrayList<>();
 		} else {
 			this.expressions = expressions;
 		}
 	}
 
 	public Statement rewriteStatement(String prefix) throws LanguageException{
-		List<Expression> newExpressions = new ArrayList<Expression>();
+		List<Expression> newExpressions = new ArrayList<>();
 		for (Expression oldExpression : expressions) {
 			Expression newExpression = oldExpression.rewriteExpression(prefix);
 			newExpressions.add(newExpression);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 d901119..71c1894 100644
--- a/src/main/java/org/apache/sysml/parser/StatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/StatementBlock.java
@@ -60,16 +60,16 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 
 	public StatementBlock() {
 		_dmlProg = null;
-		_statements = new ArrayList<Statement>();
+		_statements = new ArrayList<>();
 		_read = new VariableSet();
 		_updated = new VariableSet();
 		_gen = new VariableSet();
 		_kill = new VariableSet();
 		_warnSet = new VariableSet();
 		_initialized = true;
-		_constVarsIn = new HashMap<String,ConstIdentifier>();
-		_constVarsOut = new HashMap<String,ConstIdentifier>();
-		_updateInPlaceVars = new ArrayList<String>();
+		_constVarsIn = new HashMap<>();
+		_constVarsOut = new HashMap<>();
+		_updateInPlaceVars = new ArrayList<>();
 	}
 
 	public void setDMLProg(DMLProgram dmlProg){
@@ -322,8 +322,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 			}
 		}
 
-		ArrayList<StatementBlock> result = new ArrayList<StatementBlock>();
-
+		ArrayList<StatementBlock> result = new ArrayList<>();
 		StatementBlock currentBlock = null;
 
 		for (int i = 0; i < body.size(); i++){
@@ -367,13 +366,10 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 	}
 
 	public static ArrayList<StatementBlock> mergeStatementBlocks(ArrayList<StatementBlock> sb){
+		if (sb == null || sb.isEmpty())
+			return new ArrayList<>();
 
-		ArrayList<StatementBlock> result = new ArrayList<StatementBlock>();
-
-		if (sb == null || sb.isEmpty()) {
-			return new ArrayList<StatementBlock>();
-		}
-
+		ArrayList<StatementBlock> result = new ArrayList<>();
 		StatementBlock currentBlock = null;
 
 		for (int i = 0; i < sb.size(); i++){
@@ -404,7 +400,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 
 	public ArrayList<Statement> rewriteFunctionCallStatements (DMLProgram dmlProg, ArrayList<Statement> statements) throws LanguageException {
 
-		ArrayList<Statement> newStatements = new ArrayList<Statement>();
+		ArrayList<Statement> newStatements = new ArrayList<>();
 		for (Statement current : statements){
 			if (isRewritableFunctionCall(current, dmlProg)){
 
@@ -548,7 +544,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
 		_statements = rewriteFunctionCallStatements(dmlProg, _statements);
 		_dmlProg = dmlProg;
 		
-		HashMap<String, ConstIdentifier> currConstVars = new HashMap<String,ConstIdentifier>(constVars);
+		HashMap<String, ConstIdentifier> currConstVars = new HashMap<>(constVars);
 		for (Statement current : _statements) {
 			if (current instanceof OutputStatement) {
 				OutputStatement os = (OutputStatement)current;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 c2a1151..29c4ae3 100644
--- a/src/main/java/org/apache/sysml/parser/VariableSet.java
+++ b/src/main/java/org/apache/sysml/parser/VariableSet.java
@@ -28,11 +28,11 @@ public class VariableSet
 	private HashMap<String,DataIdentifier> _variables;
 	
 	public VariableSet() {
-		_variables = new HashMap<String,DataIdentifier>();
+		_variables = new HashMap<>();
 	}
 	
 	public VariableSet( VariableSet vs ) {
-		_variables = new HashMap<String,DataIdentifier>();
+		_variables = new HashMap<>();
 		if (vs != null)
 			_variables.putAll(vs.getVariables());
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 7e347d0..e210818 100644
--- a/src/main/java/org/apache/sysml/parser/WhileStatement.java
+++ b/src/main/java/org/apache/sysml/parser/WhileStatement.java
@@ -25,8 +25,6 @@ import java.util.ArrayList;
 
 public class WhileStatement extends Statement
 {
-		
-	
 	private ConditionalPredicate _predicate;
 	private ArrayList<StatementBlock> _body;
 	
@@ -35,16 +33,15 @@ public class WhileStatement extends Statement
 		throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for WhileStatement");
 	}
 	
-	public WhileStatement(){
-		 _predicate = null;
-		 _body = new ArrayList<StatementBlock>();
+	public WhileStatement() {
+		_predicate = null;
+		_body = new ArrayList<>();
 	}
 	
 	public void setPredicate(ConditionalPredicate pred){
 		_predicate = pred;
 	}
-	
-	
+		
 	public void addStatementBlock(StatementBlock sb){
 		_body.add(sb);
 	}
@@ -66,7 +63,6 @@ public class WhileStatement extends Statement
 		return true;
 	}
 	
-
 	public void mergeStatementBlocks(){
 		_body = StatementBlock.mergeStatementBlocks(_body);
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/common/CommonSyntacticValidator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/common/CommonSyntacticValidator.java b/src/main/java/org/apache/sysml/parser/common/CommonSyntacticValidator.java
index bab9cd0..890bad2 100644
--- a/src/main/java/org/apache/sysml/parser/common/CommonSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/common/CommonSyntacticValidator.java
@@ -68,7 +68,7 @@ public abstract class CommonSyntacticValidator {
 	protected String sourceNamespace = null;
 	// Track imported scripts to prevent infinite recursion
 	protected static ThreadLocal<HashMap<String, String>> _scripts = new ThreadLocal<HashMap<String, String>>() {
-		@Override protected HashMap<String, String> initialValue() { return new HashMap<String, String>(); }
+		@Override protected HashMap<String, String> initialValue() { return new HashMap<>(); }
 	};
 	// Map namespaces to full paths as defined only from source statements in this script (i.e., currentFile)
 	protected HashMap<String, String> sources;
@@ -84,8 +84,8 @@ public abstract class CommonSyntacticValidator {
 		currentFile = errorListener.getCurrentFileName();
 		this.argVals = argVals;
 		this.sourceNamespace = sourceNamespace;
-		sources = new HashMap<String, String>();
-		functions = (null != prepFunctions) ? prepFunctions : new HashSet<String>();
+		sources = new HashMap<>();
+		functions = (null != prepFunctions) ? prepFunctions : new HashSet<>();
 	}
 
 	protected void notifyErrorListeners(String message, Token op) {
@@ -466,7 +466,7 @@ public abstract class CommonSyntacticValidator {
 				return;
 			}
 			try {
-				List<Expression> expList = new ArrayList<Expression>();
+				List<Expression> expList = new ArrayList<>();
 				expList.add(expr);
 				thisinfo.stmt = new PrintStatement(ctx, functionName, expList, currentFile);
 			} catch (LanguageException e) {
@@ -489,7 +489,7 @@ public abstract class CommonSyntacticValidator {
 				return;
 			}
 			try {
-				List<Expression> expressions = new ArrayList<Expression>();
+				List<Expression> expressions = new ArrayList<>();
 				for (ParameterExpression pe : paramExpression) {
 					Expression expression = pe.getExpr();
 					expressions.add(expression);
@@ -509,7 +509,7 @@ public abstract class CommonSyntacticValidator {
 			return;
 		}
 		if(paramExpression.get(0).getExpr() instanceof DataIdentifier) {
-			HashMap<String, Expression> varParams = new HashMap<String, Expression>();
+			HashMap<String, Expression> varParams = new HashMap<>();
 			varParams.put(DataExpression.IO_FILENAME, paramExpression.get(1).getExpr());
 			for(int i = 2; i < paramExpression.size(); i++) {
 				// DataExpression.FORMAT_TYPE, DataExpression.DELIM_DELIMITER, DataExpression.DELIM_HAS_HEADER_ROW,  DataExpression.DELIM_SPARSE
@@ -550,7 +550,7 @@ public abstract class CommonSyntacticValidator {
 			this.functionName = functionName;
 			this.paramExpression = paramExpression;
 		}
-	};
+	}
 
 	/**
 	 * Converts PyDML/DML built in functions to a common format for the runtime.

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/common/CustomErrorListener.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/common/CustomErrorListener.java b/src/main/java/org/apache/sysml/parser/common/CustomErrorListener.java
index 6a27acf..2af5f69 100644
--- a/src/main/java/org/apache/sysml/parser/common/CustomErrorListener.java
+++ b/src/main/java/org/apache/sysml/parser/common/CustomErrorListener.java
@@ -42,7 +42,7 @@ public class CustomErrorListener extends BaseErrorListener {
 	/**
 	 * List of parse issues.
 	 */
-	private List<ParseIssue> parseIssues = new ArrayList<ParseIssue>();
+	private List<ParseIssue> parseIssues = new ArrayList<>();
 
 	public void setCurrentFileName(String currentFilePath) {
 		currentFileName = currentFilePath;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/dml/DmlPreprocessor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/dml/DmlPreprocessor.java b/src/main/java/org/apache/sysml/parser/dml/DmlPreprocessor.java
index 823aef0..11d6c7f 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DmlPreprocessor.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DmlPreprocessor.java
@@ -87,7 +87,7 @@ public class DmlPreprocessor implements DmlListener {
 
 	public DmlPreprocessor(CustomErrorListener errorListener) {
 		this.errorListener = errorListener;
-		functions = new HashSet<String>();
+		functions = new HashSet<>();
 	}
 
 	public Set<String> getFunctionDefs() {