nemo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jeongy...@apache.org
Subject [incubator-nemo] branch master updated: [NEMO-10] Handle Method Javadocs Requirements for Checkstyle Warnings (#170)
Date Thu, 06 Dec 2018 06:15:38 GMT
This is an automated email from the ASF dual-hosted git repository.

jeongyoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nemo.git


The following commit(s) were added to refs/heads/master by this push:
     new d8bdaca  [NEMO-10] Handle Method Javadocs Requirements for Checkstyle Warnings (#170)
d8bdaca is described below

commit d8bdaca5153783d2dc4e4a53d5d6ee3bbd4c9d87
Author: Eunji Jeong <egjung49@gmail.com>
AuthorDate: Thu Dec 6 15:15:32 2018 +0900

    [NEMO-10] Handle Method Javadocs Requirements for Checkstyle Warnings (#170)
    
    JIRA: NEMO-10: [NEMO-10] Handle Method Javadocs Requirements for Checkstyle Warnings
    
    **Major changes:**
    Handle Method Javadocs Requirements for Checkstyle Warnings in compiler, client, examples
    
    **Minor changes to note:**
    Removed the unused parameter of generateMetricCollectVertex method in SkewReshapingPass.java.
    
    **Tests for the changes:**
    maven checkstyle tests.
---
 checkstyle.xml                                     |  6 +-
 .../java/org/apache/nemo/client/JobLauncher.java   |  1 +
 .../apache/nemo/common/DataSkewMetricFactory.java  |  4 ++
 .../java/org/apache/nemo/common/HashRange.java     |  8 +++
 .../java/org/apache/nemo/common/StateMachine.java  |  4 +-
 .../nemo/common/coder/BytesDecoderFactory.java     |  1 +
 .../nemo/common/coder/BytesEncoderFactory.java     |  1 +
 .../nemo/common/coder/IntDecoderFactory.java       |  1 +
 .../nemo/common/coder/IntEncoderFactory.java       |  1 +
 .../nemo/common/coder/LongDecoderFactory.java      |  1 +
 .../nemo/common/coder/LongEncoderFactory.java      |  1 +
 .../org/apache/nemo/common/ir/OutputCollector.java |  2 +
 .../java/org/apache/nemo/common/ir/Readable.java   |  2 +
 .../ir/executionproperty/AssociatedProperty.java   |  3 +
 .../ir/executionproperty/ExecutionPropertyMap.java |  3 +
 .../org/apache/nemo/common/ir/vertex/IRVertex.java |  7 ++
 .../apache/nemo/common/ir/vertex/SourceVertex.java |  3 +
 .../vertex/transform/AggregateMetricTransform.java |  2 +
 .../vertex/transform/MetricCollectTransform.java   |  3 +
 .../vertex/transform/NoWatermarkEmitTransform.java |  3 +
 .../nemo/common/ir/vertex/transform/Transform.java |  1 +
 .../apache/nemo/common/punctuation/Finishmark.java |  6 ++
 .../apache/nemo/common/punctuation/Watermark.java  |  7 ++
 .../org/apache/nemo/common/test/ArgBuilder.java    |  4 ++
 .../apache/nemo/common/test/EmptyComponents.java   |  3 +
 .../apache/nemo/common/test/ExampleTestArgs.java   |  6 ++
 .../apache/nemo/common/test/ExampleTestUtil.java   |  2 +-
 .../nemo/compiler/backend/nemo/NemoBackend.java    |  1 +
 .../frontend/beam/InMemorySideInputReader.java     |  3 +
 .../frontend/beam/NemoPipelineOptions.java         | 12 ++++
 .../frontend/beam/PipelineTranslationContext.java  | 30 ++++++++
 .../compiler/frontend/beam/PipelineTranslator.java | 80 ++++++++++++++++++++--
 .../compiler/frontend/beam/PipelineVisitor.java    |  7 ++
 .../compiler/frontend/beam/SideInputElement.java   | 10 +++
 .../frontend/beam/coder/SideInputCoder.java        |  2 +
 .../beam/source/BeamUnboundedSourceVertex.java     |  9 +++
 .../beam/transform/AbstractDoFnTransform.java      | 36 ++++++++++
 .../beam/transform/CombineFnFinalTransform.java    |  1 +
 .../beam/transform/CombineFnPartialTransform.java  |  1 +
 .../beam/transform/CreateViewTransform.java        |  1 +
 .../beam/transform/DefaultOutputManager.java       |  4 ++
 .../frontend/beam/transform/DoFnTransform.java     |  8 +++
 .../GroupByKeyAndWindowDoFnTransform.java          | 22 ++++++
 .../beam/transform/PushBackDoFnTransform.java      | 12 ++++
 .../beam/transform/SideInputTransform.java         |  1 +
 .../frontend/beam/transform/WindowFnTransform.java |  1 +
 .../frontend/spark/SparkBroadcastVariables.java    |  3 +
 .../frontend/spark/core/SparkBroadcast.java        |  5 ++
 .../nemo/compiler/optimizer/NemoOptimizer.java     |  6 ++
 .../optimizer/pass/compiletime/Requires.java       |  3 +
 .../pass/compiletime/annotating/Annotates.java     |  3 +
 .../annotating/ResourceLocalityPass.java           |  3 +
 .../compiletime/annotating/ResourceSitePass.java   | 30 ++++++++
 .../compiletime/annotating/ResourceSlotPass.java   |  3 +
 .../annotating/SkewResourceSkewedDataPass.java     |  5 ++
 .../pass/compiletime/composite/CompositePass.java  |  3 +
 .../pass/compiletime/reshaping/ReshapingPass.java  |  3 +
 .../compiletime/reshaping/SkewReshapingPass.java   | 22 +++++-
 .../nemo/examples/beam/AlternatingLeastSquare.java |  4 ++
 .../nemo/examples/beam/NetworkTraceAnalysis.java   |  8 +++
 .../nemo/examples/beam/PerPercentileAverage.java   | 30 ++++++++
 .../nemo/examples/beam/WindowedBroadcast.java      |  4 ++
 .../nemo/examples/beam/WindowedWordCount.java      |  5 ++
 .../nemo/examples/beam/WriteOneFilePerWindow.java  | 16 +++++
 suppressions.xml                                   | 28 ++++++++
 65 files changed, 500 insertions(+), 11 deletions(-)

diff --git a/checkstyle.xml b/checkstyle.xml
index c7f8761..e3d0b28 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -77,6 +77,10 @@ under the License.
         <property name="message" value="Line has trailing spaces."/>
     </module>
 
+    <module name="SuppressionFilter">
+        <property name="file" value="suppressions.xml"/>
+    </module>
+
     <module name="SuppressWarningsFilter" />
 
     <module name="TreeWalker">
@@ -84,7 +88,7 @@ under the License.
         <!-- Checks for Javadoc comments.                     -->
         <!-- See http://checkstyle.sf.net/config_javadoc.html -->
         <module name="JavadocMethod">
-            <property name="severity" value="warning"/>
+            <property name="severity" value="error"/>
         </module>
         <module name="JavadocType"/>
         <!--<module name="JavadocVariable"/>-->
diff --git a/client/src/main/java/org/apache/nemo/client/JobLauncher.java b/client/src/main/java/org/apache/nemo/client/JobLauncher.java
index f95bc73..e849aca 100644
--- a/client/src/main/java/org/apache/nemo/client/JobLauncher.java
+++ b/client/src/main/java/org/apache/nemo/client/JobLauncher.java
@@ -438,6 +438,7 @@ public final class JobLauncher {
    * @param jobConf           job configuration to get json path.
    * @param pathParameter     named parameter represents path to the json file, or an empty string
    * @param contentsParameter named parameter represents contents of the file
+   * @param defaultContent    the default configuration
    * @return configuration with contents of the file, or an empty string as value for {@code contentsParameter}
    * @throws InjectionException exception while injection.
    */
diff --git a/common/src/main/java/org/apache/nemo/common/DataSkewMetricFactory.java b/common/src/main/java/org/apache/nemo/common/DataSkewMetricFactory.java
index 0de2137..8d7f166 100644
--- a/common/src/main/java/org/apache/nemo/common/DataSkewMetricFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/DataSkewMetricFactory.java
@@ -28,11 +28,15 @@ public final class DataSkewMetricFactory implements MetricFactory<Map<Integer, K
 
   /**
    * Default constructor.
+   * @param metric metric.
    */
   public DataSkewMetricFactory(final Map<Integer, KeyRange> metric) {
     this.metric = metric;
   }
 
+  /**
+   * @return the metric.
+   */
   public Map<Integer, KeyRange> getMetric() {
     return metric;
   }
diff --git a/common/src/main/java/org/apache/nemo/common/HashRange.java b/common/src/main/java/org/apache/nemo/common/HashRange.java
index 1ca0007..6a5f195 100644
--- a/common/src/main/java/org/apache/nemo/common/HashRange.java
+++ b/common/src/main/java/org/apache/nemo/common/HashRange.java
@@ -33,6 +33,7 @@ public final class HashRange implements KeyRange<Integer> {
    * Private constructor.
    * @param rangeBeginInclusive point at which the hash range starts (inclusive).
    * @param rangeEndExclusive point at which the hash range ends (exclusive).
+   * @param isSkewed whether or not the range is skewed
    */
   private HashRange(final int rangeBeginInclusive, final int rangeEndExclusive, final boolean isSkewed) {
     if (rangeBeginInclusive < 0 || rangeEndExclusive < 0) {
@@ -53,6 +54,7 @@ public final class HashRange implements KeyRange<Integer> {
   /**
    * @param rangeStartInclusive the start of the range (inclusive)
    * @param rangeEndExclusive   the end of the range (exclusive)
+   * @param isSkewed  whether or not the range is skewed
    * @return A hash range descriptor representing [{@code rangeBeginInclusive}, {@code rangeEndExclusive})
    */
   public static HashRange of(final int rangeStartInclusive, final int rangeEndExclusive, final boolean isSkewed) {
@@ -119,6 +121,9 @@ public final class HashRange implements KeyRange<Integer> {
     return true;
   }
 
+  /**
+   * @return the hash value.
+   */
   @Override
   public int hashCode() {
     return Arrays.hashCode(new Object[] {
@@ -128,6 +133,9 @@ public final class HashRange implements KeyRange<Integer> {
     });
   }
 
+  /**
+   * @return whether or not the range is skewed.
+   */
   public boolean isSkewed() {
     return isSkewed;
   }
diff --git a/common/src/main/java/org/apache/nemo/common/StateMachine.java b/common/src/main/java/org/apache/nemo/common/StateMachine.java
index 24180e2..28740a9 100644
--- a/common/src/main/java/org/apache/nemo/common/StateMachine.java
+++ b/common/src/main/java/org/apache/nemo/common/StateMachine.java
@@ -61,7 +61,7 @@ public final class StateMachine {
    * Sets the current state as a certain state.
    *
    * @param state a state
-   * @throws RuntimeException if the state is unknown state, or the transition
+   * @throws IllegalStateTransitionException the state is unknown state, or the transition
    * from the current state to the specified state is illegal
    */
   public synchronized void setState(final Enum state) throws IllegalStateTransitionException {
@@ -86,7 +86,7 @@ public final class StateMachine {
    * @param state a state
    * @return {@code true} if successful. {@code false} indicates that
    * the actual value was not equal to the expected value.
-   * @throws RuntimeException if the state is unknown state, or the transition
+   * @throws IllegalStateTransitionException if the state is unknown state, or the transition
    * from the current state to the specified state is illegal
    */
   public synchronized boolean compareAndSetState(final Enum expectedCurrentState,
diff --git a/common/src/main/java/org/apache/nemo/common/coder/BytesDecoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/BytesDecoderFactory.java
index 1bb8185..5bf1e64 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/BytesDecoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/BytesDecoderFactory.java
@@ -43,6 +43,7 @@ public final class BytesDecoderFactory implements DecoderFactory<byte[]> {
 
   /**
    * Static initializer of the decoder.
+   * @return the initializer.
    */
   public static BytesDecoderFactory of() {
     return BYTES_DECODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/coder/BytesEncoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/BytesEncoderFactory.java
index 3a5af26..970f20e 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/BytesEncoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/BytesEncoderFactory.java
@@ -40,6 +40,7 @@ public final class BytesEncoderFactory implements EncoderFactory<byte[]> {
 
   /**
    * Static initializer of the encoder.
+   * @return the initializer.
    */
   public static BytesEncoderFactory of() {
     return BYTES_ENCODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/coder/IntDecoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/IntDecoderFactory.java
index 561816f..1d25deb 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/IntDecoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/IntDecoderFactory.java
@@ -36,6 +36,7 @@ public final class IntDecoderFactory implements DecoderFactory<Integer> {
 
   /**
    * Static initializer of the coder.
+   * @return the initializer.
    */
   public static IntDecoderFactory of() {
     return INT_DECODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/coder/IntEncoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/IntEncoderFactory.java
index 37834f5..4747ae9 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/IntEncoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/IntEncoderFactory.java
@@ -36,6 +36,7 @@ public final class IntEncoderFactory implements EncoderFactory<Integer> {
 
   /**
    * Static initializer of the coder.
+   * @return the initializer.
    */
   public static IntEncoderFactory of() {
     return INT_ENCODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/coder/LongDecoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/LongDecoderFactory.java
index 409e222..f212c1f 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/LongDecoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/LongDecoderFactory.java
@@ -38,6 +38,7 @@ public final class LongDecoderFactory implements DecoderFactory<Long> {
 
   /**
    * Static initializer of the coder.
+   * @return the initializer.
    */
   public static LongDecoderFactory of() {
     return LONG_DECODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/coder/LongEncoderFactory.java b/common/src/main/java/org/apache/nemo/common/coder/LongEncoderFactory.java
index 2d96fc7..13ad573 100644
--- a/common/src/main/java/org/apache/nemo/common/coder/LongEncoderFactory.java
+++ b/common/src/main/java/org/apache/nemo/common/coder/LongEncoderFactory.java
@@ -38,6 +38,7 @@ public final class LongEncoderFactory implements EncoderFactory<Long> {
 
   /**
    * Static initializer of the coder.
+   * @return the initializer.
    */
   public static LongEncoderFactory of() {
     return LONG_ENCODER_FACTORY;
diff --git a/common/src/main/java/org/apache/nemo/common/ir/OutputCollector.java b/common/src/main/java/org/apache/nemo/common/ir/OutputCollector.java
index a0a79f8..3fe333a 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/OutputCollector.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/OutputCollector.java
@@ -37,6 +37,7 @@ public interface OutputCollector<O> extends Serializable {
 
   /**
    * Emit watermark to downstream vertices.
+   * @param watermark watermark
    */
   void emitWatermark(Watermark watermark);
 
@@ -46,6 +47,7 @@ public interface OutputCollector<O> extends Serializable {
    * for operations like multi-output map.
    * @param dstVertexId destination vertex id.
    * @param output value.
+   * @param <T> output type.
    */
   <T> void emit(String dstVertexId, T output);
 }
diff --git a/common/src/main/java/org/apache/nemo/common/ir/Readable.java b/common/src/main/java/org/apache/nemo/common/ir/Readable.java
index 785d662..c18c9e1 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/Readable.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/Readable.java
@@ -41,6 +41,7 @@ public interface Readable<O> extends Serializable {
    *
    * It can throw NoSuchElementException although it is not finished in Unbounded source.
    * @return a data read by the readable.
+   * @throws NoSuchElementException when no element exists
    */
   O readCurrent() throws NoSuchElementException;
 
@@ -67,6 +68,7 @@ public interface Readable<O> extends Serializable {
 
   /**
    * Close.
+   * @throws IOException if file-based reader throws any.
    */
   void close() throws IOException;
 }
diff --git a/common/src/main/java/org/apache/nemo/common/ir/executionproperty/AssociatedProperty.java b/common/src/main/java/org/apache/nemo/common/ir/executionproperty/AssociatedProperty.java
index e49fa0c..4ec22b0 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/executionproperty/AssociatedProperty.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/executionproperty/AssociatedProperty.java
@@ -27,5 +27,8 @@ import java.lang.annotation.*;
 @Documented
 @Retention(RetentionPolicy.RUNTIME)
 public @interface AssociatedProperty {
+  /**
+   * @return the associated {@link ExecutionProperty}.
+   */
   Class<? extends ExecutionProperty> value();
 }
diff --git a/common/src/main/java/org/apache/nemo/common/ir/executionproperty/ExecutionPropertyMap.java b/common/src/main/java/org/apache/nemo/common/ir/executionproperty/ExecutionPropertyMap.java
index fd08d97..dddb050 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/executionproperty/ExecutionPropertyMap.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/executionproperty/ExecutionPropertyMap.java
@@ -194,6 +194,9 @@ public final class ExecutionPropertyMap<T extends ExecutionProperty> implements
     return asJsonNode().toString();
   }
 
+  /**
+   * @return {@link com.fasterxml.jackson.databind.JsonNode} for this execution property map.
+   */
   public ObjectNode asJsonNode() {
     final ObjectMapper mapper = new ObjectMapper();
     final ObjectNode node = mapper.createObjectNode();
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/IRVertex.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/IRVertex.java
index 6b88f53..39cae7d 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/IRVertex.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/IRVertex.java
@@ -106,9 +106,16 @@ public abstract class IRVertex extends Vertex implements Cloneable<IRVertex> {
     return executionProperties;
   }
 
+  /**
+   * Mark that this IRVertex has been added to stage.
+   */
   public final void setStagePartitioned() {
     stagePartitioned = true;
   }
+
+  /**
+   * @return whether or not this IRVertex has been added to a stage.
+   */
   public final boolean getStagePartitioned() {
     return stagePartitioned;
   }
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/SourceVertex.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/SourceVertex.java
index 7892490..d8f6eee 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/SourceVertex.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/SourceVertex.java
@@ -36,6 +36,9 @@ public abstract class SourceVertex<O> extends IRVertex {
     super();
   }
 
+  /**
+   * @return true if it is bounded source
+   */
   public abstract boolean isBounded();
 
   /**
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/AggregateMetricTransform.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/AggregateMetricTransform.java
index 42b04b2..4d1c9da 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/AggregateMetricTransform.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/AggregateMetricTransform.java
@@ -39,6 +39,8 @@ public final class AggregateMetricTransform<I, O> extends NoWatermarkEmitTransfo
 
   /**
    * Default constructor.
+   * @param aggregatedDynOptData initial dynamic optimization data.
+   * @param dynOptDataAggregator aggregator for the dynamic optimization data.
    */
   public AggregateMetricTransform(final O aggregatedDynOptData,
                                   final BiFunction<Object, O, O> dynOptDataAggregator) {
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/MetricCollectTransform.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/MetricCollectTransform.java
index 9670624..05254bc 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/MetricCollectTransform.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/MetricCollectTransform.java
@@ -41,6 +41,9 @@ public final class MetricCollectTransform<I, O> extends NoWatermarkEmitTransform
 
   /**
    * MetricCollectTransform constructor.
+   * @param dynOptData dynamic optimization data.
+   * @param dynOptDataCollector for the data.
+   * @param closer callback function to be invoked when closing the transform.
    */
   public MetricCollectTransform(final O dynOptData,
                                 final BiFunction<Object, O, O> dynOptDataCollector,
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/NoWatermarkEmitTransform.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/NoWatermarkEmitTransform.java
index 7980897..b9fab8d 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/NoWatermarkEmitTransform.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/NoWatermarkEmitTransform.java
@@ -28,6 +28,9 @@ import org.apache.nemo.common.punctuation.Watermark;
  */
 public abstract class NoWatermarkEmitTransform<I, O> implements Transform<I, O> {
 
+  /**
+   * @param watermark watermark
+   */
   @Override
   public final void onWatermark(final Watermark watermark) {
     // do nothing
diff --git a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/Transform.java b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/Transform.java
index 3df39ee..a79c192 100644
--- a/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/Transform.java
+++ b/common/src/main/java/org/apache/nemo/common/ir/vertex/transform/Transform.java
@@ -63,6 +63,7 @@ public interface Transform<I, O> extends Serializable {
    */
   interface Context extends Serializable {
     /**
+     * @param id of the variable to get.
      * @return the broadcast variable.
      */
     Object getBroadcastVariable(Serializable id);
diff --git a/common/src/main/java/org/apache/nemo/common/punctuation/Finishmark.java b/common/src/main/java/org/apache/nemo/common/punctuation/Finishmark.java
index e801c25..34cb2b7 100644
--- a/common/src/main/java/org/apache/nemo/common/punctuation/Finishmark.java
+++ b/common/src/main/java/org/apache/nemo/common/punctuation/Finishmark.java
@@ -25,10 +25,16 @@ package org.apache.nemo.common.punctuation;
 public final class Finishmark {
   private static final Finishmark INSTANCE = new Finishmark();
 
+  /**
+   * private constructor.
+   */
   private Finishmark() {
 
   }
 
+  /**
+   * @return the finish mark.
+   */
   public static Finishmark getInstance() {
     return INSTANCE;
   }
diff --git a/common/src/main/java/org/apache/nemo/common/punctuation/Watermark.java b/common/src/main/java/org/apache/nemo/common/punctuation/Watermark.java
index 1055f0b..6369f9e 100644
--- a/common/src/main/java/org/apache/nemo/common/punctuation/Watermark.java
+++ b/common/src/main/java/org/apache/nemo/common/punctuation/Watermark.java
@@ -27,10 +27,17 @@ import java.util.Objects;
 public final class Watermark implements Serializable, Comparable<Watermark> {
 
   private final long timestamp;
+
+  /**
+   * @param timestamp the watermark timestamp
+   */
   public Watermark(final long timestamp) {
     this.timestamp = timestamp;
   }
 
+  /**
+   * @return the watermark timestamp
+   */
   public long getTimestamp() {
     return timestamp;
   }
diff --git a/common/src/main/java/org/apache/nemo/common/test/ArgBuilder.java b/common/src/main/java/org/apache/nemo/common/test/ArgBuilder.java
index 954015c..8c54b23 100644
--- a/common/src/main/java/org/apache/nemo/common/test/ArgBuilder.java
+++ b/common/src/main/java/org/apache/nemo/common/test/ArgBuilder.java
@@ -74,6 +74,10 @@ public final class ArgBuilder {
     return this;
   }
 
+  /**
+   * @param maxAttempt maximum number of the attempts
+   * @return builder with the maximum number of the attempts
+   */
   public ArgBuilder addMaxTaskAttempt(final int maxAttempt) {
     args.add(Arrays.asList("-max_task_attempt", String.valueOf(maxAttempt)));
     return this;
diff --git a/common/src/main/java/org/apache/nemo/common/test/EmptyComponents.java b/common/src/main/java/org/apache/nemo/common/test/EmptyComponents.java
index ee1ea48..1e950be 100644
--- a/common/src/main/java/org/apache/nemo/common/test/EmptyComponents.java
+++ b/common/src/main/java/org/apache/nemo/common/test/EmptyComponents.java
@@ -47,6 +47,9 @@ import java.util.List;
 public final class EmptyComponents {
   public static final Transform EMPTY_TRANSFORM = new EmptyTransform("");
 
+  /**
+   * private constructor.
+   */
   private EmptyComponents() {
   }
 
diff --git a/common/src/main/java/org/apache/nemo/common/test/ExampleTestArgs.java b/common/src/main/java/org/apache/nemo/common/test/ExampleTestArgs.java
index 7158617..9e0162f 100644
--- a/common/src/main/java/org/apache/nemo/common/test/ExampleTestArgs.java
+++ b/common/src/main/java/org/apache/nemo/common/test/ExampleTestArgs.java
@@ -25,10 +25,16 @@ public final class ExampleTestArgs {
   public static final int TIMEOUT = 240000;
   private static String fileBasePath;
 
+  /**
+   * private constructor.
+   */
   private ExampleTestArgs() {
 
   }
 
+  /**
+   * @return the file base path.
+   */
   public static String getFileBasePath() {
     if (fileBasePath == null) {
       fileBasePath = System.getProperty("user.dir") + "/../resources/";
diff --git a/common/src/main/java/org/apache/nemo/common/test/ExampleTestUtil.java b/common/src/main/java/org/apache/nemo/common/test/ExampleTestUtil.java
index 826fbd0..a9c93b5 100644
--- a/common/src/main/java/org/apache/nemo/common/test/ExampleTestUtil.java
+++ b/common/src/main/java/org/apache/nemo/common/test/ExampleTestUtil.java
@@ -45,7 +45,7 @@ public final class ExampleTestUtil {
    * @param resourcePath root folder for both resources.
    * @param outputFileName output file name.
    * @param testResourceFileName the test result file name.
-   * @throws RuntimeException if the output is invalid.
+   * @throws IOException if the output is invalid.
    */
   public static void ensureOutputValidity(final String resourcePath,
                                           final String outputFileName,
diff --git a/compiler/backend/src/main/java/org/apache/nemo/compiler/backend/nemo/NemoBackend.java b/compiler/backend/src/main/java/org/apache/nemo/compiler/backend/nemo/NemoBackend.java
index 20cd2cf..3b68482 100644
--- a/compiler/backend/src/main/java/org/apache/nemo/compiler/backend/nemo/NemoBackend.java
+++ b/compiler/backend/src/main/java/org/apache/nemo/compiler/backend/nemo/NemoBackend.java
@@ -39,6 +39,7 @@ public final class NemoBackend implements Backend<PhysicalPlan> {
 
   /**
    * Constructor.
+   * @param physicalPlanGenerator physical plan generator.
    */
   @Inject
   private NemoBackend(final PhysicalPlanGenerator physicalPlanGenerator) {
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/InMemorySideInputReader.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/InMemorySideInputReader.java
index 9a18b0c..5383a2c 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/InMemorySideInputReader.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/InMemorySideInputReader.java
@@ -42,6 +42,9 @@ public final class InMemorySideInputReader implements ReadyCheckingSideInputRead
   private final Collection<PCollectionView<?>> sideInputsToRead;
   private final Map<Pair<PCollectionView<?>, BoundedWindow>, Object> inMemorySideInputs;
 
+  /**
+   * @param sideInputsToRead side inputs to read.
+   */
   public InMemorySideInputReader(final Collection<PCollectionView<?>> sideInputsToRead) {
     this.sideInputsToRead = sideInputsToRead;
     this.inMemorySideInputs = new HashMap<>();
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/NemoPipelineOptions.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/NemoPipelineOptions.java
index 1dd3f06..a2ebfcd 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/NemoPipelineOptions.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/NemoPipelineOptions.java
@@ -26,15 +26,27 @@ import org.apache.beam.sdk.options.PipelineOptions;
  * NemoPipelineOptions.
  */
 public interface NemoPipelineOptions extends PipelineOptions {
+  /**
+   * @return the maximum number of elements in a bundle.
+   */
   @Description("The maximum number of elements in a bundle.")
   @Default.Long(1000)
   Long getMaxBundleSize();
 
+  /**
+   * @param size the maximum number of elements in a bundle.
+   */
   void setMaxBundleSize(Long size);
 
+  /**
+   * @return the maximum time to wait before finalising a bundle (in milliseconds).
+   */
   @Description("The maximum time to wait before finalising a bundle (in milliseconds).")
   @Default.Long(1000)
   Long getMaxBundleTimeMills();
 
+  /**
+   * @param time the maximum time to wait before finalising a bundle (in milliseconds).
+   */
   void setMaxBundleTimeMills(Long time);
 }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslationContext.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslationContext.java
index 24c923b..aec816a 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslationContext.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslationContext.java
@@ -69,6 +69,9 @@ final class PipelineTranslationContext {
     this.pipelineOptions = pipelineOptions;
   }
 
+  /**
+   * @param compositeTransform composite transform.
+   */
   void enterCompositeTransform(final TransformHierarchy.Node compositeTransform) {
     if (compositeTransform.getTransform() instanceof LoopCompositeTransform) {
       final LoopVertex loopVertex = new LoopVertex(compositeTransform.getFullName());
@@ -78,6 +81,9 @@ final class PipelineTranslationContext {
     }
   }
 
+  /**
+   * @param compositeTransform composite transform.
+   */
   void leaveCompositeTransform(final TransformHierarchy.Node compositeTransform) {
     if (compositeTransform.getTransform() instanceof LoopCompositeTransform) {
       loopVertexStack.pop();
@@ -164,6 +170,11 @@ final class PipelineTranslationContext {
     }
   }
 
+  /**
+   * @param edge IR edge to add.
+   * @param elementCoder element coder.
+   * @param windowCoder window coder.
+   */
   void addEdge(final IREdge edge, final Coder elementCoder, final Coder windowCoder) {
     edge.setProperty(KeyExtractorProperty.of(new BeamKeyExtractor()));
     if (elementCoder instanceof KvCoder) {
@@ -209,22 +220,40 @@ final class PipelineTranslationContext {
     pValueToProducerVertex.put(output, irVertex);
   }
 
+  /**
+   * @return the pipeline.
+   */
   Pipeline getPipeline() {
     return pipeline;
   }
 
+  /**
+   * @return the pipeline options.
+   */
   PipelineOptions getPipelineOptions() {
     return pipelineOptions;
   }
 
+  /**
+   * @return the dag builder of this translation context.
+   */
   DAGBuilder getBuilder() {
     return builder;
   }
 
+  /**
+   * @param pValue {@link PValue}
+   * @return the producer beam node.
+   */
   TransformHierarchy.Node getProducerBeamNodeOf(final PValue pValue) {
     return pValueToProducerBeamNode.get(pValue);
   }
 
+  /**
+   * @param src source IR vertex.
+   * @param dst destination IR vertex.
+   * @return the communication pattern property value.
+   */
   private CommunicationPatternProperty.Value getCommPattern(final IRVertex src, final IRVertex dst) {
     final Class<?> constructUnionTableFn;
     try {
@@ -256,6 +285,7 @@ final class PipelineTranslationContext {
   /**
    * Get appropriate coder for {@link PCollectionView}.
    * @param view {@link PCollectionView}
+   * @param context translation context.
    * @return appropriate {@link Coder} for {@link PCollectionView}
    */
   private static Coder<?> getCoderForView(final PCollectionView view, final PipelineTranslationContext context) {
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslator.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslator.java
index a6ae6ce..3e000d3 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslator.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineTranslator.java
@@ -91,6 +91,10 @@ final class PipelineTranslator {
     }
   }
 
+  /**
+   * @param context provides translation context.
+   * @param primitive primitive node.
+   */
   void translatePrimitive(final PipelineTranslationContext context,
                           final TransformHierarchy.Node primitive) {
     final PTransform<?, ?> transform = primitive.getTransform();
@@ -115,7 +119,7 @@ final class PipelineTranslator {
   /**
    * @param context context.
    * @param composite transform.
-   * @return behavior.
+   * @return behavior controls whether or not child transforms are visited.
    */
   Pipeline.PipelineVisitor.CompositeBehavior translateComposite(final PipelineTranslationContext context,
                                                                 final TransformHierarchy.Node composite) {
@@ -148,6 +152,9 @@ final class PipelineTranslator {
   @Target(ElementType.METHOD)
   @Retention(RetentionPolicy.RUNTIME)
   private @interface PrimitiveTransformTranslator {
+    /**
+     * @return primitive transform.
+     */
     Class<? extends PTransform>[] value();
   }
 
@@ -157,12 +164,20 @@ final class PipelineTranslator {
   @Target(ElementType.METHOD)
   @Retention(RetentionPolicy.RUNTIME)
   private @interface CompositeTransformTranslator {
+    /**
+     * @return composite transform.
+     */
     Class<? extends PTransform>[] value();
   }
 
   ////////////////////////////////////////////////////////////////////////////////////////////////////////
   /////////////////////// PRIMITIVE TRANSFORMS
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(Read.Unbounded.class)
   private static void unboundedReadTranslator(final PipelineTranslationContext ctx,
                                               final TransformHierarchy.Node beamNode,
@@ -173,6 +188,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(Read.Bounded.class)
   private static void boundedReadTranslator(final PipelineTranslationContext ctx,
                                             final TransformHierarchy.Node beamNode,
@@ -183,6 +203,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(ParDo.SingleOutput.class)
   private static void parDoSingleOutputTranslator(final PipelineTranslationContext ctx,
                                                   final TransformHierarchy.Node beamNode,
@@ -199,6 +224,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(ParDo.MultiOutput.class)
   private static void parDoMultiOutputTranslator(final PipelineTranslationContext ctx,
                                                  final TransformHierarchy.Node beamNode,
@@ -220,6 +250,11 @@ final class PipelineTranslator {
         pValueWithTupleTag.getKey()));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(GroupByKey.class)
   private static void groupByKeyTranslator(final PipelineTranslationContext ctx,
                                            final TransformHierarchy.Node beamNode,
@@ -230,6 +265,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator({Window.class, Window.Assign.class})
   private static void windowTranslator(final PipelineTranslationContext ctx,
                                        final TransformHierarchy.Node beamNode,
@@ -249,6 +289,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(View.CreatePCollectionView.class)
   private static void createPCollectionViewTranslator(final PipelineTranslationContext ctx,
                                                       final TransformHierarchy.Node beamNode,
@@ -260,6 +305,11 @@ final class PipelineTranslator {
     beamNode.getOutputs().values().forEach(output -> ctx.registerMainOutputFrom(beamNode, vertex, output));
   }
 
+  /**
+   * @param ctx provides translation context
+   * @param beamNode the beam node to be translated
+   * @param transform transform which can be obtained from {@code beamNode}
+   */
   @PrimitiveTransformTranslator(Flatten.PCollections.class)
   private static void flattenTranslator(final PipelineTranslationContext ctx,
                                         final TransformHierarchy.Node beamNode,
@@ -279,8 +329,9 @@ final class PipelineTranslator {
    * Here, we translate this composite transform as a whole, exploiting its accumulator semantics.
    *
    * @param ctx provides translation context
-   * @param beamNode the given CompositeTransform to translate
+   * @param beamNode the beam node to be translated
    * @param transform transform which can be obtained from {@code beamNode}
+   * @return behavior controls whether or not child transforms are visited.
    */
   @CompositeTransformTranslator(Combine.PerKey.class)
   private static Pipeline.PipelineVisitor.CompositeBehavior combinePerKeyTranslator(
@@ -337,9 +388,9 @@ final class PipelineTranslator {
 
   /**
    * @param ctx provides translation context
-   * @param beamNode the given CompositeTransform to translate
+   * @param beamNode the beam node to be translated
    * @param transform transform which can be obtained from {@code beamNode}
-   * @
+   * @return behavior controls whether or not child transforms are visited.
    */
   @CompositeTransformTranslator(LoopCompositeTransform.class)
   private static Pipeline.PipelineVisitor.CompositeBehavior loopTranslator(
@@ -354,10 +405,20 @@ final class PipelineTranslator {
   ////////////////////////////////////////////////////////////////////////////////////////////////////////
   /////////////////////// HELPER METHODS
 
+  /**
+   * @param viewList list of {@link PCollectionView}s.
+   * @return map of side inputs.
+   */
   private static Map<Integer, PCollectionView<?>> getSideInputMap(final List<PCollectionView<?>> viewList) {
     return IntStream.range(0, viewList.size()).boxed().collect(Collectors.toMap(Function.identity(), viewList::get));
   }
 
+  /**
+   * @param ctx provides translation context.
+   * @param beamNode the beam node to be translated.
+   * @param sideInputMap side inputs.
+   * @return the created DoFnTransform.
+   */
   private static AbstractDoFnTransform createDoFnTransform(final PipelineTranslationContext ctx,
                                                            final TransformHierarchy.Node beamNode,
                                                            final Map<Integer, PCollectionView<?>> sideInputMap) {
@@ -398,6 +459,10 @@ final class PipelineTranslator {
     }
   }
 
+  /**
+   * @param ptransform PTransform to get coders for its outputs
+   * @return the output coders.
+   */
   private static Map<TupleTag<?>, Coder<?>> getOutputCoders(final AppliedPTransform<?, ?, ?> ptransform) {
     return ptransform
       .getOutputs()
@@ -411,7 +476,7 @@ final class PipelineTranslator {
    * Create a group by key transform.
    * It returns GroupByKeyAndWindowDoFnTransform if window function is not default.
    * @param ctx translation context
-   * @param beamNode transform vertex
+   * @param beamNode the beam node to be translated
    * @return group by key transform
    */
   private static Transform createGBKTransform(
@@ -435,6 +500,11 @@ final class PipelineTranslator {
     }
   }
 
+  /**
+   * @param beamNode the beam node to be translated.
+   * @param pipeline pipeline.
+   * @return true if the main input has global window.
+   */
   private static boolean isGlobalWindow(final TransformHierarchy.Node beamNode, final Pipeline pipeline) {
     final AppliedPTransform pTransform = beamNode.toAppliedPTransform(pipeline);
     final PCollection<?> mainInput = (PCollection<?>)
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineVisitor.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineVisitor.java
index e80db2d..efd77a0 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineVisitor.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/PipelineVisitor.java
@@ -33,6 +33,10 @@ public final class PipelineVisitor extends Pipeline.PipelineVisitor.Defaults {
   private static PipelineTranslator pipelineTranslator = PipelineTranslator.INSTANCE;
   private final PipelineTranslationContext context;
 
+  /**
+   * @param pipeline to visit.
+   * @param pipelineOptions pipeline options.
+   */
   PipelineVisitor(final Pipeline pipeline, final NemoPipelineOptions pipelineOptions) {
     this.context = new PipelineTranslationContext(pipeline, pipelineOptions);
   }
@@ -56,6 +60,9 @@ public final class PipelineVisitor extends Pipeline.PipelineVisitor.Defaults {
     context.leaveCompositeTransform(node);
   }
 
+  /**
+   * @return the converted pipeline.
+   */
   DAG<IRVertex, IREdge> getConvertedPipeline() {
     return context.getBuilder().build();
   }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/SideInputElement.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/SideInputElement.java
index 22f8d72..7ec91cc 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/SideInputElement.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/SideInputElement.java
@@ -27,15 +27,25 @@ public final class SideInputElement<T> {
   private final int sideInputIndex;
   private final T sideInputValue;
 
+  /**
+   * @param sideInputIndex index of the side input.
+   * @param sideInputValue value of the side input.
+   */
   public SideInputElement(final int sideInputIndex, final T sideInputValue) {
     this.sideInputIndex = sideInputIndex;
     this.sideInputValue = sideInputValue;
   }
 
+  /**
+   * @return index of the side input.
+   */
   public int getSideInputIndex() {
     return sideInputIndex;
   }
 
+  /**
+   * @return value of the side input.
+   */
   public T getSideInputValue() {
     return sideInputValue;
   }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/coder/SideInputCoder.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/coder/SideInputCoder.java
index 54628ee..8cefa4b 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/coder/SideInputCoder.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/coder/SideInputCoder.java
@@ -35,12 +35,14 @@ public final class SideInputCoder<T> extends StructuredCoder<SideInputElement<T>
 
   /**
    * Private constructor.
+   * @param valueCoder the coder for side input.
    */
   private SideInputCoder(final Coder<T> valueCoder) {
     this.valueCoder = valueCoder;
   }
 
   /**
+   * @param valueCoder the coder for side input.
    * @return a new coder
    */
   public static SideInputCoder of(final Coder valueCoder) {
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/source/BeamUnboundedSourceVertex.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/source/BeamUnboundedSourceVertex.java
index 5942925..d082c2a 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/source/BeamUnboundedSourceVertex.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/source/BeamUnboundedSourceVertex.java
@@ -50,6 +50,7 @@ public final class BeamUnboundedSourceVertex<O, M extends UnboundedSource.Checkp
   /**
    * The default constructor for beam unbounded source.
    * @param source unbounded source.
+   * @param displayData static display data associated with a pipeline component.
    */
   public BeamUnboundedSourceVertex(final UnboundedSource<O, M> source,
                                    final DisplayData displayData) {
@@ -58,6 +59,10 @@ public final class BeamUnboundedSourceVertex<O, M extends UnboundedSource.Checkp
     this.displayData = displayData;
   }
 
+  /**
+   * Copy constructor.
+   * @param that the original vertex.
+   */
   private BeamUnboundedSourceVertex(final BeamUnboundedSourceVertex<O, M> that) {
     super(that);
     this.source = that.source;
@@ -107,6 +112,10 @@ public final class BeamUnboundedSourceVertex<O, M extends UnboundedSource.Checkp
     private boolean isCurrentAvailable = false;
     private boolean isFinished = false;
 
+    /**
+     * Constructor.
+     * @param unboundedSource unbounded source.
+     */
     UnboundedSourceReadable(final UnboundedSource<O, M> unboundedSource) {
       this.unboundedSource = unboundedSource;
     }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/AbstractDoFnTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/AbstractDoFnTransform.java
index 72113d6..a8a44a8 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/AbstractDoFnTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/AbstractDoFnTransform.java
@@ -114,34 +114,66 @@ public abstract class AbstractDoFnTransform<InputT, InterT, OutputT> implements
     this.displayData = displayData;
   }
 
+  /**
+   * Getter function for side inputs.
+   * @return the side inputs
+   */
   final Map<Integer, PCollectionView<?>> getSideInputs() {
     return sideInputs;
   }
 
+  /**
+   * Getter function for output manager.
+   * @return the output manager.
+   */
   final DoFnRunners.OutputManager getOutputManager() {
     return outputManager;
   }
 
+  /**
+   * Getter function for windowing strategy.
+   * @return the windowing strategy.
+   */
   final WindowingStrategy getWindowingStrategy() {
     return windowingStrategy;
   }
 
+  /**
+   * Getter function for output tag.
+   * @return main output tag.
+   */
   final TupleTag<OutputT> getMainOutputTag() {
     return mainOutputTag;
   }
 
+  /**
+   * Getter function for DoFn runner.
+   * @return DoFn runner.
+   */
   final DoFnRunner<InterT, OutputT> getDoFnRunner() {
     return doFnRunner;
   }
 
+  /**
+   * Getter function for push back runner.
+   * @return push back runner.
+   */
   final PushbackSideInputDoFnRunner<InterT, OutputT> getPushBackRunner() {
     return pushBackRunner;
   }
 
+  /**
+   * Getter function for side input reader.
+   * @return side input reader.
+   */
   final InMemorySideInputReader getSideInputReader() {
     return sideInputReader;
   }
 
+  /**
+   * Getter function for DoFn.
+   * @return DoFn.
+   */
   public final DoFn getDoFn() {
     return doFn;
   }
@@ -250,6 +282,10 @@ public abstract class AbstractDoFnTransform<InputT, InterT, OutputT> implements
       : SimplePushbackSideInputDoFnRunner.<InterT, OutputT>create(doFnRunner, sideInputs.values(), sideInputReader);
   }
 
+  /**
+   * Getter function for output collector.
+   * @return output collector.
+   */
   public final OutputCollector<WindowedValue<OutputT>> getOutputCollector() {
     return outputCollector;
   }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnFinalTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnFinalTransform.java
index d7f0e3e..9ef17a2 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnFinalTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnFinalTransform.java
@@ -53,6 +53,7 @@ public final class CombineFnFinalTransform<K, A, O>
 
   /**
    * Constructor.
+   * @param combineFn combine function.
    */
   public CombineFnFinalTransform(final CombineFnBase.GlobalCombineFn<?, A, O> combineFn) {
     this.combineFnRunner = GlobalCombineFnRunners.create(combineFn);
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnPartialTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnPartialTransform.java
index dbe5acd..5f46f90 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnPartialTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CombineFnPartialTransform.java
@@ -52,6 +52,7 @@ public final class CombineFnPartialTransform<K, I, A>
 
   /**
    * Constructor.
+   * @param combineFn combine function.
    */
   public CombineFnPartialTransform(final CombineFnBase.GlobalCombineFn<I, A, ?> combineFn) {
     this.combineFnRunner = GlobalCombineFnRunners.create(combineFn);
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CreateViewTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CreateViewTransform.java
index 03313c4..8444f0b 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CreateViewTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/CreateViewTransform.java
@@ -126,6 +126,7 @@ public final class CreateViewTransform<I, O> implements Transform<WindowedValue<
 
     /**
      * Constructor.
+     * @param iterable placeholder for side input data.
      */
     public MultiView(final Iterable<T> iterable) {
       // Create a placeholder for side input data. CreateViewTransform#onData stores data to this list.
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DefaultOutputManager.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DefaultOutputManager.java
index a6c0ab4..16b4e54 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DefaultOutputManager.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DefaultOutputManager.java
@@ -31,6 +31,10 @@ public final class DefaultOutputManager<OutputT> implements DoFnRunners.OutputMa
   private final TupleTag<OutputT> mainOutputTag;
   private final OutputCollector<WindowedValue<OutputT>> outputCollector;
 
+  /**
+   * @param outputCollector output collector.
+   * @param mainOutputTag main output tag.
+   */
   DefaultOutputManager(final OutputCollector<WindowedValue<OutputT>> outputCollector,
                        final TupleTag<OutputT> mainOutputTag) {
     this.outputCollector = outputCollector;
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DoFnTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DoFnTransform.java
index 699a0dd..1afc69b 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DoFnTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/DoFnTransform.java
@@ -45,6 +45,14 @@ public final class DoFnTransform<InputT, OutputT> extends AbstractDoFnTransform<
 
   /**
    * DoFnTransform Constructor.
+   * @param doFn doFn
+   * @param inputCoder input coder
+   * @param outputCoders output coders
+   * @param mainOutputTag main output tag
+   * @param additionalOutputTags additional output tags
+   * @param windowingStrategy windowing strategy
+   * @param options pipeline options
+   * @param displayData display data.
    */
   public DoFnTransform(final DoFn<InputT, OutputT> doFn,
                        final Coder<InputT> inputCoder,
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/GroupByKeyAndWindowDoFnTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/GroupByKeyAndWindowDoFnTransform.java
index a431508..f3a2430 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/GroupByKeyAndWindowDoFnTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/GroupByKeyAndWindowDoFnTransform.java
@@ -55,6 +55,12 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
 
   /**
    * GroupByKey constructor.
+   * @param outputCoders output coders
+   * @param mainOutputTag main output tag
+   * @param windowingStrategy windowing strategy
+   * @param options pipeline options
+   * @param reduceFn reduce function
+   * @param displayData display data.
    */
   public GroupByKeyAndWindowDoFnTransform(final Map<TupleTag<?>, Coder<?>> outputCoders,
                                           final TupleTag<KV<K, Iterable<InputT>>> mainOutputTag,
@@ -246,6 +252,8 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
 
   /**
    * Get timer data.
+   * @param timerInternals in-memory timer internals.
+   * @return list of timer datas.
    */
   private List<TimerInternals.TimerData> getEligibleTimers(final InMemoryTimerInternals timerInternals) {
     final List<TimerInternals.TimerData> timerData = new LinkedList<>();
@@ -281,6 +289,10 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
     private StateInternals stateInternals;
     private TimerInternals timerInternals;
 
+    /**
+     * @param stateInternals state internals.
+     * @param timerInternals timer internals.
+     */
     StateAndTimerForKey(final StateInternals stateInternals,
                         final TimerInternals timerInternals) {
       this.stateInternals = stateInternals;
@@ -294,6 +306,9 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
   final class InMemoryStateInternalsFactory implements StateInternalsFactory<K> {
     private final Map<K, StateAndTimerForKey> map;
 
+    /**
+     * @param map initial map.
+     */
     InMemoryStateInternalsFactory(final Map<K, StateAndTimerForKey> map) {
       this.map = map;
     }
@@ -315,6 +330,9 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
   final class InMemoryTimerInternalsFactory implements TimerInternalsFactory<K> {
     private final Map<K, StateAndTimerForKey> map;
 
+    /**
+     * @param map initial map.
+     */
     InMemoryTimerInternalsFactory(final Map<K, StateAndTimerForKey> map) {
       this.map = map;
     }
@@ -335,6 +353,10 @@ public final class GroupByKeyAndWindowDoFnTransform<K, InputT>
    */
   final class GBKWOutputCollector implements OutputCollector<WindowedValue<KV<K, Iterable<InputT>>>> {
     private final OutputCollector<WindowedValue<KV<K, Iterable<InputT>>>> outputCollector;
+
+    /**
+     * @param outputCollector output collector.
+     */
     GBKWOutputCollector(final OutputCollector<WindowedValue<KV<K, Iterable<InputT>>>> outputCollector) {
       this.outputCollector = outputCollector;
     }
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/PushBackDoFnTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/PushBackDoFnTransform.java
index d8f0d8f..7ed5150 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/PushBackDoFnTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/PushBackDoFnTransform.java
@@ -53,6 +53,15 @@ public final class PushBackDoFnTransform<InputT, OutputT> extends AbstractDoFnTr
 
   /**
    * PushBackDoFnTransform Constructor.
+   * @param doFn doFn
+   * @param inputCoder input coder
+   * @param outputCoders output coders
+   * @param mainOutputTag main output tag
+   * @param additionalOutputTags additional output tags
+   * @param windowingStrategy windowing strategy
+   * @param sideInputs side inputs
+   * @param options pipeline options
+   * @param displayData display data.
    */
   public PushBackDoFnTransform(final DoFn<InputT, OutputT> doFn,
                                final Coder<InputT> inputCoder,
@@ -103,6 +112,9 @@ public final class PushBackDoFnTransform<InputT, OutputT> extends AbstractDoFnTr
     }
   }
 
+  /**
+   * handle pushbacks.
+   */
   private void handlePushBacks() {
     // Force-finish, before (possibly) processing pushed-back data.
     //
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/SideInputTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/SideInputTransform.java
index b1536e6..0ddb631 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/SideInputTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/SideInputTransform.java
@@ -35,6 +35,7 @@ public final class SideInputTransform<T> implements Transform<WindowedValue<T>,
 
   /**
    * Constructor.
+   * @param index side input index.
    */
   public SideInputTransform(final int index) {
     this.index = index;
diff --git a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/WindowFnTransform.java b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/WindowFnTransform.java
index f8f5c9f..a3dd2e1 100644
--- a/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/WindowFnTransform.java
+++ b/compiler/frontend/beam/src/main/java/org/apache/nemo/compiler/frontend/beam/transform/WindowFnTransform.java
@@ -47,6 +47,7 @@ public final class WindowFnTransform<T, W extends BoundedWindow>
   /**
    * Default Constructor.
    * @param windowFn windowFn for the Transform.
+   * @param displayData display data.
    */
   public WindowFnTransform(final WindowFn windowFn, final DisplayData displayData) {
     this.windowFn = windowFn;
diff --git a/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/SparkBroadcastVariables.java b/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/SparkBroadcastVariables.java
index c1453d0..026b91f 100644
--- a/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/SparkBroadcastVariables.java
+++ b/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/SparkBroadcastVariables.java
@@ -34,6 +34,9 @@ public final class SparkBroadcastVariables {
   private static final AtomicLong ID_GENERATOR = new AtomicLong(0);
   private static final Map<Serializable, Object> ID_TO_VARIABLE = new HashMap<>();
 
+  /**
+   * Private constructor.
+   */
   private SparkBroadcastVariables() {
   }
 
diff --git a/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/core/SparkBroadcast.java b/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/core/SparkBroadcast.java
index 6b10eca..c344b5b 100644
--- a/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/core/SparkBroadcast.java
+++ b/compiler/frontend/spark/src/main/java/org/apache/nemo/compiler/frontend/spark/core/SparkBroadcast.java
@@ -27,6 +27,11 @@ import scala.reflect.ClassTag$;
 public final class SparkBroadcast<T> extends org.apache.spark.broadcast.Broadcast<T> {
   private final long tag;
 
+  /**
+   * Constructor.
+   * @param tag broadcast id.
+   * @param classType class type.
+   */
   SparkBroadcast(final long tag, final Class<T> classType) {
     super(tag, ClassTag$.MODULE$.apply(classType));
     this.tag = tag;
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/NemoOptimizer.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/NemoOptimizer.java
index 4014b5a..3ebc1de 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/NemoOptimizer.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/NemoOptimizer.java
@@ -54,6 +54,12 @@ public final class NemoOptimizer implements Optimizer {
   private final Map<UUID, Integer> cacheIdToParallelism = new HashMap<>();
   private int irDagCount = 0;
 
+  /**
+   * @param dagDirectory to store JSON representation of intermediate DAGs.
+   * @param optimizationPolicy the name of the optimization policy.
+   * @param pubSubEventHandlerWrapper pub/sub event handler.
+   * @param injector reef injector.
+   */
   @Inject
   private NemoOptimizer(@Parameter(JobConf.DAGDirectory.class) final String dagDirectory,
                         @Parameter(JobConf.OptimizationPolicy.class) final String optimizationPolicy,
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/Requires.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/Requires.java
index e147b19..f33eb8f 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/Requires.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/Requires.java
@@ -29,5 +29,8 @@ import java.lang.annotation.*;
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
 public @interface Requires {
+  /**
+   * @return the execution property the class requires as prerequisites.
+   */
   Class<? extends ExecutionProperty>[] value() default {};
 }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/Annotates.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/Annotates.java
index a53ca11..f16a9eb 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/Annotates.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/Annotates.java
@@ -29,5 +29,8 @@ import java.lang.annotation.*;
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
 public @interface Annotates {
+  /**
+   * @return the execution property the class annotates.
+   */
   Class<? extends ExecutionProperty>[] value() default {};
 }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceLocalityPass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceLocalityPass.java
index 0cda9f0..141adbc 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceLocalityPass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceLocalityPass.java
@@ -29,6 +29,9 @@ import org.apache.nemo.common.ir.vertex.executionproperty.ResourceLocalityProper
 @Annotates(ResourceLocalityProperty.class)
 public final class ResourceLocalityPass extends AnnotatingPass {
 
+  /**
+   * Constructor.
+   */
   public ResourceLocalityPass() {
     super(ResourceLocalityPass.class);
   }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSitePass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSitePass.java
index 3c0f07b..c822039 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSitePass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSitePass.java
@@ -83,10 +83,18 @@ public final class ResourceSitePass extends AnnotatingPass {
     return dag;
   }
 
+  /**
+   * @param value bandwidth information in serialized JSON string.
+   */
   public static void setBandwidthSpecificationString(final String value) {
     bandwidthSpecificationString = value;
   }
 
+  /**
+   * @param nodes to distribute the shares
+   * @param parallelism number of parallel tasks.
+   * @return share for each node.
+   */
   private static HashMap<String, Integer> getEvenShares(final List<String> nodes, final int parallelism) {
     final HashMap<String, Integer> shares = new HashMap<>();
     final int defaultShare = parallelism / nodes.size();
@@ -97,6 +105,10 @@ public final class ResourceSitePass extends AnnotatingPass {
     return shares;
   }
 
+  /**
+   * @param dag IR DAG.
+   * @param bandwidthSpecification bandwidth specification.
+   */
   private static void assignNodeShares(
       final DAG<IRVertex, IREdge> dag,
       final BandwidthSpecification bandwidthSpecification) {
@@ -230,9 +242,16 @@ public final class ResourceSitePass extends AnnotatingPass {
     private final Map<String, Integer> uplinkBandwidth = new HashMap<>();
     private final Map<String, Integer> downlinkBandwidth = new HashMap<>();
 
+    /**
+     * Private constructor.
+     */
     private BandwidthSpecification() {
     }
 
+    /**
+     * @param jsonString serialized bandwidth specification.
+     * @return the bandwidth specification.
+     */
     static BandwidthSpecification fromJsonString(final String jsonString) {
       final BandwidthSpecification specification = new BandwidthSpecification();
       try {
@@ -253,14 +272,25 @@ public final class ResourceSitePass extends AnnotatingPass {
       return specification;
     }
 
+    /**
+     * @param nodeName the node name to read uplink bandwidth information.
+     * @return the uplink bandwidth.
+     */
     int up(final String nodeName) {
       return uplinkBandwidth.get(nodeName);
     }
 
+    /**
+     * @param nodeName the node name to read downlink bandwidth information.
+     * @return the downlink bandwidth.
+     */
     int down(final String nodeName) {
       return downlinkBandwidth.get(nodeName);
     }
 
+    /**
+     * @return the list of nodes.
+     */
     List<String> getNodes() {
       return nodeNames;
     }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSlotPass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSlotPass.java
index 5fa709e..dc9cbe9 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSlotPass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/ResourceSlotPass.java
@@ -29,6 +29,9 @@ import org.apache.nemo.common.ir.vertex.executionproperty.ResourceSlotProperty;
 @Annotates(ResourceSlotProperty.class)
 public final class ResourceSlotPass extends AnnotatingPass {
 
+  /**
+   * Constructor.
+   */
   public ResourceSlotPass() {
     super(ResourceSlotPass.class);
   }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/SkewResourceSkewedDataPass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/SkewResourceSkewedDataPass.java
index cf3cb09..784ba64 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/SkewResourceSkewedDataPass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/annotating/SkewResourceSkewedDataPass.java
@@ -44,6 +44,11 @@ public final class SkewResourceSkewedDataPass extends AnnotatingPass {
     super(SkewResourceSkewedDataPass.class);
   }
 
+  /**
+   * @param dag that contains the {@code v}.
+   * @param v to inspect.
+   * @return whether or not the vertex has parent with MetricCollectTransform.
+   */
   private boolean hasParentWithMetricCollectTransform(final DAG<IRVertex, IREdge> dag,
                                                       final IRVertex v) {
     List<IRVertex> parents = dag.getParents(v.getId());
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/composite/CompositePass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/composite/CompositePass.java
index c7c65ff..eb478f5 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/composite/CompositePass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/composite/CompositePass.java
@@ -77,6 +77,9 @@ public abstract class CompositePass extends CompileTimePass {
     }
   }
 
+  /**
+   * @return the prerequisite execution properties.
+   */
   public final Set<Class<? extends ExecutionProperty>> getPrerequisiteExecutionProperties() {
     return prerequisiteExecutionProperties;
   }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/ReshapingPass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/ReshapingPass.java
index 97c3238..dd80faa 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/ReshapingPass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/ReshapingPass.java
@@ -43,6 +43,9 @@ public abstract class ReshapingPass extends CompileTimePass {
         ? new HashSet<>() : new HashSet<>(Arrays.asList(requires.value()));
   }
 
+  /**
+   * @return the prerequisite execution properties.
+   */
   public final Set<Class<? extends ExecutionProperty>> getPrerequisiteExecutionProperties() {
     return prerequisiteExecutionProperties;
   }
diff --git a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/SkewReshapingPass.java b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/SkewReshapingPass.java
index 9b87761..0236b67 100644
--- a/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/SkewReshapingPass.java
+++ b/compiler/optimizer/src/main/java/org/apache/nemo/compiler/optimizer/pass/compiletime/reshaping/SkewReshapingPass.java
@@ -82,7 +82,7 @@ public final class SkewReshapingPass extends ReshapingPass {
           if (CommunicationPatternProperty.Value.Shuffle
                 .equals(edge.getPropertyValue(CommunicationPatternProperty.class).get())) {
             final OperatorVertex abv = generateMetricAggregationVertex();
-            final OperatorVertex mcv = generateMetricCollectVertex(edge, abv);
+            final OperatorVertex mcv = generateMetricCollectVertex(edge);
             metricCollectVertices.add(mcv);
             builder.addVertex(v);
             builder.addVertex(mcv);
@@ -112,6 +112,9 @@ public final class SkewReshapingPass extends ReshapingPass {
     return newDAG;
   }
 
+  /**
+   * @return the generated vertex.
+   */
   private OperatorVertex generateMetricAggregationVertex() {
     // Define a custom data aggregator for skew handling.
     // Here, the aggregator gathers key frequency data used in shuffle data repartitioning.
@@ -134,7 +137,11 @@ public final class SkewReshapingPass extends ReshapingPass {
     return new OperatorVertex(abt);
   }
 
-  private OperatorVertex generateMetricCollectVertex(final IREdge edge, final OperatorVertex abv) {
+  /**
+   * @param edge to collect the metric.
+   * @return the generated vertex.
+   */
+  private OperatorVertex generateMetricCollectVertex(final IREdge edge) {
     final KeyExtractor keyExtractor = edge.getPropertyValue(KeyExtractorProperty.class).get();
     // Define a custom data collector for skew handling.
     // Here, the collector gathers key frequency data used in shuffle data repartitioning.
@@ -167,6 +174,11 @@ public final class SkewReshapingPass extends ReshapingPass {
     return new OperatorVertex(mct);
   }
 
+  /**
+   * @param edge the original shuffle edge.
+   * @param mcv the vertex with MetricCollectTransform.
+   * @return the generated edge to {@code mcv}.
+   */
   private IREdge generateEdgeToMCV(final IREdge edge, final OperatorVertex mcv) {
     final IREdge newEdge =
       new IREdge(CommunicationPatternProperty.Value.OneToOne, edge.getSrc(), mcv);
@@ -175,6 +187,12 @@ public final class SkewReshapingPass extends ReshapingPass {
     return newEdge;
   }
 
+  /**
+   * @param edge the original shuffle edge.
+   * @param mcv the vertex with MetricCollectTransform.
+   * @param abv the vertex with AggregateMetricTransform.
+   * @return the generated egde from {@code mcv} to {@code abv}.
+   */
   private IREdge generateEdgeToABV(final IREdge edge,
                                    final OperatorVertex mcv,
                                    final OperatorVertex abv) {
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/AlternatingLeastSquare.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/AlternatingLeastSquare.java
index f3ce915..7407bfd 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/AlternatingLeastSquare.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/AlternatingLeastSquare.java
@@ -311,6 +311,10 @@ public final class AlternatingLeastSquare {
     private final int numFeatures;
     private final boolean isDeterministic;
 
+    /**
+     * @param numFeatures number of the features.
+     * @param isDeterministic whether or not to initialize the matrix in deterministic mode.
+     */
     CreateInitialMatrix(final int numFeatures,
                         final boolean isDeterministic) {
       this.numFeatures = numFeatures;
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/NetworkTraceAnalysis.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/NetworkTraceAnalysis.java
index a9bbc43..af6cff6 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/NetworkTraceAnalysis.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/NetworkTraceAnalysis.java
@@ -123,6 +123,10 @@ public final class NetworkTraceAnalysis {
     p.run();
   }
 
+  /**
+   * @param data data
+   * @return extracted long typed data
+   */
   private static long getLong(final Iterable<Long> data) {
     for (final long datum : data) {
       return datum;
@@ -130,6 +134,10 @@ public final class NetworkTraceAnalysis {
     return 0;
   }
 
+  /**
+   * @param data list of data
+   * @return standard deviation of data.
+   */
   private static long stdev(final Iterable<KV<String, Long>> data) {
     final StandardDeviation stdev = new StandardDeviation();
     final List<Long> elements = new ArrayList<>();
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/PerPercentileAverage.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/PerPercentileAverage.java
index 486442b..1f3b700 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/PerPercentileAverage.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/PerPercentileAverage.java
@@ -108,32 +108,62 @@ public final class PerPercentileAverage {
     private int percentile;
     private int score;
 
+    /**
+     * Constructor.
+     * @param id student id.
+     * @param percentile student percentile.
+     * @param score student score.
+     */
     Student(final int id, final int percentile, final int score) {
       this.id = id;
       this.percentile = percentile;
       this.score = score;
     }
 
+    /**
+     * Getter for student id.
+     * @return id.
+     */
     public int getId() {
       return id;
     }
 
+    /**
+     * Setter for student id.
+     * @param id id.
+     */
     public void setId(final int id) {
       this.id = id;
     }
 
+    /**
+     * Getter for student percentile.
+     * @return percentile.
+     */
     public int getPercentile() {
       return percentile;
     }
 
+    /**
+     * Setter for student percentile.
+     * @param percentile percentile.
+     */
     public void setPercentile(final int percentile) {
       this.percentile = percentile;
     }
 
+    /**
+     * Getter for student score.
+     * @return score.
+     */
     public int getScore() {
       return score;
     }
 
+    /**
+     * Setter for student score.
+     * @param score score.
+     */
     public void setScore(final int score) {
       this.score = score;
     }
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedBroadcast.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedBroadcast.java
index 5bff5d8..d26e102 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedBroadcast.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedBroadcast.java
@@ -44,6 +44,10 @@ public final class WindowedBroadcast {
   private WindowedBroadcast() {
   }
 
+  /**
+   * @param p pipeline.
+   * @return source.
+   */
   private static PCollection<Long> getSource(final Pipeline p) {
     return p.apply(GenerateSequence
       .from(1)
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedWordCount.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedWordCount.java
index a814165..007129c 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedWordCount.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WindowedWordCount.java
@@ -48,6 +48,11 @@ public final class WindowedWordCount {
   private static final String SPLITTER = "!";
 
 
+  /**
+   * @param p pipeline.
+   * @param args arguments.
+   * @return source.
+   */
   private static PCollection<KV<String, Long>> getSource(
     final Pipeline p,
     final String[] args) {
diff --git a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WriteOneFilePerWindow.java b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WriteOneFilePerWindow.java
index 07a652e..53ea982 100644
--- a/examples/beam/src/main/java/org/apache/nemo/examples/beam/WriteOneFilePerWindow.java
+++ b/examples/beam/src/main/java/org/apache/nemo/examples/beam/WriteOneFilePerWindow.java
@@ -42,6 +42,12 @@ public final class WriteOneFilePerWindow extends PTransform<PCollection<String>,
   private String filenamePrefix;
   @Nullable
   private Integer numShards;
+
+   /**
+    * Constructor.
+    * @param filenamePrefix file name prefix.
+    * @param numShards number of shards.
+    */
    public WriteOneFilePerWindow(final String filenamePrefix, final Integer numShards) {
     this.filenamePrefix = filenamePrefix;
     this.numShards = numShards;
@@ -67,9 +73,19 @@ public final class WriteOneFilePerWindow extends PTransform<PCollection<String>,
    */
   public static final class PerWindowFiles extends FileBasedSink.FilenamePolicy {
      private final ResourceId baseFilename;
+
+     /**
+      * Constructor.
+      * @param baseFilename base file name.
+      */
      PerWindowFiles(final ResourceId baseFilename) {
       this.baseFilename = baseFilename;
     }
+
+     /**
+      * @param window interval window
+      * @return file name prefix.
+      */
      String filenamePrefixForWindow(final IntervalWindow window) {
       final String prefix =
           baseFilename.isDirectory() ? "" : firstNonNull(baseFilename.getFilename(), "");
diff --git a/suppressions.xml b/suppressions.xml
new file mode 100644
index 0000000..c1e8992
--- /dev/null
+++ b/suppressions.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE suppressions PUBLIC
+    "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
+    "https://checkstyle.org/dtds/suppressions_1_2.dtd">
+
+<suppressions>
+    <suppress checks="JavadocMethod"
+              files="[\\/]runtime[\\/]|.*Test.*\.java"/>
+</suppressions>


Mime
View raw message