Solidity, the Smart Contract Programming Language
This report presents the forensic synthetic code analysis of argotorg/solidity, a C++ project with 25,676 GitHub stars. SynthScan v2.0 examined 328,247 lines of code across 1960 source files, recording 764 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 3.9 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 764 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | test/cmdlineTests.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/cmdlineTests.sh | 10 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/cmdlineTests.sh | 27 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/external_tests.py | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/external_tests.py | 20 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/localeTest.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/localeTest.sh | 11 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/localeTest.sh | 28 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/libsolutil/DominatorFinderTest.cpp | 247 | // ┌────►A──────┐ | COMMENT |
| MEDIUM | test/libsolutil/DominatorFinderTest.cpp | 254 | // └───►G◄─┴─────┘ | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 301 | // ┌─────────┐ | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 306 | // │ ┌──►C◄───── B──┬──────┐ | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 310 | // │ │ D──┘ ┌───►E◄─────I | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 315 | // │ └───┼─────┼────F └─►H | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 319 | // │ └─────┴─G◄─┴──────┘ | COMMENT |
| MEDIUM⚡ | test/libsolutil/DominatorFinderTest.cpp | 321 | // └─────────────┘ | COMMENT |
| MEDIUM | test/externalTests/bleeps.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/bleeps.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/gnosis.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/gnosis.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/prb-math.py | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/prb-math.py | 20 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/euler.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/euler.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/uniswap.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/uniswap.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/brink.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/brink.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/ens.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/ens.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/gp2.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/gp2.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/zeppelin.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/zeppelin.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/chainlink.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/chainlink.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/yield-liquidator.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/yield-liquidator.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/elementfi.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/elementfi.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/trident.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/trident.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/colony.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/colony.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/pool-together.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/pool-together.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/solc-js/solc-js.sh | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/externalTests/solc-js/solc-js.sh | 20 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/benchmarks/external.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/benchmarks/external.sh | 15 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/benchmarks/external.sh | 32 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/benchmarks/external-setup.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/benchmarks/external-setup.sh | 10 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/benchmarks/external-setup.sh | 27 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/benchmarks/local.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | test/benchmarks/local.sh | 5 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | test/benchmarks/local.sh | 22 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | docs/docs.sh | 3 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | docs/docs.sh | 10 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | docs/docs.sh | 27 | #------------------------------------------------------------------------------ | COMMENT |
| 87 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | solc/CommandLineInterface.h | 21 | * Solidity command line interface. | COMMENT |
| LOW | solc/CommandLineInterface.h | 61 | /// expected to exit with a non-zero exit code despite there being no error. | COMMENT |
| LOW | solc/CommandLineInterface.h | 121 | void handleEthdebug(std::string const& _contract); | COMMENT |
| LOW | solc/CommandLineInterface.cpp | 21 | * @date 2014 | COMMENT |
| LOW | solc/CommandLineInterface.cpp | 41 | #include <libsolidity/lsp/LanguageServer.h> | COMMENT |
| LOW | solc/CommandLineInterface.cpp | 61 | #include <memory> | COMMENT |
| LOW | solc/CommandLineParser.h | 21 | #pragma once | COMMENT |
| LOW | solc/CommandLineParser.h | 301 | /// @returns a specification of all named command-line options accepted by the compiler. | COMMENT |
| LOW | libevmasm/AssemblyItem.h | 21 | */ | COMMENT |
| LOW | libevmasm/Assembly.cpp | 21 | */ | COMMENT |
| LOW | libevmasm/KnownState.h | 21 | * @date 2015 | COMMENT |
| LOW | libevmasm/KnownState.h | 41 | #pragma warning(pop) | COMMENT |
| LOW | libevmasm/KnownState.h | 161 | /// and stores the new value at the given slot. | COMMENT |
| LOW | libevmasm/Assembly.h | 21 | #include <libevmasm/Instruction.h> | COMMENT |
| LOW | libevmasm/Assembly.h | 161 | /// Constructs an @a Assembly from the serialized JSON representation. | COMMENT |
| LOW | libevmasm/LinkerObject.h | 61 | { | COMMENT |
| LOW | libevmasm/Inliner.cpp | 21 | */ | COMMENT |
| LOW | libevmasm/SemanticInformation.h | 61 | /// Unknown if not provided. | COMMENT |
| LOW | libevmasm/CommonSubexpressionEliminator.h | 21 | * @date 2015 | COMMENT |
| LOW | libevmasm/GasMeter.h | 241 | /// @returns the gas cost of the supplied data, depending whether it is in creation code, or not. | COMMENT |
| LOW | libsolutil/Numeric.h | 21 | COMMENT | |
| LOW | libsolutil/CommonData.h | 21 | * | COMMENT |
| LOW | libsolutil/CommonData.h | 441 | /// Convert a single byte to a string of hex characters (of length two), | COMMENT |
| LOW | libsolutil/CommonData.h | 581 | /// sequence of @tparam N elements that starts with the second element of the previous | COMMENT |
| LOW | libsolutil/StringUtils.h | 41 | // Calculates the Damerau–Levenshtein distance between _str1 and _str2 and returns true if that distance is not greater | COMMENT |
| LOW | libsolutil/StringUtils.h | 101 | return {}; | COMMENT |
| LOW | libsolutil/Exceptions.h | 21 | #include <liblangutil/SourceLocation.h> | COMMENT |
| LOW | libsolutil/Exceptions.h | 81 | /// exception was thrown from. | COMMENT |
| LOW | libsolutil/Result.h | 21 | COMMENT | |
| LOW | libsolutil/Visitor.h | 61 | // (Run-Time Check Failure #2 - Stack around the variable '....' was corrupted). | COMMENT |
| LOW | libsolutil/Common.h | 21 | * | COMMENT |
| LOW | libsolutil/picosha2.h | 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | COMMENT |
| LOW | libsolutil/DominatorFinder.h | 21 | * https://www.cs.princeton.edu/courses/archive/spr03/cs423/download/dominators.pdf | COMMENT |
| LOW | libsolutil/DominatorFinder.h | 381 | /// The entry vertex is the first element of the vector. | COMMENT |
| LOW | libsolutil/DominatorFinder.h | 401 | /// Maps a vertex' DFS index (i.e. array index) to its immediate dominator DFS index. | COMMENT |
| LOW | libsolutil/Profiler.h | 21 | #include <chrono> | COMMENT |
| LOW | liblangutil/Exceptions.h | 21 | * Solidity exception hierarchy. | COMMENT |
| LOW | liblangutil/Token.h | 1 | // Copyright 2006-2012, the V8 project authors. All rights reserved. | COMMENT |
| LOW | liblangutil/Token.h | 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | COMMENT |
| LOW | liblangutil/Token.h | 41 | // along with solidity. If not, see <http://www.gnu.org/licenses/>. | COMMENT |
| LOW | liblangutil/Token.cpp | 1 | // Copyright 2006-2012, the V8 project authors. All rights reserved. | COMMENT |
| LOW | liblangutil/Token.cpp | 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | COMMENT |
| LOW | tools/yulPhaser/Mutations.h | 61 | COMMENT | |
| LOW | tools/yulPhaser/Mutations.h | 81 | /// unless there is no other choice (i.e. one of the chromosomes is empty). | COMMENT |
| LOW | tools/yulPhaser/Program.cpp | 21 | #include <liblangutil/CharStream.h> | COMMENT |
| LOW | tools/yulPhaser/Phaser.cpp | 21 | #include <tools/yulPhaser/AlgorithmRunner.h> | COMMENT |
| LOW | tools/yulPhaser/Phaser.h | 21 | */ | COMMENT |
| LOW | tools/yulPhaser/Common.h | 21 | COMMENT | |
| LOW | test/Common.cpp | 21 | #include <test/EVMHost.h> | COMMENT |
| LOW | test/cmdlineTests.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/CommonSyntaxTest.cpp | 21 | #include <test/TestCase.h> | COMMENT |
| LOW | test/InteractiveTests.h | 21 | #include <test/TestCase.h> | COMMENT |
| LOW | test/InteractiveTests.h | 41 | #include <test/libyul/ControlFlowGraphTest.h> | COMMENT |
| LOW | test/EVMHost.cpp | 21 | */ | COMMENT |
| LOW | test/soltest.cpp | 21 | * Stub for generating main boost.test module. | COMMENT |
| LOW | test/external_tests.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | test/localeTest.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/ExecutionFramework.h | 21 | * Framework for executing contracts and testing them using RPC. | COMMENT |
| LOW | test/solc/CommandLineInterfaceAllowPaths.cpp | 21 | #include <solc/CommandLineInterface.h> | COMMENT |
| LOW | test/solc/CommandLineInterface.cpp | 21 | #include <solc/CommandLineInterface.h> | COMMENT |
| 352 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | test/cmdlineTests.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/lsp.py | 1425 | # This file is analyzed because it was imported via "A/B/C/foo.sol". | COMMENT |
| MEDIUM | test/external_tests.py | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | test/localeTest.sh | 12 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/bleeps.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/gnosis.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/prb-math.py | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/euler.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/uniswap.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/brink.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/ens.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/gp2.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/zeppelin.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/chainlink.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/yield-liquidator.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/elementfi.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/trident.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/colony.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/pool-together.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/externalTests/solc-js/solc-js.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | test/benchmarks/external.sh | 16 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | test/benchmarks/external-setup.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | test/benchmarks/local.sh | 6 | # This file is part of solidity. | COMMENT |
| MEDIUM | docs/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM⚡ | docs/docs.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/common.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/get_version.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/test_emscripten.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/build_emscripten.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/get_nightly_version.sh | 12 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/docs_version_pragma_check.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/tests.sh | 11 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/ASTImportTest.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/list_contributors.sh | 15 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/yul_coverage.sh | 36 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/common_cmdline.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/docker_deploy_manual.sh | 28 | # Create a classic PAT with write:packages scope by visiting the following URL: | COMMENT |
| MEDIUM⚡ | scripts/wasm-rebuild/docker-scripts/genbytecode.sh | 10 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/ci/build_emscripten.sh | 17 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/ci/buildpack-deps_test_emscripten.sh | 17 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/bytecodecompare/prepare_report.py | 350 | # Create a copy that we can use directly with the CLI interface | COMMENT |
| MEDIUM⚡ | scripts/externalTests/update_external_repos.sh | 21 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/externalTests/common.sh | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/externalTests/summarize_benchmarks.sh | 16 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/externalTests/test_helpers.py | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | scripts/externalTests/merge_benchmarks.sh | 15 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/externalTests/runners/foundry.py | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/externalTests/runners/base.py | 4 | # This file is part of solidity. | COMMENT |
| MEDIUM | …pts/solc-bin/bytecode_reports_for_modified_binaries.sh | 32 | # This file is part of solidity. | COMMENT |
| MEDIUM | scripts/solc-bin/compare_bytecode_reports.sh | 18 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | .circleci/soltest.sh | 18 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | .circleci/compare_bytecode_reports.sh | 8 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | .circleci/osx_install_dependencies.sh | 10 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | .circleci/parallel_bytecode_report.sh | 12 | # This file is part of solidity. | COMMENT |
| MEDIUM⚡ | .circleci/soltest_all.sh | 10 | # This file is part of solidity. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/lsp.py | 680 | def user_interaction_failed_method_test( | CODE |
| LOW | test/lsp.py | 981 | def require_params_for_method(self, method_name: str, message: dict) -> Any: | CODE |
| LOW | test/lsp.py | 1023 | def fetch_and_format_diagnostics(self, solc: JsonRpcProcess, test, sub_dir=None): | CODE |
| LOW | test/lsp.py | 1048 | def update_diagnostics_in_file( | CODE |
| LOW | test/lsp.py | 1071 | def open_file_and_wait_for_diagnostics( | CODE |
| LOW | test/lsp.py | 1184 | def expect_goto_definition_location( | CODE |
| LOW | test/lsp.py | 1278 | def user_interaction_failed_diagnostics( | CODE |
| LOW | test/lsp.py | 1313 | def user_interaction_failed_autoupdate(self, test, sub_dir): | CODE |
| LOW | test/lsp.py | 1338 | def test_analyze_all_project_files_flat(self, solc: JsonRpcProcess) -> None: | CODE |
| LOW | test/lsp.py | 1371 | def test_analyze_all_project_files_nested(self, solc: JsonRpcProcess) -> None: | CODE |
| LOW | test/lsp.py | 1393 | def test_analyze_all_project_files_nested_with_include_paths(self, solc: JsonRpcProcess) -> None: | CODE |
| LOW | test/lsp.py | 1431 | def test_publish_diagnostics_errors_multiline(self, solc: JsonRpcProcess) -> None: | CODE |
| LOW | test/lsp.py | 1543 | def test_custom_includes_with_full_project(self, solc: JsonRpcProcess) -> None: | CODE |
| LOW | test/external_tests.py | 43 | def display_available_external_tests(_): | CODE |
| LOW | test/ethdebugSchemaTests/conftest.py | 32 | def ethdebug_schema_repository(ethdebug_schema_dir): | CODE |
| LOW | …ethdebugSchemaTests/test_ethdebug_schema_conformity.py | 107 | def test_resources_match_standard_json_sources(solc_output): | CODE |
| LOW | …ethdebugSchemaTests/test_ethdebug_schema_conformity.py | 116 | def test_resources_include_standard_json_source_contents(standard_json_input, solc_output): | CODE |
| LOW | …ethdebugSchemaTests/test_ethdebug_schema_conformity.py | 128 | def test_resources_include_empty_type_and_pointer_tables(solc_output): | CODE |
| LOW | …ethdebugSchemaTests/test_ethdebug_schema_conformity.py | 133 | def test_resources_and_compilation_share_compilation(solc_output): | CODE |
| LOW | test/evmc/evmc.h | 1122 | typedef evmc_capabilities_flagset (*evmc_get_capabilities_fn)(struct evmc_vm* vm); | CODE |
| LOW | …ts/~bytecode_equivalence_with_unused_contracts/test.py | 21 | def test_bytecode_equivalence(): | CODE |
| LOW | …ivalence_independent_of_import_discovery_order/test.py | 21 | def test_bytecode_equivalence(): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_downloader.py | 226 | def test_download_benchmarks_branch(download_file_mock): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_downloader.py | 248 | def test_download_benchmarks_pr(download_file_mock): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_downloader.py | 270 | def test_download_benchmarks_base_of_pr(download_file_mock): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_downloader.py | 291 | def test_download_benchmarks_unauthorized_request(self, _): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 131 | def _assert_single_value_diff_matches(self, differ, cases, nest_result=True, nestings=None): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 153 | def test_number_diff_absolute_json(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 213 | def test_number_diff_humanized_json_and_console(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 243 | def test_number_diff_humanized_markdown(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 385 | def test_diff_table_formatter(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 393 | def test_diff_table_formatter_json_absolute(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 447 | def test_diff_table_formatter_console_relative(self): | CODE |
| LOW | test/scripts/test_externalTests_benchmark_diff.py | 476 | def test_diff_table_formatter_markdown_humanized(self): | STRING |
| LOW⚡ | test/scripts/test_gas_diff_stats.py | 12 | def test_collect_statistics_should_fail_on_empty_diff(self): | CODE |
| LOW⚡ | test/scripts/test_gas_diff_stats.py | 16 | def test_collect_statistics_should_accept_whitespace_only_diff(self): | CODE |
| LOW⚡ | test/scripts/test_gas_diff_stats.py | 22 | def test_collect_statistics_should_report_sum_of_gas_costs(self): | CODE |
| LOW | test/scripts/test_gas_diff_stats.py | 58 | def test_collect_statistics_should_ignore_ir_costs(self): | STRING |
| LOW | test/scripts/test_gas_diff_stats.py | 77 | def test_collect_statistics_should_ignore_unchanged_costs(self): | STRING |
| LOW | test/scripts/test_gas_diff_stats.py | 95 | def test_collect_statistics_should_include_code_deposit_in_total_cost(self): | STRING |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 91 | def test_format_report_should_print_error_if_contract_report_list_is_missing(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 98 | def test_format_report_should_not_print_anything_if_contract_report_list_is_empty(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 107 | def test_aggregate_bytecode_and_metadata_present(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 112 | def test_aggregate_bytecode_missing(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 117 | def test_aggregate_metadata_missing(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 122 | def test_aggregate_no_contract_reports(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 127 | def test_aggregate_missing_contract_report_list(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 132 | def test_aggregate_multiple_contract_reports(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 157 | def test_load_source_should_strip_smt_pragmas_if_requested(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 166 | def test_load_source_should_not_strip_smt_pragmas_if_not_requested(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 170 | def test_load_source_preserves_lf_newlines(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 180 | def test_load_source_preserves_crlf_newlines(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 190 | def test_load_source_preserves_cr_newlines(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 200 | def test_load_source_preserves_mixed_newlines(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 376 | def test_parse_standard_json_output_should_report_error_on_compiler_errors(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 382 | def test_parse_standard_json_output_should_report_error_on_empty_json(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 387 | def test_parse_standard_json_output_should_report_error_if_contracts_is_empty(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 394 | def test_parse_standard_json_output_should_report_error_if_every_file_has_no_contracts(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 425 | def test_parse_standard_json_output_should_report_error_on_unimplemented_feature_error(self): | CODE |
| LOW⚡ | test/scripts/test_bytecodecompare_prepare_report.py | 430 | def test_parse_standard_json_output_should_report_error_on_stack_too_deep_error(self): | CODE |
| 40 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/lsp.py | 571 | CODE | |
| LOW | test/lsp.py | 657 | CODE | |
| LOW | test/lsp.py | 727 | CODE | |
| LOW | test/lsp.py | 779 | CODE | |
| LOW | test/lsp.py | 1224 | CODE | |
| LOW | test/lsp.py | 1278 | CODE | |
| LOW | test/lsp.py | 1473 | CODE | |
| LOW | test/lsp.py | 1645 | CODE | |
| LOW | test/lsp.py | 790 | CODE | |
| LOW | scripts/pylint_all.py | 19 | CODE | |
| LOW | scripts/extract_test_cases.py | 12 | CODE | |
| LOW | scripts/isolate_tests.py | 74 | CODE | |
| LOW | scripts/isolate_tests.py | 114 | CODE | |
| LOW | scripts/error_codes.py | 112 | CODE | |
| LOW | scripts/error_codes.py | 349 | CODE | |
| LOW | scripts/bytecodecompare/prepare_report.py | 368 | CODE | |
| LOW | scripts/externalTests/benchmark_diff.py | 136 | CODE | |
| LOW | scripts/externalTests/parse_eth_gas_report.py | 188 | CODE | |
| LOW | scripts/externalTests/download_benchmarks.py | 117 | CODE | |
| LOW | scripts/common/rest_api_helpers.py | 16 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/formal/combine_byte_shr_1.py | 7 | given B % 8 == 0 && A < n_bits/8 && B <= n_bits && A >= B / 8 | STRING |
| HIGH | test/formal/rule.py | 30 | self.solver.push() | CODE |
| HIGH | test/formal/combine_byte_shl.py | 7 | given B % 8 == 0 && A <= 32 && B <= 256 | STRING |
| HIGH | scripts/regressions.py | 109 | cmd = f"find {corpus_dir} -type f | xargs -n1 sh -c '{fuzzer} $0 || exit 255'" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/localeTest.sh | 8 | # Usage: | COMMENT |
| LOW⚡ | scripts/list_contributors.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/yul_coverage.sh | 6 | # Usage: | COMMENT |
| LOW⚡ | scripts/externalTests/update_external_repos.sh | 13 | # Usage: | COMMENT |
| LOW⚡ | scripts/externalTests/summarize_benchmarks.sh | 8 | # Usage: | COMMENT |
| LOW⚡ | scripts/externalTests/merge_benchmarks.sh | 7 | # Usage: | COMMENT |
| LOW | …pts/solc-bin/bytecode_reports_for_modified_binaries.sh | 16 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/lsp.py | 641 | except Exception: | CODE |
| LOW | test/lsp.py | 898 | except Exception as e: # pragma pylint: disable=broad-except | CODE |
| LOW | test/lsp.py | 1304 | except Exception as e: | CODE |
| MEDIUM | test/external_tests.py | 144 | print(f"Error: {exception}", file=sys.stderr) | CODE |
| MEDIUM | test/external_tests.py | 147 | print(f"Error: {exception}", file=sys.stderr) | CODE |
| MEDIUM | scripts/error_codes.py | 22 | print(f"Error reading: {file_name}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/_static/js/initialize.js | 158 | // TODO: We should consider a more robust way to handle this in the future. | COMMENT |
| LOW⚡ | scripts/yul_coverage.sh | 20 | # e.g. ./yul_coverage.sh --successful --list-files will just return a list of | COMMENT |
| LOW⚡ | scripts/yul_coverage.sh | 29 | # To change the used compiler, just set the SOLC environment variable. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/externalTests/common.sh | 612 | # NOTE: The output of this function is a series of concatenated JSON dicts rather than a list. | COMMENT |
| LOW | scripts/externalTests/common.sh | 631 | # NOTE: The output of this function is a series of concatenated JSON dicts rather than a list. | COMMENT |
| LOW | libyul/AsmAnalysis.cpp | 690 | // NOTE: This function uses the default EVM version instead of the currently selected one. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libsolutil/DominatorFinder.h | 252 | // TODO: implement sophisticated link-eval algorithm as shown in pg 132 | COMMENT |
| LOW | libsolidity/interface/CompilerStack.cpp | 2021 | /// TODO: implement + overload to avoid the need of += | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/lsp.py | 813 | # Check if we need markers from a specific file | COMMENT |
| LOW | …pts/solc-bin/bytecode_reports_for_modified_binaries.sh | 107 | # Set locale to C to prevent it from affecting glob sort order. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/tools/ossfuzz/protoToYul.cpp | 1285 | // This variable stores the <string> part i.e., literal minus the first and last | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/lsp.py | 4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/ext/remix_code_links.py | 9 | logger = logging.getLogger(__name__) | CODE |