diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordService.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordService.java
index 0d09bb3..f877630 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordService.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordService.java
@@ -53,6 +53,7 @@
      * Default constructor.
      *
      * @param vNet OpenStack network
+     * @param subnet OpenStack subnet
      * @param hosts host and tunnel ip map
      * @param tenantServices list of tenant service ids
      */
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java
index d9b29bd..ad9dee8 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java
@@ -125,6 +125,8 @@
      * @param flowRuleService flow rule service
      * @param deviceService device service
      * @param driverService driver service
+     * @param groupService group service
+     * @param mastershipService mastership service
      * @param tunnelType tunnel type
      */
     public CordVtnRuleInstaller(ApplicationId appId,
diff --git a/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
index db00278..24f7717 100644
--- a/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
+++ b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMonitorService.java
@@ -31,6 +31,7 @@
      *
      * @param controlMetric  control plane metric (e.g., control message rate, cpu, memory, etc.)
      * @param updateInterval value update interval (time unit will be in minute)
+     * @param deviceId       {@link org.onosproject.net.DeviceId}
      */
     void updateMetric(ControlMetric controlMetric, int updateInterval, Optional<DeviceId> deviceId);
 
diff --git a/apps/cpman/src/main/java/org/onosproject/cpman/MetricsAggregator.java b/apps/cpman/src/main/java/org/onosproject/cpman/MetricsAggregator.java
index 2367629..abd5b1c 100644
--- a/apps/cpman/src/main/java/org/onosproject/cpman/MetricsAggregator.java
+++ b/apps/cpman/src/main/java/org/onosproject/cpman/MetricsAggregator.java
@@ -45,8 +45,9 @@
      * Instantiates the metrics service
      * Initializes all the general metrics for that object
      *
-     * @param type      Control metric type
-     * @param deviceId  DeviceId
+     * @param metricsService MetricsService reference
+     * @param type           Control metric type
+     * @param deviceId       DeviceId
      */
     MetricsAggregator(MetricsService metricsService, ControlMetricType type, Optional<DeviceId> deviceId) {
         String primitiveName = type.toString();
diff --git a/apps/dhcp/api/src/main/java/org/onosproject/dhcp/DhcpStore.java b/apps/dhcp/api/src/main/java/org/onosproject/dhcp/DhcpStore.java
index cdfadf7..d7c7bd4 100644
--- a/apps/dhcp/api/src/main/java/org/onosproject/dhcp/DhcpStore.java
+++ b/apps/dhcp/api/src/main/java/org/onosproject/dhcp/DhcpStore.java
@@ -116,10 +116,10 @@
     Iterable<Ip4Address> getAvailableIPs();
 
     /**
+     * Returns IpAssignment from map.
      *
-     *
-     * @param hostId
-     * @return
+     * @param hostId host identification
+     * @return IpAssignment
      */
     IpAssignment getIpAssignmentFromAllocationMap(HostId hostId);
 }
diff --git a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java
index 41f0604..4767074 100644
--- a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java
+++ b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/DefaultIpLink.java
@@ -36,6 +36,7 @@
     /**
      * Constructor to initialize its parameters.
      *
+     * @param providerId     provider identification
      * @param src            link source termination point
      * @param dst            link destination termination point
      * @param linkIdentifier provides link identifier details
diff --git a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java
index 472fe00..7be13ad 100644
--- a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java
+++ b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/IpDeviceIdentifier.java
@@ -34,6 +34,7 @@
     /**
      * Constructor to initialize parameters.
      *
+     * @param routeDish routing distinguisher instance
      * @param routeInstance routing protocol instance
      * @param asNum AS number
      * @param domainIdentifier BGP-LS domain
diff --git a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java
index 85714cb..3c77e9a 100644
--- a/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java
+++ b/apps/iptopology-api/src/main/java/org/onosproject/iptopology/api/RouterId.java
@@ -29,7 +29,8 @@
     /**
      * Constructor to initialize its parameters.
      *
-     * @param routerId Router ID of designated router
+     * @param routerId  Router ID of designated router
+     * @param type      protocol type
      */
     public RouterId(int routerId, ProtocolType type) {
         this.routerId = routerId;
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java b/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java
index dee5f5a..1cfc62b 100644
--- a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java
+++ b/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java
@@ -43,6 +43,7 @@
      * @param deviceId access device ID
      * @param uplink uplink port number
      * @param vlan device VLAN ID
+     * @param defaultVlan default device VLAN ID
      */
     public AccessDeviceData(DeviceId deviceId, PortNumber uplink, VlanId vlan,
                             Optional<VlanId> defaultVlan) {
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java b/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
index 8479c19..e3dafec 100644
--- a/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
+++ b/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
@@ -40,6 +40,9 @@
     /**
      * Provision a subscriber.
      *
+     * @param device device id
+     * @param port port number
+     * @param vlan vlan id
      * @return 200 OK
      */
     @POST
@@ -60,6 +63,10 @@
 
     /**
      * Remove the provisioning for a subscriber.
+     *
+     * @param device device id
+     * @param port port number
+     * @return 200 OK
      */
     @DELETE
     @Produces(MediaType.APPLICATION_JSON)
diff --git a/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingService.java b/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingService.java
index 1ed4f6f..8960dcd 100644
--- a/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingService.java
+++ b/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingService.java
@@ -34,13 +34,14 @@
     /**
      * Removes flow rules corresponding to the port removed by Openstack.
      *
+     * @param uuid UUID
      */
     void deletePort(String uuid);
 
     /**
      * Updates flow rules corresponding to the port information updated by Openstack.
      *
-     * @param openstackPort
+     * @param openstackPort OpenStack port
      */
     void updatePort(OpenstackPort openstackPort);
 
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java
index 014eeb8..92c2742 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java
@@ -72,6 +72,7 @@
      * @param appId application id
      * @param flowObjectiveService FlowObjectiveService reference
      * @param deviceService DeviceService reference
+     * @param restHandler OpenstackRestHandler reference
      * @param driverService DriverService reference
      */
     public OpenstackSwitchingRulePopulator(ApplicationId appId,
diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMInterface.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMInterface.java
index f54b7b2..c4d35fc 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMInterface.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMInterface.java
@@ -94,7 +94,8 @@
     /**
      * Set the ONOS Interface, it will override a previous value.
      *
-     * @param intf ONOS Interface.
+     * @param intf ONOS Interface
+     * @return PIM interface instance
      */
     public PIMInterface setInterface(Interface intf) {
         onosInterface = intf;
diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMNeighbor.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMNeighbor.java
index a1f9eec..f44cd1b 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PIMNeighbor.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PIMNeighbor.java
@@ -57,6 +57,7 @@
      * Construct a new PIM Neighbor.
      *
      * @param ipAddr the IP Address of our new neighbor
+     * @param opts option map
      */
     public PIMNeighbor(IpAddress ipAddr, Map<Short, PIMHelloOption> opts) {
         this.ipAddr = ipAddr;
@@ -67,6 +68,7 @@
      * Construct a new PIM neighbor.
      *
      * @param ipAddr the neighbors IP addr
+     * @param macAddr MAC address
      */
     public PIMNeighbor(IpAddress ipAddr, MacAddress macAddr) {
         this.ipAddr = ipAddr;
