No public description

PiperOrigin-RevId: 591035598
diff --git a/centipede/BUILD b/centipede/BUILD
index 78b3e95..12ebb71 100644
--- a/centipede/BUILD
+++ b/centipede/BUILD
@@ -129,9 +129,6 @@
 cc_library(
     name = "rolling_hash",
     hdrs = ["rolling_hash.h"],
-    deps = [
-        "@com_google_absl//absl/base:core_headers",  # exception, ok to depend on here.
-    ],
 )
 
 cc_library(
@@ -324,7 +321,6 @@
     visibility = ["//visibility:public"],
     deps = [
         "@com_google_absl//absl/log:check",
-        "@com_google_absl//absl/status",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/strings:str_format",
         "@com_google_absl//absl/time",
@@ -471,7 +467,6 @@
         # used in centipede_runner.
         ":feature",
         ":execution_metadata",
-        ":runner_cmp_trace",
         ":shared_memory_blob_sequence",
     ],
 )
@@ -529,14 +524,12 @@
     visibility = PUBLIC_API_VISIBILITY,
     deps = [
         ":control_flow",
-        ":defs",
         ":feature",
-        ":logging",
+        ":pc_info",
         ":symbol_table",
-        ":util",
         "@com_google_absl//absl/base:core_headers",
-        "@com_google_absl//absl/container:flat_hash_map",
         "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/log:check",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/synchronization",
     ],
@@ -581,7 +574,9 @@
     deps = [
         ":control_flow",
         ":logging",
+        ":pc_info",
         "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
         "@com_google_absl//absl/log:check",
     ],
 )
@@ -700,19 +695,16 @@
         ":binary_info",
         ":blob_file",
         ":byte_array_mutator",
-        ":call_graph",
         ":command",
         ":control_flow",
         ":defs",
         ":environment",
         ":fuzztest_mutator",
-        ":knobs",
         ":logging",
         ":mutation_input",
         ":runner_request",
         ":runner_result",
         ":shared_memory_blob_sequence",
-        ":symbol_table",
         ":util",
         ":workdir",
         "@com_google_absl//absl/log",
@@ -906,7 +898,6 @@
     visibility = EXTENDED_API_VISIBILITY,
     deps = [
         ":centipede_callbacks",
-        ":centipede_interface",
         ":defs",
         ":environment",
         ":logging",
@@ -1126,6 +1117,8 @@
         ":defs",
         ":logging",
         ":util",
+        "@com_google_absl//absl/log",
+        "@com_google_absl//absl/log:check",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/strings:str_format",
     ],
@@ -1238,10 +1231,9 @@
     deps = [
         ":defs",
         ":feature",
-        ":logging",
-        ":test_util",
         ":util",
         "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/log",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1257,7 +1249,6 @@
         ":logging",
         "@com_google_googletest//:gtest_main",
         "@com_google_absl//absl/flags:flag",
-        "@com_google_absl//absl/strings",
     ],
 )
 
