diff --git a/src/associations.cpp b/src/associations.cpp
index 9fd72ab..cc6c723 100644
--- a/src/associations.cpp
+++ b/src/associations.cpp
@@ -1,9 +1,10 @@
 #include "associations.hpp"
 
 #include <boost/algorithm/string/predicate.hpp>
-#include <iostream>
 #include <sdbusplus/exception.hpp>
 
+#include <iostream>
+
 void removeAssociation(const std::string& sourcePath, const std::string& owner,
                        sdbusplus::asio::object_server& server,
                        AssociationMaps& assocMaps)
diff --git a/src/main.cpp b/src/main.cpp
index 7fd2b10..5fb93b2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -5,18 +5,19 @@
 
 #include <tinyxml2.h>
 
-#include <atomic>
 #include <boost/algorithm/string/predicate.hpp>
 #include <boost/asio/io_context.hpp>
 #include <boost/asio/signal_set.hpp>
 #include <boost/container/flat_map.hpp>
-#include <chrono>
-#include <iomanip>
-#include <iostream>
 #include <sdbusplus/asio/connection.hpp>
 #include <sdbusplus/asio/object_server.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
+#include <atomic>
+#include <chrono>
+#include <iomanip>
+#include <iostream>
+
 AssociationMaps associationMaps;
 
 static WhiteBlackList service_whitelist;
@@ -76,8 +77,7 @@
         global_start_time(global_start_time),
         process_start_time(std::chrono::steady_clock::now())
 #endif
-    {
-    }
+    {}
     ~InProgressIntrospect()
     {
         send_introspection_complete_signal(system_bus, process_name);
@@ -461,7 +461,6 @@
             {
                 for (auto& interface_map : object_path.second)
                 {
-
                     if (intersect(interfaces.begin(), interfaces.end(),
                                   interface_map.second.begin(),
                                   interface_map.second.end()))
diff --git a/src/processing.cpp b/src/processing.cpp
index f144b77..19f36a8 100644
--- a/src/processing.cpp
+++ b/src/processing.cpp
@@ -1,6 +1,7 @@
 #include "processing.hpp"
 
 #include <boost/algorithm/string/predicate.hpp>
+
 #include <iostream>
 
 bool getWellKnown(
diff --git a/src/processing.hpp b/src/processing.hpp
index 114b502..0810312 100644
--- a/src/processing.hpp
+++ b/src/processing.hpp
@@ -5,6 +5,7 @@
 
 #include <boost/container/flat_map.hpp>
 #include <boost/container/flat_set.hpp>
+
 #include <cassert>
 #include <string>
 
diff --git a/src/test/associations.cpp b/src/test/associations.cpp
index 73c36ed..4e1b2bd 100644
--- a/src/test/associations.cpp
+++ b/src/test/associations.cpp
@@ -10,8 +10,7 @@
 #include <gtest/gtest.h>
 
 class TestAssociations : public AsioServerClassTest
-{
-};
+{};
 sdbusplus::asio::object_server* TestAssociations::AsioServerClassTest::server =
     nullptr;
 
@@ -100,7 +99,6 @@
 // Verify no associations or endpoints removed when the change is identical
 TEST_F(TestAssociations, checkAssociationEndpointRemovesNoEpRemove)
 {
-
     AssociationPaths newAssocPaths = {
         {DEFAULT_FWD_PATH, {DEFAULT_ENDPOINT}},
         {DEFAULT_REV_PATH, {DEFAULT_SOURCE_PATH}}};
diff --git a/src/test/interfaces_added.cpp b/src/test/interfaces_added.cpp
index ee0e438..20d8716 100644
--- a/src/test/interfaces_added.cpp
+++ b/src/test/interfaces_added.cpp
@@ -9,8 +9,7 @@
 #include <gtest/gtest.h>
 
 class TestInterfacesAdded : public AsioServerClassTest
-{
-};
+{};
 sdbusplus::asio::object_server*
     TestInterfacesAdded::AsioServerClassTest::server = nullptr;
 
diff --git a/src/test/name_change.cpp b/src/test/name_change.cpp
index 95d02af..32ad56c 100644
--- a/src/test/name_change.cpp
+++ b/src/test/name_change.cpp
@@ -5,8 +5,7 @@
 #include <gtest/gtest.h>
 
 class TestNameChange : public AsioServerClassTest
-{
-};
+{};
 sdbusplus::asio::object_server* TestNameChange::AsioServerClassTest::server =
     nullptr;
 
diff --git a/src/types.hpp b/src/types.hpp
index 6ff7cce..0e89852 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -2,8 +2,9 @@
 
 #include <boost/container/flat_map.hpp>
 #include <boost/container/flat_set.hpp>
-#include <memory>
 #include <sdbusplus/asio/object_server.hpp>
+
+#include <memory>
 #include <string>
 #include <tuple>
 #include <vector>
