High performance server-side application framework
This report summarizes scanner evidence for scylladb/seastar, a C++ project with 9,388 GitHub stars. SynthScan examined 20,982 lines of code across 108 source files, recording 152 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 10.3 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 136 finding(s).
Are imports declared and package/API names verified? 5 finding(s).
Are wrappers, guards, and repeated structures necessary? 54 finding(s).
Which changes need focused human review? 152 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 152 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # | COMMENT |
| LOW | CMakeLists.txt | 1041 | if (Seastar_LOGGER_COMPILE_TIME_FMT) | COMMENT |
| LOW | CMakeLists.txt | 1081 | set (Seastar_PC_IMPORT_FMT_CFLAGS | COMMENT |
| LOW | CMakeLists.txt | 1101 | if (Seastar_CXX_FLAGS) | COMMENT |
| LOW | configure.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | seastar_cmake.py | 1 | # This file is open source software, licensed to you under the terms | COMMENT |
| LOW | test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | cooking.sh | 1 | #!/bin/bash | COMMENT |
| LOW | cooking.sh | 241 | fi | COMMENT |
| LOW | install-dependencies.sh | 1 | #!/bin/bash | COMMENT |
| LOW | cmake/check-seastar-include-style.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/CMakeLists.txt | 1 | # | COMMENT |
| LOW | tests/unit/CMakeLists.txt | 1 | # | COMMENT |
| LOW | tests/unit/CMakeLists.txt | 61 | # [KIND {SEASTAR,BOOST,CUSTOM,FUZZ}] | COMMENT |
| LOW | tests/unit/CMakeLists.txt | 241 | set_tests_properties (${test_name_prefix}.${name} | COMMENT |
| LOW | tests/unit/io_trace_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/unit/json2code_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/unit/prometheus_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/unit/prometheus_test.py | 101 | if not isinstance(other, Exposition): | COMMENT |
| LOW | tests/unit/https-server.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | …/manual/iosched_reproducers/scylla_tablet_migration.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tests/fuzz/CMakeLists.txt | 1 | # | COMMENT |
| LOW | tests/consumer/CMakeLists.txt | 1 | # | COMMENT |
| LOW | tests/consumer/CMakeLists.txt | 21 | # Seastar, once through each channel Seastar is published on: the CMake package | COMMENT |
| LOW | tests/consumer/CMakeLists.txt | 61 | # which is what the BMI needs. | COMMENT |
| LOW | tests/perf/CMakeLists.txt | 1 | # | COMMENT |
| LOW | scripts/tap.sh | 1 | # | COMMENT |
| LOW | scripts/posix_net_conf.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/run_with_dpdk.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/addr2line.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | scripts/seastar-json2code.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | scripts/dpdk_nic_bind.py | 1 | #!/usr/bin/env python2 | COMMENT |
| LOW | scripts/dpdk_nic_bind.py | 21 | # | COMMENT |
| LOW | scripts/perftune.py | 721 | """ | COMMENT |
| LOW | scripts/perftune.py | 901 | # application thread that sent a packet on the same TCP stream. | COMMENT |
| LOW | scripts/perftune.py | 981 | top_slaves_list = set(itertools.chain.from_iterable( | COMMENT |
| LOW | scripts/perftune.py | 1281 | # in order to serve XSK by the higher RPS queues and RSS by the lower ones. | COMMENT |
| LOW | scripts/perftune.py | 1521 | perftune_print("Setting non-NVMe disks: {}...".format(", ".join(non_nvme_disks))) | COMMENT |
| LOW | scripts/perftune.yaml | 1 | # Mode is one of the following values: | COMMENT |
| LOW | scripts/perftune.yaml | 21 | COMMENT | |
| LOW | .github/workflows/gen-matrix.py | 1 | #!/usr/bin/env -S uv run --script | COMMENT |
| LOW | .github/workflows/install-build-env.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/workflows/install-build-env.sh | 21 | # Install the seastar build toolchain and run ./configure.py inside the | COMMENT |
| LOW | .github/workflows/install-build-env.sh | 81 | COMMENT | |
| LOW | doc/htmlsplit.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | apps/CMakeLists.txt | 1 | # This file is open source software, licensed to you under the terms | COMMENT |
| LOW | apps/io_tester/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/rpc_tester/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/memcached/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/memcached/tests/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/memcached/tests/test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | apps/memcached/tests/test_memcached.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | apps/httpd/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/iotune/CMakeLists.txt | 1 | # | COMMENT |
| LOW | apps/seawreck/CMakeLists.txt | 1 | # | COMMENT |
| LOW | demos/CMakeLists.txt | 1 | # | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | configure.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | seastar_cmake.py | 1 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | test.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | install-dependencies.sh | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | cmake/check-seastar-include-style.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | tests/unit/io_trace_test.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | tests/unit/json2code_test.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | tests/unit/prometheus_test.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | tests/unit/https-server.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | scripts/tap.sh | 2 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | scripts/addr2line.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | .github/workflows/gen-matrix.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | .github/workflows/install-build-env.sh | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | doc/htmlsplit.py | 13 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | apps/memcached/tests/test.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| MEDIUM | apps/memcached/tests/test_memcached.py | 3 | # This file is open source software, licensed to you under the terms | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | configure.py | 128 | def resolve_compilers_for_compiler_cache(args, compiler_cache): | CODE |
| LOW | seastar_cmake.py | 37 | def convert_strings_to_cmake_list(*args): | CODE |
| LOW | tests/unit/prometheus_test.py | 265 | def test_filtering_by_label_sans_aggregation(self) -> None: | CODE |
| LOW | tests/unit/prometheus_test.py | 285 | def test_filtering_by_label_with_aggregation(self) -> None: | CODE |
| LOW | tests/manual/rl-iosched.py | 204 | def mixed_run_and_show_results(m, ioprop): | CODE |
| LOW | tests/manual/rl-iosched.py | 266 | def limits_run_and_show_results(m): | CODE |
| LOW | tests/manual/rl-iosched.py | 302 | def isolation_show_stat_header(): | CODE |
| LOW | tests/manual/rl-iosched.py | 307 | def isolation_run_and_show_results(m): | CODE |
| LOW | tests/manual/rl-iosched.py | 333 | def class_limit_show_stat_header(): | CODE |
| LOW | tests/manual/rl-iosched.py | 338 | def class_limit_run_and_show_results(m): | CODE |
| LOW | scripts/addr2line.py | 451 | def _backtrace_context_matches(self): | CODE |
| LOW | scripts/stall-analyser.py | 392 | def print_command_line_options(args): | STRING |
| LOW⚡ | scripts/perftune.py | 1454 | def enforce_preferred_clocksource(self): | CODE |
| LOW⚡ | scripts/perftune.py | 1463 | def preferred_clocksource_available(self): | CODE |
| LOW⚡ | scripts/perftune.py | 1466 | def recommendation_if_unavailable(self): | CODE |
| LOW | scripts/perftune.py | 216 | def learn_irqs_from_proc_interrupts(pattern, irq2procline): | CODE |
| LOW | scripts/perftune.py | 338 | def check_sysfs_numa_topology_is_valid(): | CODE |
| LOW | scripts/perftune.py | 426 | def compute_cpu_mask_for_mode(mq_mode, cpu_mask): | CODE |
| LOW | scripts/perftune.py | 1099 | def __virtio_irq_to_queue_idx(self, irq): | CODE |
| LOW | scripts/perftune.py | 1181 | def __get_irq_to_queue_idx_functor(self, iface): | CODE |
| LOW | scripts/perftune.py | 1212 | def __irq_lower_bound_by_queue(self, iface, irqs, queue_idx): | CODE |
| LOW | scripts/perftune.py | 1334 | def __setup_one_tunable_iface(self, iface): | CODE |
| LOW | scripts/perftune.py | 1582 | def __nvme_fast_path_irq_filter(self, irq): | CODE |
| LOW | scripts/perftune.py | 1606 | def __group_disks_info_by_type(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 147 | def test_recovers_from_errors_in_the_stream(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 152 | def test_incomplete_command_results_in_error(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 160 | def test_stream_closed_results_in_error(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 167 | def test_unsuccesful_parsing_does_not_leave_data_behind(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 211 | def test_connection_statistics(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 228 | def test_large_response_is_split_into_mtu_chunks(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 264 | def test_expiry_at_epoch_time(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 271 | def test_multiple_keys_in_get(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 284 | def test_keys_set_after_flush_remain(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 291 | def test_flush_all_with_timeout_flushes_all_keys_even_those_set_after_flush(self): | CODE |
| LOW⚡ | apps/memcached/tests/test_memcached.py | 301 | def test_subsequent_flush_is_merged(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 313 | def test_immediate_flush_cancels_delayed_flush(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 322 | def test_flushing_in_the_past(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 333 | def test_memcache_does_not_crash_when_flushing_with_already_expred_items(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 338 | def test_response_spanning_many_datagrams(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 396 | def test_how_stats_change_with_different_commands(self): | CODE |
| LOW | apps/memcached/tests/test_memcached.py | 543 | def test_incr_and_decr_on_invalid_input(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/stall-analyser.py | 471 | except BrokenPipeError: | CODE |
| HIGH | scripts/perftune.py | 621 | except (urllib.error.URLError, ConnectionError, TimeoutError): | CODE |
| HIGH | scripts/perftune.py | 1450 | except: | CODE |
| HIGH | scripts/perftune.py | 1329 | except subprocess.CalledProcessError: | CODE |
| HIGH | apps/memcached/tests/test_memcached.py | 575 | except socket.timeout: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/io_trace_test.py | 111 | CODE | |
| LOW | tests/unit/prometheus_test.py | 138 | CODE | |
| LOW | scripts/addr2line.py | 156 | CODE | |
| LOW | scripts/addr2line.py | 505 | CODE | |
| LOW | scripts/seastar-json2code.py | 223 | CODE | |
| LOW | scripts/seastar-json2code.py | 390 | CODE | |
| LOW | scripts/seastar-json2code.py | 412 | CODE | |
| LOW | scripts/seastar-json2code.py | 545 | CODE | |
| LOW | scripts/stall-analyser.py | 352 | CODE | |
| LOW | scripts/stall-analyser.py | 392 | CODE | |
| LOW | scripts/stall-analyser.py | 210 | CODE | |
| LOW | scripts/stall-analyser.py | 229 | CODE | |
| LOW | scripts/perftune.py | 121 | CODE | |
| LOW | scripts/perftune.py | 261 | CODE | |
| LOW | scripts/perftune.py | 426 | CODE | |
| LOW | scripts/perftune.py | 779 | CODE | |
| LOW | scripts/perftune.py | 1695 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/manual/iosched_reproducers/scylla_tablet_migration.sh | 12 | # The batch workload does large sequential reads and wants to utilize all | COMMENT |
| MEDIUM | …oducers/one_cpu_starved_shard_can_still_saturate_io.sh | 5 | # Goal: it should be able to utilize the entire bandwidth of the disk, | COMMENT |
| MEDIUM | scripts/addr2line.py | 107 | # will just exit. We need to be robust against that. We | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | configure.py | 55 | # We can't write to /dev/null, since in some cases (-ftest-coverage) gcc will create an auxiliary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/manual/rl-iosched.py | 4 | CODE | |
| LOW | tests/manual/rl-iosched.py | 10 | CODE | |
| LOW | apps/memcached/tests/test.py | 19 | CODE | |
| LOW | apps/memcached/tests/test.py | 20 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/seastar-json2code.py | 400 | except Exception as e: | STRING |
| LOW | scripts/seastar-json2code.py | 681 | except Exception as e: | STRING |
| LOW | scripts/seastar-json2code.py | 696 | except Exception as e: | STRING |
| LOW | scripts/seastar-json2code.py | 721 | except Exception as e: | STRING |
| MEDIUM | scripts/seastar-json2code.py | 722 | print("Error while parsing JSON file '" + param + "' error " + str(e)) | STRING |
| LOW | scripts/perftune.py | 2121 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/addr2line.py | 355 | CODE | |
| LOW | scripts/stall-analyser.py | 229 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/io_trace_test.py | 86 | # Check if lttng-sessiond is running (or can be started) | COMMENT |