@@ -1362,8 +1353,7 @@
     name = "analyze_corpora_test",
     srcs = ["analyze_corpora_test.cc"],
     deps = [
-        ":analyze_corpora",
-        ":logging",
+        "@com_google_absl//absl/log",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1393,7 +1383,9 @@
     name = "execution_metadata_test",
     srcs = ["execution_metadata_test.cc"],
     deps = [
+        ":defs",
         ":execution_metadata",
+        ":shared_memory_blob_sequence",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1402,6 +1394,7 @@
     name = "runner_result_test",
     srcs = ["runner_result_test.cc"],
     deps = [
+        ":execution_metadata",
         ":feature",
         ":runner_result",
         ":shared_memory_blob_sequence",
@@ -1414,6 +1407,7 @@
     name = "mutation_input_test",
     srcs = ["mutation_input_test.cc"],
     deps = [
+        ":defs",
         ":mutation_input",
         "@com_google_googletest//:gtest_main",
     ],
@@ -1425,6 +1419,9 @@
     deps = [
         ":byte_array_mutator",
         ":defs",
+        ":execution_metadata",
+        ":knobs",
+        ":mutation_input",
         "@com_google_absl//absl/container:flat_hash_set",
         "@com_google_googletest//:gtest_main",
     ],
@@ -1459,8 +1456,10 @@
     srcs = ["fuzztest_mutator_test.cc"],
     deps = [
         ":defs",
+        ":execution_metadata",
         ":fuzztest_mutator",
         ":knobs",
+        ":mutation_input",
         "@com_google_absl//absl/container:flat_hash_set",
         "@com_google_absl//absl/strings",
         "@com_google_googletest//:gtest_main",
@@ -1514,11 +1513,14 @@
     name = "corpus_test",
     srcs = ["corpus_test.cc"],
     deps = [
+        ":binary_info",
+        ":call_graph",
         ":control_flow",
         ":corpus",
         ":defs",
         ":feature",
         ":feature_set",
+        ":pc_info",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1536,10 +1538,11 @@
     deps = [
         ":command",
         ":early_exit",
-        ":logging",
         ":test_util",
         ":util",
+        "@com_google_absl//absl/log",
         "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/time",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1564,10 +1567,14 @@
     deps = [
         ":binary_info",
         ":control_flow",
-        ":defs",
         ":logging",
+        ":pc_info",
         ":symbol_table",
         ":test_util",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/log",
+        "@com_google_absl//absl/log:check",
+        "@com_google_absl//absl/strings",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1577,7 +1584,10 @@
     srcs = ["call_graph_test.cc"],
     deps = [
         ":call_graph",
+        ":control_flow",
         ":logging",
+        ":pc_info",
+        "@com_google_absl//absl/container:flat_hash_set",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -1632,12 +1642,15 @@
         ":environment",
         ":feature",
         ":logging",
+        ":mutation_input",
         ":runner_result",
         ":shard_reader",
         ":test_util",
         ":util",
         ":workdir",
         "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/log",
+        "@com_google_absl//absl/log:check",
         "@com_google_absl//absl/strings",
         "@com_google_googletest//:gtest_main",
     ],
@@ -1664,19 +1677,20 @@
     ],
     deps = [
         ":binary_info",
-        ":centipede_interface",
+        ":centipede_callbacks",
         ":control_flow",
         ":coverage",
         ":defs",
         ":environment",
         ":feature",
-        ":logging",
+        ":mutation_input",
         ":pc_info",
         ":runner_result",
         ":symbol_table",
         ":test_util",
         ":util",
-        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/log:check",
         "@com_google_absl//absl/strings",
         "@com_google_googletest//:gtest_main",
     ],
diff --git a/centipede/analyze_corpora.h b/centipede/analyze_corpora.h
index 639e0c4..90eb528 100644
--- a/centipede/analyze_corpora.h
+++ b/centipede/analyze_corpora.h
@@ -20,7 +20,6 @@
 #include <vector>
 
 #include "./centipede/binary_info.h"
-#include "./centipede/corpus.h"
 
 namespace centipede {
 
diff --git a/centipede/analyze_corpora_test.cc b/centipede/analyze_corpora_test.cc
index c35a6d7..b0cf2f1 100644
--- a/centipede/analyze_corpora_test.cc
+++ b/centipede/analyze_corpora_test.cc
@@ -12,10 +12,9 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "./centipede/analyze_corpora.h"
 
 #include "gtest/gtest.h"
-#include "./centipede/logging.h"
+#include "absl/log/log.h"
 
 namespace centipede {
 namespace {
diff --git a/centipede/byte_array_mutator.cc b/centipede/byte_array_mutator.cc
index 033cb02..4e672ea 100644
--- a/centipede/byte_array_mutator.cc
+++ b/centipede/byte_array_mutator.cc
@@ -22,7 +22,9 @@
 #include <vector>
 
 #include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
 #include "./centipede/knobs.h"
+#include "./centipede/mutation_input.h"
 
 namespace centipede {
 
diff --git a/centipede/byte_array_mutator.h b/centipede/byte_array_mutator.h
index d281b88..a82f36d 100644
--- a/centipede/byte_array_mutator.h
+++ b/centipede/byte_array_mutator.h
@@ -15,12 +15,11 @@
 #ifndef THIRD_PARTY_CENTIPEDE_BYTE_ARRAY_MUTATOR_H_
 #define THIRD_PARTY_CENTIPEDE_BYTE_ARRAY_MUTATOR_H_
 
-#include <array>
 #include <cstddef>
 #include <cstdint>
 #include <cstring>
 #include <limits>
-#include <string_view>
+#include <utility>
 #include <vector>
 
 #include "./centipede/defs.h"
diff --git a/centipede/byte_array_mutator_test.cc b/centipede/byte_array_mutator_test.cc
index 2952077..15b5933 100644
--- a/centipede/byte_array_mutator_test.cc
+++ b/centipede/byte_array_mutator_test.cc
@@ -15,14 +15,18 @@
 #include "./centipede/byte_array_mutator.h"
 
 #include <cstddef>
+#include <cstdint>
+#include <cstring>
 #include <limits>
-#include <string>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/container/flat_hash_set.h"
 #include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
+#include "./centipede/knobs.h"
+#include "./centipede/mutation_input.h"
 
 namespace centipede {
 
diff --git a/centipede/call_graph.cc b/centipede/call_graph.cc
index b1b172f..b602d8c 100644
--- a/centipede/call_graph.cc
+++ b/centipede/call_graph.cc
@@ -14,9 +14,13 @@
 
 #include "./centipede/call_graph.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <vector>
 
-#include "./centipede/logging.h"
+#include "absl/log/check.h"
+#include "./centipede/control_flow.h"
+#include "./centipede/pc_info.h"
 
 namespace centipede {
 
diff --git a/centipede/call_graph.h b/centipede/call_graph.h
index 5c347e3..b42d5d2 100644
--- a/centipede/call_graph.h
+++ b/centipede/call_graph.h
@@ -15,15 +15,15 @@
 #ifndef THIRD_PARTY_CENTIPEDE_CALL_GRAPH_H_
 #define THIRD_PARTY_CENTIPEDE_CALL_GRAPH_H_
 
-#include <cstddef>
 #include <cstdint>
-#include <istream>
 #include <vector>
 
 #include "absl/container/flat_hash_map.h"
+#include "absl/container/flat_hash_set.h"
 #include "absl/log/check.h"
 #include "./centipede/control_flow.h"
 #include "./centipede/logging.h"
+#include "./centipede/pc_info.h"
 
 namespace centipede {
 
diff --git a/centipede/call_graph_test.cc b/centipede/call_graph_test.cc
index 8000619..8a9e2a0 100644
--- a/centipede/call_graph_test.cc
+++ b/centipede/call_graph_test.cc
@@ -14,13 +14,17 @@
 
 #include "./centipede/call_graph.h"
 
+#include <algorithm>
 #include <cstddef>
 #include <cstdint>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "absl/container/flat_hash_set.h"
+#include "./centipede/control_flow.h"
 #include "./centipede/logging.h"
+#include "./centipede/pc_info.h"
 
 namespace centipede {
 namespace {
diff --git a/centipede/centipede.cc b/centipede/centipede.cc
index 23a7206..eb95dc0 100644
--- a/centipede/centipede.cc
+++ b/centipede/centipede.cc
@@ -48,6 +48,7 @@
 #include <cstddef>
 #include <cstdint>
 #include <cstdlib>
+#include <filesystem>  // NOLINT
 #include <functional>
 #include <iostream>
 #include <memory>
diff --git a/centipede/centipede_callbacks.cc b/centipede/centipede_callbacks.cc
index e2e86a9..eb5d54b 100644
--- a/centipede/centipede_callbacks.cc
+++ b/centipede/centipede_callbacks.cc
@@ -16,7 +16,6 @@
 
 #include <algorithm>
 #include <cstddef>
-#include <cstdint>
 #include <cstdlib>
 #include <filesystem>  // NOLINT
 #include <string>
diff --git a/centipede/centipede_callbacks.h b/centipede/centipede_callbacks.h
index 966963f..955d272 100644
--- a/centipede/centipede_callbacks.h
+++ b/centipede/centipede_callbacks.h
@@ -16,26 +16,21 @@
 #define THIRD_PARTY_CENTIPEDE_CENTIPEDE_CALLBACKS_H_
 
 #include <cstddef>
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <string>
 #include <string_view>
 #include <vector>
 
+#include "absl/log/check.h"
 #include "./centipede/binary_info.h"
 #include "./centipede/byte_array_mutator.h"
-#include "./centipede/call_graph.h"
 #include "./centipede/command.h"
-#include "./centipede/control_flow.h"
 #include "./centipede/defs.h"
 #include "./centipede/environment.h"
 #include "./centipede/fuzztest_mutator.h"
-#include "./centipede/knobs.h"
-#include "./centipede/logging.h"
 #include "./centipede/mutation_input.h"
-#include "./centipede/runner_request.h"
 #include "./centipede/runner_result.h"
 #include "./centipede/shared_memory_blob_sequence.h"
-#include "./centipede/symbol_table.h"
 #include "./centipede/util.h"
 
 namespace centipede {
diff --git a/centipede/centipede_default_callbacks.h b/centipede/centipede_default_callbacks.h
index 469a478..4f78a44 100644
--- a/centipede/centipede_default_callbacks.h
+++ b/centipede/centipede_default_callbacks.h
@@ -20,12 +20,14 @@
 #define THIRD_PARTY_CENTIPEDE_CENTIPEDE_DEFAULT_CALLBACKS_H_
 
 #include <cstddef>
-#include <memory>
 #include <optional>
 #include <string_view>
 #include <vector>
 
-#include "./centipede/centipede_interface.h"
+#include "./centipede/centipede_callbacks.h"
+#include "./centipede/defs.h"
+#include "./centipede/environment.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/runner_result.h"
 
 namespace centipede {
diff --git a/centipede/centipede_interface.h b/centipede/centipede_interface.h
index 0114df6..2aeea1c 100644
--- a/centipede/centipede_interface.h
+++ b/centipede/centipede_interface.h
@@ -17,7 +17,6 @@
 
 #include "./centipede/centipede_callbacks.h"
 #include "./centipede/environment.h"
-#include "./centipede/util.h"
 
 namespace centipede {
 
diff --git a/centipede/centipede_test.cc b/centipede/centipede_test.cc
index b6cf120..d77d42f 100644
--- a/centipede/centipede_test.cc
+++ b/centipede/centipede_test.cc
@@ -17,6 +17,8 @@
 #include <cstdlib>
 #include <cstring>
 #include <filesystem>  // NOLINT
+#include <iterator>
+#include <limits>
 #include <set>
 #include <string>
 #include <string_view>
@@ -25,6 +27,8 @@
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
+#include "absl/log/log.h"
 #include "absl/strings/str_cat.h"
 #include "./centipede/blob_file.h"
 #include "./centipede/centipede_callbacks.h"
@@ -35,6 +39,7 @@
 #include "./centipede/environment.h"
 #include "./centipede/feature.h"
 #include "./centipede/logging.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/runner_result.h"
 #include "./centipede/shard_reader.h"
 #include "./centipede/test_util.h"
diff --git a/centipede/command_test.cc b/centipede/command_test.cc
index 9208078..f2e3288 100644
--- a/centipede/command_test.cc
+++ b/centipede/command_test.cc
@@ -18,12 +18,15 @@
 #include <sys/wait.h>  // NOLINT(for WTERMSIG)
 
 #include <cstdlib>
+#include <filesystem>  // NOLINT
 #include <string>
+#include <string_view>
 
 #include "gtest/gtest.h"
+#include "absl/log/log.h"
 #include "absl/strings/substitute.h"
+#include "absl/time/time.h"
 #include "./centipede/early_exit.h"
-#include "./centipede/logging.h"
 #include "./centipede/test_util.h"
 #include "./centipede/util.h"
 
diff --git a/centipede/concurrent_bitset.h b/centipede/concurrent_bitset.h
index 5a84918..4440488 100644
--- a/centipede/concurrent_bitset.h
+++ b/centipede/concurrent_bitset.h
@@ -39,8 +39,6 @@
 #include <climits>
 #include <cstdint>
 #include <functional>
-#include <limits>
-#include <memory>
 
 #include "absl/base/const_init.h"
 #include "./centipede/concurrent_byteset.h"
diff --git a/centipede/config_file_test.cc b/centipede/config_file_test.cc
index bca8f45..2ae5115 100644
--- a/centipede/config_file_test.cc
+++ b/centipede/config_file_test.cc
@@ -14,6 +14,7 @@
 
 #include "./centipede/config_file.h"
 
+#include <string>
 #include <vector>
 
 #include "gtest/gtest.h"
diff --git a/centipede/config_util_test.cc b/centipede/config_util_test.cc
index a043014..3279adf 100644
--- a/centipede/config_util_test.cc
+++ b/centipede/config_util_test.cc
@@ -20,7 +20,6 @@
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/flags/flag.h"
-#include "absl/strings/match.h"
 #include "./centipede/environment_flags.h"
 #include "./centipede/logging.h"
 
diff --git a/centipede/control_flow.cc b/centipede/control_flow.cc
index 347c0fe..77bf8d2 100644
--- a/centipede/control_flow.cc
+++ b/centipede/control_flow.cc
@@ -22,6 +22,7 @@
 #include <queue>
 #include <string>
 #include <string_view>
+#include <utility>
 #include <vector>
 
 #include "absl/container/flat_hash_set.h"
diff --git a/centipede/control_flow.h b/centipede/control_flow.h
index a90f6ca..a43cd4f 100644
--- a/centipede/control_flow.h
+++ b/centipede/control_flow.h
@@ -23,6 +23,7 @@
 
 #include "absl/container/flat_hash_map.h"
 #include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
 #include "./centipede/defs.h"
 #include "./centipede/logging.h"
 #include "./centipede/pc_info.h"
diff --git a/centipede/control_flow_test.cc b/centipede/control_flow_test.cc
index e1e3929..a48a162 100644
--- a/centipede/control_flow_test.cc
+++ b/centipede/control_flow_test.cc
@@ -16,14 +16,21 @@
 
 #include <cstddef>
 #include <cstdint>
+#include <filesystem>  // NOLINT
+#include <string>
+#include <string_view>
 #include <thread>  //NOLINT
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "absl/container/flat_hash_map.h"
+#include "absl/log/check.h"
+#include "absl/log/log.h"
+#include "absl/strings/str_cat.h"
 #include "./centipede/binary_info.h"
-#include "./centipede/defs.h"
 #include "./centipede/logging.h"
+#include "./centipede/pc_info.h"
 #include "./centipede/symbol_table.h"
 #include "./centipede/test_util.h"
 
diff --git a/centipede/corpus.h b/centipede/corpus.h
index 6d81369..2867b10 100644
--- a/centipede/corpus.h
+++ b/centipede/corpus.h
@@ -22,8 +22,8 @@
 #include <utility>
 #include <vector>
 
+#include "absl/log/check.h"
 #include "./centipede/binary_info.h"
-#include "./centipede/control_flow.h"
 #include "./centipede/defs.h"
 #include "./centipede/execution_metadata.h"
 #include "./centipede/feature.h"
diff --git a/centipede/corpus_test.cc b/centipede/corpus_test.cc
index a1bbcdc..34fd86d 100644
--- a/centipede/corpus_test.cc
+++ b/centipede/corpus_test.cc
@@ -18,14 +18,16 @@
 #include <cstddef>
 #include <cstdint>
 #include <sstream>
-#include <string>
 #include <vector>
 
 #include "gtest/gtest.h"
+#include "./centipede/binary_info.h"
+#include "./centipede/call_graph.h"
 #include "./centipede/control_flow.h"
 #include "./centipede/defs.h"
 #include "./centipede/feature.h"
 #include "./centipede/feature_set.h"
+#include "./centipede/pc_info.h"
 
 namespace centipede {
 namespace {
diff --git a/centipede/coverage.cc b/centipede/coverage.cc
index cd02294..f0f80f0 100644
--- a/centipede/coverage.cc
+++ b/centipede/coverage.cc
@@ -17,17 +17,21 @@
 #include <string.h>
 
 #include <cstdint>
-#include <filesystem>
 #include <limits>
+#include <ostream>
+#include <sstream>
+#include <string>
 #include <string_view>
+#include <vector>
 
 #include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
 #include "absl/strings/str_split.h"
 #include "absl/synchronization/mutex.h"
-#include "./centipede/defs.h"
-#include "./centipede/logging.h"
+#include "./centipede/control_flow.h"
+#include "./centipede/feature.h"
+#include "./centipede/pc_info.h"
 #include "./centipede/symbol_table.h"
-#include "./centipede/util.h"
 
 namespace centipede {
 
diff --git a/centipede/coverage.h b/centipede/coverage.h
index 9c04e7d..41b4c3f 100644
--- a/centipede/coverage.h
+++ b/centipede/coverage.h
@@ -25,12 +25,12 @@
 #include <vector>
 
 #include "absl/base/thread_annotations.h"
-#include "absl/container/flat_hash_map.h"
 #include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
 #include "absl/synchronization/mutex.h"
 #include "./centipede/control_flow.h"
 #include "./centipede/feature.h"
-#include "./centipede/logging.h"
+#include "./centipede/pc_info.h"
 
 namespace centipede {
 
diff --git a/centipede/coverage_test.cc b/centipede/coverage_test.cc
index 39cfc63..3aa3b71 100644
--- a/centipede/coverage_test.cc
+++ b/centipede/coverage_test.cc
@@ -17,12 +17,12 @@
 #include <stdio.h>
 #include <unistd.h>
 
-#include <algorithm>
 #include <cstddef>
 #include <cstdint>
 #include <cstdlib>
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <iostream>
+#include <sstream>
 #include <string>
 #include <string_view>
 #include <thread>  // NOLINT
@@ -30,15 +30,16 @@
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
-#include "absl/container/flat_hash_map.h"
+#include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
 #include "absl/strings/str_cat.h"
 #include "./centipede/binary_info.h"
-#include "./centipede/centipede_interface.h"
+#include "./centipede/centipede_callbacks.h"
 #include "./centipede/control_flow.h"
 #include "./centipede/defs.h"
 #include "./centipede/environment.h"
 #include "./centipede/feature.h"
-#include "./centipede/logging.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/pc_info.h"
 #include "./centipede/runner_result.h"
 #include "./centipede/symbol_table.h"
diff --git a/centipede/dso_example/main.cc b/centipede/dso_example/main.cc
index bff3517..692ea66 100644
--- a/centipede/dso_example/main.cc
+++ b/centipede/dso_example/main.cc
@@ -17,6 +17,7 @@
 
 #include <cstddef>
 #include <cstdint>
+#include <cstdio>
 #include <fstream>
 #include <iostream>
 #include <iterator>
diff --git a/centipede/environment.cc b/centipede/environment.cc
index ad6f2f9..8644a08 100644
--- a/centipede/environment.cc
+++ b/centipede/environment.cc
@@ -20,6 +20,7 @@
 #include <cstddef>
 #include <cstdint>
 #include <string>
+#include <system_error>  // NOLINT
 #include <vector>
 
 #include "absl/container/flat_hash_map.h"
diff --git a/centipede/environment.h b/centipede/environment.h
index 4dd515c..391ded1 100644
--- a/centipede/environment.h
+++ b/centipede/environment.h
@@ -18,6 +18,7 @@
 #include <bitset>
 #include <cstddef>
 #include <cstdint>
+#include <limits>
 #include <string>
 #include <string_view>
 #include <vector>
diff --git a/centipede/execution_metadata.cc b/centipede/execution_metadata.cc
index 6687490..82742bf 100644
--- a/centipede/execution_metadata.cc
+++ b/centipede/execution_metadata.cc
@@ -14,6 +14,12 @@
 
 #include "./centipede/execution_metadata.h"
 
+#include <cstddef>
+#include <functional>
+
+#include "./centipede/defs.h"
+#include "./centipede/shared_memory_blob_sequence.h"
+
 namespace centipede {
 
 bool ExecutionMetadata::AppendCmpEntry(ByteSpan a, ByteSpan b) {
diff --git a/centipede/execution_metadata_test.cc b/centipede/execution_metadata_test.cc
index 2c8e6d7..4e8ebdf 100644
--- a/centipede/execution_metadata_test.cc
+++ b/centipede/execution_metadata_test.cc
@@ -14,10 +14,13 @@
 
 #include "./centipede/execution_metadata.h"
 
+#include <utility>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "./centipede/defs.h"
+#include "./centipede/shared_memory_blob_sequence.h"
 
 namespace centipede {
 namespace {
diff --git a/centipede/foreach_nonzero_test.cc b/centipede/foreach_nonzero_test.cc
index 77e9b88..51d5c5e 100644
--- a/centipede/foreach_nonzero_test.cc
+++ b/centipede/foreach_nonzero_test.cc
@@ -14,7 +14,11 @@
 
 #include "./centipede/foreach_nonzero.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <cstring>
 #include <functional>
+#include <utility>
 #include <vector>
 
 #include "gtest/gtest.h"
diff --git a/centipede/fuzztest_mutator.cc b/centipede/fuzztest_mutator.cc
index e750b59..14f891e 100644
--- a/centipede/fuzztest_mutator.cc
+++ b/centipede/fuzztest_mutator.cc
@@ -18,13 +18,16 @@
 #include <cstddef>
 #include <cstdint>
 #include <memory>
-#include <random>
+#include <utility>
+#include <vector>
 
 #include "absl/random/random.h"
 #include "absl/types/span.h"
 #include "./centipede/byte_array_mutator.h"
 #include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
 #include "./centipede/knobs.h"
+#include "./centipede/mutation_input.h"
 #include "./fuzztest/domain_core.h"
 #include "./fuzztest/internal/coverage.h"
 
diff --git a/centipede/fuzztest_mutator.h b/centipede/fuzztest_mutator.h
index 355da98..d4c0bbb 100644
--- a/centipede/fuzztest_mutator.h
+++ b/centipede/fuzztest_mutator.h
@@ -15,9 +15,11 @@
 #ifndef THIRD_PARTY_CENTIPEDE_FUZZTEST_MUTATOR_H_
 #define THIRD_PARTY_CENTIPEDE_FUZZTEST_MUTATOR_H_
 
+#include <cstddef>
+#include <cstdint>
+#include <memory>
 #include <vector>
 
-#include "absl/random/random.h"
 #include "./centipede/defs.h"
 #include "./centipede/execution_metadata.h"
 #include "./centipede/knobs.h"
@@ -58,7 +60,7 @@
   void SetMetadata(const ExecutionMetadata& metadata);
 
   // The crossover algorithm based on the legacy ByteArrayMutator.
-  // TODO: Implement and use the domain level crossover.
+  // TODO(ussuri): Implement and use the domain level crossover.
   void CrossOverInsert(ByteArray &data, const ByteArray &other);
   void CrossOverOverwrite(ByteArray &data, const ByteArray &other);
   void CrossOver(ByteArray &data, const ByteArray &other);
diff --git a/centipede/fuzztest_mutator_test.cc b/centipede/fuzztest_mutator_test.cc
index 06b9855..d918fd3 100644
--- a/centipede/fuzztest_mutator_test.cc
+++ b/centipede/fuzztest_mutator_test.cc
@@ -15,8 +15,7 @@
 #include "./centipede/fuzztest_mutator.h"
 
 #include <cstddef>
-#include <limits>
-#include <string>
+#include <optional>
 #include <vector>
 
 #include "gmock/gmock.h"
@@ -24,7 +23,9 @@
 #include "absl/container/flat_hash_set.h"
 #include "absl/strings/str_join.h"
 #include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
 #include "./centipede/knobs.h"
+#include "./centipede/mutation_input.h"
 
 namespace centipede {
 
diff --git a/centipede/mutation_input_test.cc b/centipede/mutation_input_test.cc
index 1e0a36b..1b1a6bf 100644
--- a/centipede/mutation_input_test.cc
+++ b/centipede/mutation_input_test.cc
@@ -14,8 +14,11 @@
 
 #include "./centipede/mutation_input.h"
 
+#include <vector>
+
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "./centipede/defs.h"
 
 namespace centipede {
 namespace {
diff --git a/centipede/puzzles/per_batch_timeout.cc b/centipede/puzzles/per_batch_timeout.cc
index e0a1f51..f64f009 100644
--- a/centipede/puzzles/per_batch_timeout.cc
+++ b/centipede/puzzles/per_batch_timeout.cc
@@ -20,6 +20,7 @@
 
 #include <unistd.h>
 
+#include <cstddef>
 #include <cstdint>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
diff --git a/centipede/puzzles/per_input_timeout.cc b/centipede/puzzles/per_input_timeout.cc
index a248c6e..d286543 100644
--- a/centipede/puzzles/per_input_timeout.cc
+++ b/centipede/puzzles/per_input_timeout.cc
@@ -17,6 +17,7 @@
 
 #include <unistd.h>
 
+#include <cstddef>
 #include <cstdint>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
diff --git a/centipede/remote_file.h b/centipede/remote_file.h
index 359ed45..b63a1e0 100644
--- a/centipede/remote_file.h
+++ b/centipede/remote_file.h
@@ -23,6 +23,7 @@
 #define THIRD_PARTY_CENTIPEDE_REMOTE_FILE_H_
 
 #include <filesystem>  // NOLINT
+#include <memory>
 #include <string>
 #include <string_view>
 #include <vector>
diff --git a/centipede/remote_file_test.cc b/centipede/remote_file_test.cc
index 39a906e..f521315 100644
--- a/centipede/remote_file_test.cc
+++ b/centipede/remote_file_test.cc
@@ -14,7 +14,7 @@
 
 #include "./centipede/remote_file.h"
 
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <fstream>
 #include <string>
 #include <string_view>
diff --git a/centipede/rolling_hash.h b/centipede/rolling_hash.h
index 9c75fd6..5f3c535 100644
--- a/centipede/rolling_hash.h
+++ b/centipede/rolling_hash.h
@@ -15,9 +15,9 @@
 #ifndef THIRD_PARTY_CENTIPEDE_ROLLING_HASH_H_
 #define THIRD_PARTY_CENTIPEDE_ROLLING_HASH_H_
 
+#include <cstddef>
 #include <cstdint>
 
-#include "absl/base/const_init.h"
 
 namespace centipede {
 
diff --git a/centipede/rolling_hash_test.cc b/centipede/rolling_hash_test.cc
index 5e123b9..1ba4518 100644
--- a/centipede/rolling_hash_test.cc
+++ b/centipede/rolling_hash_test.cc
@@ -19,13 +19,12 @@
 
 #include <bitset>
 #include <cstddef>
+#include <cstdint>
 #include <deque>
 #include <memory>
 #include <numeric>
-#include <random>
 #include <vector>
 
-#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "./centipede/feature.h"
 
diff --git a/centipede/runner.cc b/centipede/runner.cc
index 68a5308..e0765d0 100644
--- a/centipede/runner.cc
+++ b/centipede/runner.cc
@@ -30,6 +30,7 @@
 #include <sys/time.h>
 #include <unistd.h>
 
+#include <algorithm>
 #include <atomic>
 #include <cinttypes>
 #include <cstddef>
@@ -39,13 +40,17 @@
 #include <cstring>
 #include <ctime>
 #include <functional>
+#include <memory>
 #include <string_view>
+#include <utility>
 #include <vector>
 
 #include "./centipede/byte_array_mutator.h"
 #include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
 #include "./centipede/feature.h"
 #include "./centipede/int_utils.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/pc_info.h"
 #include "./centipede/runner_dl_info.h"
 #include "./centipede/runner_interface.h"
diff --git a/centipede/runner.h b/centipede/runner.h
index ec11b05..7439bfd 100644
--- a/centipede/runner.h
+++ b/centipede/runner.h
@@ -34,7 +34,6 @@
 #include "./centipede/feature.h"
 #include "./centipede/hashed_ring_buffer.h"
 #include "./centipede/knobs.h"
-#include "./centipede/pc_info.h"
 #include "./centipede/reverse_pc_table.h"
 #include "./centipede/runner_cmp_trace.h"
 #include "./centipede/runner_dl_info.h"
diff --git a/centipede/runner_cmp_trace_test.cc b/centipede/runner_cmp_trace_test.cc
index 08a81f1..2e608f4 100644
--- a/centipede/runner_cmp_trace_test.cc
+++ b/centipede/runner_cmp_trace_test.cc
@@ -14,7 +14,9 @@
 
 #include "./centipede/runner_cmp_trace.h"
 
+#include <cstddef>
 #include <cstdint>
+#include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
diff --git a/centipede/runner_flags.cc b/centipede/runner_flags.cc
index db4a871..3e031fb 100644
--- a/centipede/runner_flags.cc
+++ b/centipede/runner_flags.cc
@@ -14,7 +14,9 @@
 
 #include "./centipede/runner_flags.h"
 
+#include <cstddef>
 #include <string>
+#include <utility>
 #include <vector>
 
 namespace centipede {
diff --git a/centipede/runner_fork_server.cc b/centipede/runner_fork_server.cc
index 10160eb..78b33b1 100644
--- a/centipede/runner_fork_server.cc
+++ b/centipede/runner_fork_server.cc
@@ -56,6 +56,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
+#include <cstdio>
 #include <cstdlib>
 #include <cstring>
 
diff --git a/centipede/runner_interface.h b/centipede/runner_interface.h
index b07b733..892b312 100644
--- a/centipede/runner_interface.h
+++ b/centipede/runner_interface.h
@@ -21,6 +21,7 @@
 #include <cstdint>
 #include <functional>
 #include <memory>
+#include <vector>
 
 #include "./centipede/defs.h"
 #include "./centipede/mutation_input.h"
diff --git a/centipede/runner_request.cc b/centipede/runner_request.cc
index 26761d6..5943b87 100644
--- a/centipede/runner_request.cc
+++ b/centipede/runner_request.cc
@@ -17,6 +17,9 @@
 #include <cstring>
 #include <vector>
 
+#include "./centipede/defs.h"
+#include "./centipede/execution_metadata.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/shared_memory_blob_sequence.h"
 
 namespace centipede {
diff --git a/centipede/runner_result.cc b/centipede/runner_result.cc
index ef1ab6b..b1b6589 100644
--- a/centipede/runner_result.cc
+++ b/centipede/runner_result.cc
@@ -17,7 +17,8 @@
 #include <cstdint>
 #include <cstring>
 
-#include "./centipede/runner_cmp_trace.h"
+#include "./centipede/execution_metadata.h"
+#include "./centipede/feature.h"
 #include "./centipede/shared_memory_blob_sequence.h"
 
 namespace centipede {
diff --git a/centipede/runner_result.h b/centipede/runner_result.h
index d7544a1..7c576b7 100644
--- a/centipede/runner_result.h
+++ b/centipede/runner_result.h
@@ -19,6 +19,7 @@
 #include <cstdint>
 #include <cstdlib>
 #include <string>
+#include <string_view>
 #include <utility>
 #include <vector>
 
diff --git a/centipede/runner_result_test.cc b/centipede/runner_result_test.cc
index 19cb660..1279c6a 100644
--- a/centipede/runner_result_test.cc
+++ b/centipede/runner_result_test.cc
@@ -15,13 +15,17 @@
 #include "./centipede/runner_result.h"
 
 #include <cstdint>
+#include <filesystem>  // NOLINT
 #include <fstream>
+#include <ios>
+#include <iterator>
 #include <memory>
 #include <string>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "./centipede/execution_metadata.h"
 #include "./centipede/feature.h"
 #include "./centipede/shared_memory_blob_sequence.h"
 #include "./centipede/test_util.h"
diff --git a/centipede/runner_sancov.cc b/centipede/runner_sancov.cc
index 119a087..e2851da 100644
--- a/centipede/runner_sancov.cc
+++ b/centipede/runner_sancov.cc
@@ -26,7 +26,7 @@
 #include "./centipede/pc_info.h"
 #include "./centipede/reverse_pc_table.h"
 #include "./centipede/runner.h"
-#include "./centipede/runner_utils.h"
+#include "./centipede/runner_dl_info.h"
 
 namespace centipede {
 void RunnerSancov() {}  // to be referenced in runner.cc
diff --git a/centipede/runner_utils.h b/centipede/runner_utils.h
index 66a1e33..e44c938 100644
--- a/centipede/runner_utils.h
+++ b/centipede/runner_utils.h
@@ -15,7 +15,6 @@
 #ifndef THIRD_PARTY_CENTIPEDE_RUNNER_UTILS_H_
 #define THIRD_PARTY_CENTIPEDE_RUNNER_UTILS_H_
 
-#include <cstdint>
 
 namespace centipede {
 
diff --git a/centipede/rusage_profiler.cc b/centipede/rusage_profiler.cc
index 2d718ba..2ed53eb 100644
--- a/centipede/rusage_profiler.cc
+++ b/centipede/rusage_profiler.cc
@@ -14,6 +14,7 @@
 
 #include "./centipede/rusage_profiler.h"
 
+#include <algorithm>
 #include <atomic>
 #include <cmath>
 #include <cstdint>
diff --git a/centipede/rusage_profiler.h b/centipede/rusage_profiler.h
index c1b8271..c72237f 100644
--- a/centipede/rusage_profiler.h
+++ b/centipede/rusage_profiler.h
@@ -214,6 +214,7 @@
 #include <ostream>
 #include <string>
 
+#include "absl/base/thread_annotations.h"
 #include "absl/strings/str_cat.h"  // IWYU pragma: keep
 #include "absl/synchronization/mutex.h"
 #include "absl/time/time.h"
diff --git a/centipede/rusage_stats.cc b/centipede/rusage_stats.cc
index b715d1a..a71f5fe 100644
--- a/centipede/rusage_stats.cc
+++ b/centipede/rusage_stats.cc
@@ -23,7 +23,11 @@
 #include <cstdint>
 #include <cstdio>
 #include <fstream>
+#include <functional>
+#include <ios>
 #include <limits>
+#include <ostream>
+#include <sstream>
 #include <string>
 #include <thread>  // NOLINT
 
diff --git a/centipede/rusage_stats.h b/centipede/rusage_stats.h
index c094b84..9b63b29 100644
--- a/centipede/rusage_stats.h
+++ b/centipede/rusage_stats.h
@@ -24,12 +24,12 @@
 #include <sys/resource.h>
 
 #include <array>
+#include <cstddef>
 #include <cstdint>
 #include <iosfwd>
 #include <ostream>
 #include <string>
 
-#include "absl/status/status.h"
 #include "absl/time/time.h"
 
 namespace centipede::perf {
diff --git a/centipede/stats_test.cc b/centipede/stats_test.cc
index 0387730..ba49ac4 100644
--- a/centipede/stats_test.cc
+++ b/centipede/stats_test.cc
@@ -14,7 +14,6 @@
 
 #include "./centipede/stats.h"
 
-#include <cstddef>
 #include <cstdint>
 #include <filesystem>  // NOLINT
 #include <sstream>
diff --git a/centipede/symbol_table.cc b/centipede/symbol_table.cc
index b69ed98..e78522d 100644
--- a/centipede/symbol_table.cc
+++ b/centipede/symbol_table.cc
@@ -15,8 +15,9 @@
 #include "./centipede/symbol_table.h"
 
 #include <cstdlib>
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <fstream>
+#include <istream>
 #include <ostream>
 #include <string>
 #include <string_view>
diff --git a/centipede/test_util.cc b/centipede/test_util.cc
index 8bbadd7..7a9d037 100644
--- a/centipede/test_util.cc
+++ b/centipede/test_util.cc
@@ -13,10 +13,13 @@
 // limitations under the License.
 
 #include <cstdlib>
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <string>
 #include <string_view>
+#include <system_error>  // NOLINT
 
+#include "absl/log/check.h"
+#include "absl/log/log.h"
 #include "absl/strings/str_cat.h"
 #include "./centipede/logging.h"
 
diff --git a/centipede/test_util.h b/centipede/test_util.h
index 394ac97..18ce0f5 100644
--- a/centipede/test_util.h
+++ b/centipede/test_util.h
@@ -15,7 +15,7 @@
 #ifndef THIRD_PARTY_CENTIPEDE_INTERNAL_TEST_UTIL_H_
 #define THIRD_PARTY_CENTIPEDE_INTERNAL_TEST_UTIL_H_
 
-#include <filesystem>
+#include <filesystem>  // NOLINT
 #include <string>
 
 #include "absl/strings/str_cat.h"
diff --git a/centipede/testing/BUILD b/centipede/testing/BUILD
index 32a571a..887ed03 100644
--- a/centipede/testing/BUILD
+++ b/centipede/testing/BUILD
@@ -64,7 +64,11 @@
         "manual",
         "notap",
     ],
-    deps = ["@com_google_fuzztest//centipede:centipede_runner_no_main"],
+    deps = [
+        "@com_google_fuzztest//centipede:centipede_runner_no_main",
+        "@com_google_fuzztest//centipede:defs",
+        "@com_google_fuzztest//centipede:mutation_input",
+    ],
 )
 
 centipede_fuzz_target(
diff --git a/centipede/testing/multi_dso_target_lib.cc b/centipede/testing/multi_dso_target_lib.cc
index 7b27cb1..ceeb225 100644
--- a/centipede/testing/multi_dso_target_lib.cc
+++ b/centipede/testing/multi_dso_target_lib.cc
@@ -14,6 +14,9 @@
 
 #include "./centipede/testing/multi_dso_target_lib.h"
 
+#include <cstddef>
+#include <cstdint>
+
 void DSO(const uint8_t *data, size_t size) {
   if (size >= 4 && data[2] == 'z' && data[3] == 'z') __builtin_trap();
 }
diff --git a/centipede/testing/seeded_fuzz_target.cc b/centipede/testing/seeded_fuzz_target.cc
index 4a55241..da3bf10 100644
--- a/centipede/testing/seeded_fuzz_target.cc
+++ b/centipede/testing/seeded_fuzz_target.cc
@@ -17,6 +17,8 @@
 #include <functional>
 #include <vector>
 
+#include "./centipede/defs.h"
+#include "./centipede/mutation_input.h"
 #include "./centipede/runner_interface.h"
 
 using centipede::ByteSpan;
diff --git a/centipede/util_test.cc b/centipede/util_test.cc
index cc8d8ba..a46efbe 100644
--- a/centipede/util_test.cc
+++ b/centipede/util_test.cc
@@ -17,6 +17,7 @@
 #include <cstdint>
 #include <cstdlib>
 #include <filesystem>  // NOLINT
+#include <map>
 #include <string>
 #include <thread>  // NOLINT(build/c++11)
 #include <vector>
@@ -24,10 +25,9 @@
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/container/flat_hash_map.h"
+#include "absl/log/log.h"
 #include "./centipede/defs.h"
 #include "./centipede/feature.h"
-#include "./centipede/logging.h"
-#include "./centipede/test_util.h"
 
 namespace centipede {