Repository Analysis

robotframework/robotframework

Generic automation framework for acceptance testing and RPA

15.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of robotframework/robotframework, a Python project with 11,849 GitHub stars. SynthScan v2.0 examined 199,525 lines of code across 966 source files, recording 2653 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 15.7 places this repository in the Moderate AI signal 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).

15.7
Adjusted Score
15.7
Raw Score
100%
Time Factor
2026-08-28
Last Push
11.8K
Stars
Python
Language
199.5K
Lines of Code
966
Files
2.7K
Pattern Hits
2026-08-29
Scan Date
0.12
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 7HIGH 105MEDIUM 39LOW 2502

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 2653 distinct pattern matches across 17 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.

Hyper-Verbose Identifiers1406 hits · 1463 pts
SeverityFileLineSnippetContext
LOWutest/run_jasmine.py48def download_jasmine_reporters():CODE
LOWutest/running/test_testlibrary.py49 def test_python_library_with_args(self):CODE
LOWutest/running/test_testlibrary.py59 def test_module_library_with_args(self):CODE
LOWutest/running/test_testlibrary.py67 def test_dynamic_python_library(self):CODE
LOWutest/running/test_testlibrary.py78 def test_import_python_class_from_module(self):CODE
LOWutest/running/test_testlibrary.py82 def test_import_python_module(self):CODE
LOWutest/running/test_testlibrary.py87 def test_import_python_module_from_module(self):CODE
LOWutest/running/test_testlibrary.py95 def test_import_non_existing_module(self):CODE
LOWutest/running/test_testlibrary.py105 def test_import_non_existing_class_from_existing_module(self):CODE
LOWutest/running/test_testlibrary.py164 def test_python_library_without_init(self):CODE
LOWutest/running/test_testlibrary.py167 def test_python_library_with_init(self):CODE
LOWutest/running/test_testlibrary.py170 def test_new_style_class_without_init(self):CODE
LOWutest/running/test_testlibrary.py173 def test_new_style_class_with_init(self):CODE
LOWutest/running/test_testlibrary.py179 def test_library_with_metaclass(self):CODE
LOWutest/running/test_testlibrary.py182 def test_library_with_zero_len(self):CODE
LOWutest/running/test_testlibrary.py279 def test_start_suite_flushes_instance(self):CODE
LOWutest/running/test_testlibrary.py283 def test_start_test_or_end_test_do_not_flush_instance(self):CODE
LOWutest/running/test_testlibrary.py293 def test_end_suite_restores_previous_instance_with_one_suite(self):CODE
LOWutest/running/test_testlibrary.py427 def test_get_keyword_doc_and_args_are_ignored_if_not_callable(self):CODE
LOWutest/running/test_testlibrary.py433 def test_handler_is_not_created_if_get_keyword_doc_fails(self):CODE
LOWutest/running/test_testlibrary.py439 def test_handler_is_not_created_if_get_keyword_args_fails(self):CODE
LOWutest/running/test_testlibrary.py445 def test_arguments_without_kwargs(self):CODE
LOWutest/running/test_testlibrary.py481 def test_doc_from_class_definition(self):CODE
LOWutest/running/test_testlibrary.py484 def test_doc_from_dynamic_method(self):CODE
LOWutest/running/test_testlibrary.py487 def test_dynamic_doc_overrides_class_doc(self):CODE
LOWutest/running/test_testlibrary.py490 def test_failure_in_dynamic_resolving_of_doc(self):CODE
LOWutest/running/test_testlibrary.py510 def test_doc_from_dynamic_method(self):CODE
LOWutest/running/test_testlibrary.py513 def test_dynamic_doc_overrides_method_doc(self):CODE
LOWutest/running/test_testlibrary.py516 def test_failure_in_dynamic_resolving_of_doc(self):CODE
LOWutest/running/test_testlibrary.py143 def test_task_scope_is_mapped_to_test_scope(self):CODE
LOWutest/running/test_testlibrary.py146 def test_invalid_scope_is_mapped_to_test_scope(self):CODE
LOWutest/running/test_testlibrary.py197 def test_version_in_class_library(self):CODE
LOWutest/running/test_testlibrary.py201 def test_version_in_module_library(self):CODE
LOWutest/running/test_testlibrary.py213 def test_doc_format_in_python_libarary(self):CODE
LOWutest/running/test_testlibrary.py240 def _verify_end_suite_restores_previous_instance(self, prev_inst):CODE
LOWutest/running/test_testlibrary.py331 def test_different_instances_for_all_tests(self):CODE
LOWutest/running/test_testlibrary.py378 def test_non_global_dynamic_keywords(self):CODE
LOWutest/running/test_testlibrary.py384 def test_global_dynamic_keywords(self):CODE
LOWutest/running/test_testlibrary.py397 def test_global_handlers_are_created_only_once(self):CODE
LOWutest/running/test_testlibrary.py414 def test_get_keyword_doc_is_used_if_present(self):CODE
LOWutest/running/test_testlibrary.py456 def test_arguments_with_kwargs(self):CODE
LOWutest/running/test_runkwregister.py45 def test_register_run_keyword_method_with_kw_name_and_arg_count(self):CODE
LOWutest/running/test_runkwregister.py48 def test_get_arg_count_with_non_existing_keyword(self):CODE
LOWutest/running/test_runkwregister.py51 def test_get_arg_count_with_non_existing_library(self):CODE
LOWutest/running/test_signalhandler.py13def assert_signal_handler_equal(signum, expected):CODE
LOWutest/running/test_signalhandler.py67 def test_failure_but_no_warning_when_not_in_main_thread(self):CODE
LOWutest/running/test_signalhandler.py90 def test_restore_when_no_failures(self):CODE
LOWutest/running/test_signalhandler.py97 def test_restore_when_failure(self):CODE
LOWutest/running/test_signalhandler.py110 def test_registered_outside_python(self):CODE
LOWutest/running/test_typeinfo.py92 def test_union_with_one_type_is_reduced_to_the_type(self):CODE
LOWutest/running/test_typeinfo.py98 def test_empty_union_not_allowed(self):CODE
LOWutest/running/test_typeinfo.py137 def test_generics_without_params(self):CODE
LOWutest/running/test_typeinfo.py142 def test_parameterized_special_form(self):CODE
LOWutest/running/test_typeinfo.py164 def test_invalid_sequence_params(self):CODE
LOWutest/running/test_typeinfo.py174 def test_invalid_mapping_params(self):CODE
LOWutest/running/test_typeinfo.py188 def test_invalid_tuple_params(self):CODE
LOWutest/running/test_typeinfo.py202 def test_params_with_invalid_type(self):CODE
LOWutest/running/test_typeinfo.py215 def test_parameters_with_unknown_type(self):CODE
LOWutest/running/test_typeinfo.py222 def test_parameters_with_custom_generic(self):CODE
LOWutest/running/test_typeinfo.py255 def test_from_variable_list_and_dict(self):CODE
1346 more matches not shown…
Unused Imports649 hits · 555 pts
SeverityFileLineSnippetContext
LOWtasks.py21CODE
LOWutest/running/test_typealiasresolver.py5CODE
LOWutest/libdoc/test_libdoc.py31CODE
LOW…/testdata/standard_libraries/datetime/datesandtimes.py2CODE
LOWatest/testdata/standard_libraries/remote/arguments.py2CODE
LOWatest/testdata/keywords/KeywordsImplementedInC.py1CODE
LOW…testdata/keywords/type_conversion/FutureAnnotations.py1CODE
LOW…/testdata/keywords/type_conversion/KeywordDecorator.py5CODE
LOW…eywords/type_conversion/KeywordDecoratorWithAliases.py2CODE
LOW…eywords/type_conversion/KeywordDecoratorWithAliases.py2CODE
LOW…eywords/type_conversion/KeywordDecoratorWithAliases.py2CODE
LOW…eywords/type_conversion/KeywordDecoratorWithAliases.py3CODE
LOW…ata/keywords/type_conversion/AnnotationsWithAliases.py2CODE
LOW…ata/keywords/type_conversion/AnnotationsWithAliases.py2CODE
LOW…ata/keywords/type_conversion/AnnotationsWithAliases.py2CODE
LOW…ata/keywords/type_conversion/AnnotationsWithAliases.py3CODE
LOWatest/testdata/keywords/type_conversion/Annotations.py1CODE
LOWatest/testdata/keywords/type_conversion/Annotations.py6CODE
LOW…estdata/test_libraries/ImportRobotModuleTestLibrary.py11CODE
LOW…estdata/test_libraries/ImportRobotModuleTestLibrary.py3CODE
LOW…st/testdata/test_libraries/extend_decorated_library.py3CODE
LOW…st/testdata/test_libraries/extend_decorated_library.py3CODE
LOW…st/testdata/test_libraries/extend_decorated_library.py3CODE
LOWatest/resources/atest_variables.py5CODE
LOWatest/resources/atest_variables.py5CODE
LOWatest/testresources/consoles/extend_builtin.py1CODE
LOWsrc/robot/__init__.py43CODE
LOWsrc/robot/__init__.py43CODE
LOWsrc/robot/__init__.py44CODE
LOWsrc/robot/__init__.py44CODE
LOWsrc/robot/running/librarykeywordrunner.py32CODE
LOWsrc/robot/running/invalidkeyword.py20CODE
LOWsrc/robot/running/librarykeyword.py19CODE
LOWsrc/robot/running/librarykeyword.py19CODE
LOWsrc/robot/running/librarykeyword.py22CODE
LOWsrc/robot/running/librarykeyword.py34CODE
LOWsrc/robot/running/librarykeyword.py38CODE
LOWsrc/robot/running/librarykeyword.py40CODE
LOWsrc/robot/running/keywordimplementation.py17CODE
LOWsrc/robot/running/keywordimplementation.py18CODE
LOWsrc/robot/running/keywordimplementation.py18CODE
LOWsrc/robot/running/keywordimplementation.py26CODE
LOWsrc/robot/running/keywordimplementation.py29CODE
LOWsrc/robot/running/keywordimplementation.py31CODE
LOWsrc/robot/running/keywordimplementation.py32CODE
LOWsrc/robot/running/keywordimplementation.py33CODE
LOWsrc/robot/running/keywordimplementation.py34CODE
LOWsrc/robot/running/docstringparser.py17CODE
LOWsrc/robot/running/docstringparser.py17CODE
LOWsrc/robot/running/userkeywordrunner.py33CODE
LOWsrc/robot/running/__init__.py117CODE
LOWsrc/robot/running/__init__.py117CODE
LOWsrc/robot/running/__init__.py117CODE
LOWsrc/robot/running/__init__.py117CODE
LOWsrc/robot/running/__init__.py123CODE
LOWsrc/robot/running/__init__.py123CODE
LOWsrc/robot/running/__init__.py123CODE
LOWsrc/robot/running/__init__.py128CODE
LOWsrc/robot/running/__init__.py129CODE
LOWsrc/robot/running/__init__.py130CODE
589 more matches not shown…
Docstring Block Structure91 hits · 450 pts
SeverityFileLineSnippetContext
HIGHutest/running/test_docstringparser.py57 ## Empty - - - ## Documentation only Doc Some more documentation - - - doc: | Doc Some more documentation #STRING
HIGHatest/testdata/libdoc/MarkdownLibrary.py19Keyword doc. Args: pos_only: positional-only argument. normal: normal argument documentSTRING
HIGHatest/testdata/libdoc/DocStringParsing.py9Example with *everything*! This is the second paragraph. We also have an indented example: STRING
HIGHsrc/robot/libraries/XML.py621Parses the given XML file or string into an element structure. The `source` can either be a path to an XML fileSTRING
HIGHsrc/robot/libraries/XML.py680Returns an element in the `source` matching the `xpath`. The `source` can be a path to an XML file, a string coSTRING
HIGHsrc/robot/libraries/XML.py1549Sets attribute `name` of the specified element to `value`. The element whose attribute to set is specified usinSTRING
HIGHsrc/robot/libraries/XML.py1802Removes the element matching `xpath` from the `source` structure. The element to remove from the `source` is spSTRING
HIGHsrc/robot/libraries/XML.py2115Evaluates the given xpath expression and returns results. The element in which context the expression is executSTRING
HIGHsrc/robot/libraries/Collections.py61Adds `values` to the end of `list`. Args: list_: The list to modify. *values: Values toSTRING
HIGHsrc/robot/libraries/Collections.py98Inserts `value` into `list` to the position specified with `index`. Args: list_: The list to modifySTRING
HIGHsrc/robot/libraries/Collections.py141Combines the given `lists` together and returns the result. Args: *lists: Lists to combine. STRING
HIGHsrc/robot/libraries/Collections.py171Sets the value of `list` specified by `index` to the given `value`. Args: list_: The list to modifySTRING
HIGHsrc/robot/libraries/Collections.py233Removes all occurrences of given `values` from `list`. Args: list_: The list to modify. STRING
HIGHsrc/robot/libraries/Collections.py268Removes and returns the value specified with an `index` from `list`. Args: list_: The list to modifSTRING
HIGHsrc/robot/libraries/Collections.py309Returns a list without duplicates based on the given `list`. Args: list_: The list to remove duplicSTRING
HIGHsrc/robot/libraries/Collections.py348Returns the value specified with an `index` from `list`. Args: list_: The list to get a value from.STRING
HIGHsrc/robot/libraries/Collections.py452Returns the number of occurrences of the given `value` in `list`. Args: list_: The list to search tSTRING
HIGHsrc/robot/libraries/Collections.py496Returns the index of the first occurrence of the `value` on the list. Args: list_: The list to searSTRING
HIGHsrc/robot/libraries/Collections.py579Reverses the given list. Args: list_: The list to reverse. Returns: The reversSTRING
HIGHsrc/robot/libraries/Collections.py609Sorts the given list. Args: list_: The list to sort. Returns: The sorted list.STRING
HIGHsrc/robot/libraries/Collections.py942Adds the given `key_value_pairs` and/or `items` to the `dictionary`. Args: dictionary: The dictionaSTRING
HIGHsrc/robot/libraries/Collections.py1006Removes the given `keys` from the `dictionary`. Args: dictionary: The dictionary to modify. STRING
HIGHsrc/robot/libraries/Collections.py1043Removes the given `key` from the `dictionary` and returns its value. Args: dictionary: The dictionaSTRING
HIGHsrc/robot/libraries/Collections.py1079Keeps the given `keys` in the `dictionary` and removes all others. Args: dictionary: The dictionarySTRING
HIGHsrc/robot/libraries/Collections.py1132Returns keys of the given `dictionary` as a list. Args: dictionary: The dictionary to get keys fromSTRING
HIGHsrc/robot/libraries/Collections.py1167Returns values of the given `dictionary` as a list. Args: dictionary: The dictionary to get values STRING
HIGHsrc/robot/libraries/Collections.py1198Returns items of the given `dictionary` as a list. Args: dictionary: The dictionary to get items frSTRING
HIGHsrc/robot/libraries/Collections.py1234Returns a value from the given `dictionary` based on the given `key`. Args: dictionary: The dictionSTRING
HIGHsrc/robot/libraries/Collections.py1840Returns a list of matches to `pattern` in `list`. Args: list: The list to search. patteSTRING
HIGHsrc/robot/libraries/Collections.py1900Returns the count of matches to `pattern` in `list`. Args: list: The list to search matches from. STRING
HIGHsrc/robot/libraries/Process.py735Runs a process and waits for it to complete. Args: command: Command to execute. *argumeSTRING
HIGHsrc/robot/libraries/Process.py825Starts a new process on background. Args: command: Command to execute. *arguments: ArguSTRING
HIGHsrc/robot/libraries/Process.py963Waits for the process to complete or to reach the given timeout. Args: handle: Process handle or alSTRING
HIGHsrc/robot/libraries/Process.py1072Stops the process gracefully or forcefully. Args: handle: Process handle or alias. Uses the currentSTRING
HIGHsrc/robot/libraries/Process.py1267Returns the specified [result object] or some of its attributes. Args: handle: Process handle or alSTRING
HIGHsrc/robot/libraries/Process.py1375Splits command line string into a list of arguments. Args: command: Command line string to split. STRING
HIGHsrc/robot/libraries/Process.py1404Joins arguments into one command line string. Args: *command: Arguments to join, either as individuSTRING
HIGHsrc/robot/libraries/BuiltIn.py242Converts the given item to an integer number. Args: item: The value to convert. base: TSTRING
HIGHsrc/robot/libraries/BuiltIn.py286Converts the given item to a binary string. Args: item: The value to convert. base: TheSTRING
HIGHsrc/robot/libraries/BuiltIn.py332Converts the given item to an octal string. Args: item: The value to convert. base: TheSTRING
HIGHsrc/robot/libraries/BuiltIn.py379Converts the given item to a hexadecimal string. Args: item: The value to convert. baseSTRING
HIGHsrc/robot/libraries/BuiltIn.py444Converts the given item to a floating point number. Args: item: The value to convert. pSTRING
HIGHsrc/robot/libraries/BuiltIn.py538Converts the given `input` to bytes according to the `input_type`. Args: input: The value to converSTRING
HIGHsrc/robot/libraries/BuiltIn.py640Creates and returns a list containing the given items. Args: items: The items to add to the list. STRING
HIGHsrc/robot/libraries/BuiltIn.py660Creates and returns a dictionary based on the given `items`. Args: items: The items to add to the dSTRING
HIGHsrc/robot/libraries/BuiltIn.py1979Fails if the `string` does not match the regular expression `pattern`. Args: string: The string to STRING
HIGHsrc/robot/libraries/BuiltIn.py2086Returns and logs the length of the given item as an integer. Args: item: The item to get the lengthSTRING
HIGHsrc/robot/libraries/BuiltIn.py2242Returns variable value or `default` if the variable does not exist. Args: name: The variable name. STRING
HIGHsrc/robot/libraries/BuiltIn.py2393Returns the given values which can then be assigned to a variable. Args: *values: The value or valuSTRING
HIGHsrc/robot/libraries/BuiltIn.py2692Executes the given keyword with the given arguments. Args: name: The keyword to execute. STRING
HIGHsrc/robot/libraries/BuiltIn.py3140Runs the keyword and checks that the expected error occurred. Args: expected_error: The expected erSTRING
HIGHsrc/robot/libraries/BuiltIn.py3332Runs the specified keyword and retries if it fails. Args: retry: How long (timeout) or how many timSTRING
HIGHsrc/robot/libraries/BuiltIn.py3940Concatenates the given items together and returns the resulted string. Args: items: The items to joSTRING
HIGHsrc/robot/libraries/BuiltIn.py4422Returns the given time in the requested format. Args: format: Requested time format. See below for STRING
HIGHsrc/robot/libraries/BuiltIn.py4505Evaluates the given expression in Python and returns the result. Args: expression: The expression tSTRING
HIGHsrc/robot/libraries/BuiltIn.py4575Calls the named method of the given object with the provided arguments. Args: object: The object whSTRING
HIGHsrc/robot/libraries/BuiltIn.py4612Escape regular expression meta characters in given strings. Args: *strings: The string or strings tSTRING
HIGHsrc/robot/libraries/String.py74Converts string to lower case. Args: string: The string or bytes to convert. Returns: STRING
HIGHsrc/robot/libraries/String.py103Converts string to upper case. Args: string: The string or bytes to convert. Returns: STRING
HIGHsrc/robot/libraries/String.py136Converts string to title case. Args: string: The string or bytes to convert. exclude: OSTRING
31 more matches not shown…
Over-Commented Block261 hits · 260 pts
SeverityFileLineSnippetContext
LOWdoc/api/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWdoc/api/conf.py61# The full version, including alpha/beta/rc tags.COMMENT
LOWdoc/api/conf.py81# If true, '()' will be appended to :func: etc. cross-reference text.COMMENT
LOWdoc/api/conf.py101# The theme to use for HTML and HTML Help pages. See the documentation forCOMMENT
LOWdoc/api/conf.py121# of the sidebar.COMMENT
LOWdoc/api/conf.py141COMMENT
LOWdoc/api/conf.py161# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.COMMENT
LOWdoc/api/conf.py201#latex_logo = NoneCOMMENT
LOWsrc/robot/run.py1#!/usr/bin/env pythonCOMMENT
LOWsrc/robot/rebot.py1#!/usr/bin/env pythonCOMMENT
LOWsrc/robot/version.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/__init__.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/errors.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/libdoc.py1#!/usr/bin/env pythonCOMMENT
LOWsrc/robot/__main__.py1#!/usr/bin/env pythonCOMMENT
LOWsrc/robot/testdoc.py1#!/usr/bin/env pythonCOMMENT
LOWsrc/robot/pythonpathsetter.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/testlibraries.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/librarykeywordrunner.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/invalidkeyword.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/signalhandler.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/librarykeyword.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/runkwregister.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/importer.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/keywordimplementation.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/docstringparser.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/randomizer.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/dynamicmethods.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/userkeywordrunner.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/__init__.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/statusreporter.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/bodyrunner.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/model.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/outputcapture.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/outputcapture.py101 # Avoid ValueError at program exit when logging module tries to callCOMMENT
LOWsrc/robot/running/context.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/resourcemodel.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/namespace.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/keywordfinder.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/suiterunner.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/libraryscopes.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/status.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/runner.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/nosupport.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/timeout.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/__init__.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/posix.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/timeouts/windows.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/builders.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/restreader.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/transformers.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/__init__.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/parsers.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/builder/settings.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/typeinfoparser.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/argumentvalidator.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/argumentspec.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/typeconverters.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/validators.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
LOWsrc/robot/running/arguments/argumentparser.py1# Copyright 2008-2015 Nokia NetworksCOMMENT
201 more matches not shown…
Excessive Try-Catch Wrapping101 hits · 128 pts
SeverityFileLineSnippetContext
LOWtasks.py94 except Exception:STRING
LOWutest/running/test_timeouts.py150 except Exception:CODE
MEDIUMutest/running/test_timeouts.py147def test_timeout_exceeded_not_catchable_as_exception(self):CODE
LOWutest/utils/test_error.py40 except Exception:CODE
LOWutest/utils/test_error.py62 except Exception:CODE
LOWutest/utils/test_error.py65 except Exception:CODE
LOWutest/utils/test_error.py68 except Exception as err:CODE
LOWutest/utils/test_error.py77 except Exception as err:CODE
LOWutest/utils/test_error.py144 except Exception as error:STRING
MEDIUMutest/utils/test_error.py59def test_chaining(self):CODE
MEDIUMutest/utils/test_error.py71def test_chaining_without_traceback(self):CODE
MEDIUMutest/utils/test_error.py81def test_cause(self):CODE
LOWutest/model/test_modelobject.py176 except Exception:CODE
MEDIUMutest/model/test_modelobject.py171def _get_json_load_error(self, value):CODE
LOWatest/testdata/running/stopping_with_signal/Library.py13 except Exception:CODE
MEDIUMatest/testdata/running/stopping_with_signal/Library.py10def swallow_exception(timeout=3):CODE
LOWatest/testdata/keywords/named_args/helper.py7 except Exception as err:CODE
MEDIUMatest/testdata/keywords/named_args/helper.py4def get_result_or_error(*args):CODE
LOWatest/resources/TestCheckerLibrary.py184 except Exception:CODE
LOWatest/testresources/testlibs/ExampleLibrary.py58 except Exception:CODE
LOWatest/testresources/testlibs/ExampleLibrary.py60 except Exception:CODE
LOWatest/testresources/testlibs/ExampleLibrary.py68 except Exception as err:CODE
LOWatest/testresources/testlibs/ExampleLibrary.py70 except Exception:CODE
MEDIUMatest/testresources/testlibs/ExampleLibrary.py54def implicitly_chained_exception(self):CODE
MEDIUMatest/testresources/testlibs/ExampleLibrary.py64def explicitly_chained_exception(self):CODE
LOWsrc/robot/running/testlibraries.py336 except Exception:CODE
LOWsrc/robot/running/testlibraries.py510 except Exception:CODE
LOWsrc/robot/running/testlibraries.py542 except Exception: # Attribute is invalid. Report.CODE
LOWsrc/robot/running/testlibraries.py552 except Exception:CODE
LOWsrc/robot/running/testlibraries.py560 except Exception:CODE
MEDIUMsrc/robot/running/testlibraries.py356def lineno(self) -> int:CODE
MEDIUMsrc/robot/running/testlibraries.py536def _is_explicitly_included(self, name, instance) -> bool:CODE
LOWsrc/robot/running/dynamicmethods.py57 except Exception:CODE
MEDIUMsrc/robot/running/dynamicmethods.py50def __call__(self, *args, **kwargs):CODE
LOWsrc/robot/running/bodyrunner.py321 except Exception:CODE
LOWsrc/robot/running/bodyrunner.py543 except Exception:CODE
LOWsrc/robot/running/bodyrunner.py656 except Exception:CODE
MEDIUMsrc/robot/running/bodyrunner.py94def _get_setup_teardown_runner(self, data, context):CODE
MEDIUMsrc/robot/running/bodyrunner.py410def _deprecate_different_lengths(self, values):CODE
LOWsrc/robot/running/builder/parsers.py225 except Exception:CODE
LOWsrc/robot/running/arguments/typeconverters.py311 except Exception:CODE
LOWsrc/robot/running/arguments/typeconverters.py420 except Exception:CODE
LOWsrc/robot/running/arguments/typeconverters.py548 except Exception:CODE
LOWsrc/robot/running/arguments/typeconverters.py733 except Exception:CODE
LOWsrc/robot/running/arguments/typeconverters.py964 except Exception:CODE
MEDIUMsrc/robot/running/arguments/typeconverters.py166def _handles_value(self, value):CODE
MEDIUMsrc/robot/running/arguments/typeconverters.py381def _convert(self, value):CODE
MEDIUMsrc/robot/running/arguments/typeconverters.py643def no_conversion_needed(self, value):CODE
MEDIUMsrc/robot/running/arguments/typeconverters.py959def _convert(self, value):CODE
LOWsrc/robot/running/arguments/argumentparser.py62 except Exception as err:CODE
LOWsrc/robot/running/arguments/argumentparser.py124 except Exception: # Can raise pretty much anythingCODE
LOWsrc/robot/running/arguments/argumentparser.py129 except Exception:CODE
MEDIUMsrc/robot/running/arguments/argumentparser.py56def parse(self, method, name=None):CODE
LOWsrc/robot/running/arguments/typealiasresolver.py72 except Exception as err:CODE
LOWsrc/robot/running/arguments/typeinfo.py515 except Exception:CODE
MEDIUMsrc/robot/running/arguments/typeinfo.py304def _resolve_type_alias(cls, alias):CODE
LOWsrc/robot/running/arguments/embedded.py211 except Exception:CODE
LOWsrc/robot/result/resultbuilder.py100 except Exception:CODE
LOWsrc/robot/result/resultbuilder.py113 except Exception:CODE
MEDIUMsrc/robot/result/resultbuilder.py95def _json_result(source, include_keywords, flattened_keywords, rpa):CODE
41 more matches not shown…
Hallucination Indicators7 hits · 70 pts
SeverityFileLineSnippetContext
CRITICALdoc/userguide/src/ExecutingTestCases/log_failed.html757!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALdoc/userguide/src/ExecutingTestCases/log_skipped.html757!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALdoc/userguide/src/ExecutingTestCases/report_passed.html555!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALdoc/userguide/src/ExecutingTestCases/log_passed.html757!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALdoc/userguide/src/ExecutingTestCases/report_failed.html555!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALdoc/userguide/src/SupportingTools/ExampleLibrary.html949!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALsrc/robot/htmldata/lib/jquery.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Deep Nesting62 hits · 60 pts
SeverityFileLineSnippetContext
LOWtasks.py194CODE
LOWutest/run.py45CODE
LOWutest/running/test_run_model.py735CODE
LOWutest/result/test_resultmodel.py1161CODE
LOWutest/model/test_body.py111CODE
LOWutest/model/test_itemlist.py141CODE
LOWutest/model/test_tags.py460CODE
LOWutest/model/test_modelobject.py206CODE
LOWutest/api/test_zipsafe.py7CODE
LOWutest/parsing/parsing_test_utils.py9CODE
LOWutest/conf/test_settings.py85CODE
LOW…/testdata/standard_libraries/datetime/datesandtimes.py18CODE
LOW…utput/listener_interface/body_items_v3/ChangeStatus.py1CODE
LOWatest/testresources/listeners/VerifyAttributes.py48CODE
LOWdoc/userguide/ug2html.py190CODE
LOWdoc/schema/libdoc_json_schema.py28CODE
LOWsrc/robot/testdoc.py234CODE
LOWsrc/robot/running/testlibraries.py428CODE
LOWsrc/robot/running/docstringparser.py125CODE
LOWsrc/robot/running/userkeywordrunner.py87CODE
LOWsrc/robot/running/bodyrunner.py136CODE
LOWsrc/robot/running/bodyrunner.py472CODE
LOWsrc/robot/running/bodyrunner.py586CODE
LOWsrc/robot/running/namespace.py428CODE
LOWsrc/robot/running/namespace.py444CODE
LOWsrc/robot/running/namespace.py511CODE
LOWsrc/robot/running/suiterunner.py147CODE
LOWsrc/robot/running/builder/builders.py270CODE
LOWsrc/robot/running/builder/transformers.py297CODE
LOWsrc/robot/running/builder/transformers.py460CODE
LOWsrc/robot/running/builder/parsers.py131CODE
LOWsrc/robot/running/arguments/typeconverters.py347CODE
LOWsrc/robot/running/arguments/argumentparser.py75CODE
LOWsrc/robot/running/arguments/argumentparser.py139CODE
LOWsrc/robot/running/arguments/argumentconverter.py65CODE
LOWsrc/robot/running/arguments/typeinfo.py220CODE
LOWsrc/robot/running/arguments/typeinfo.py369CODE
LOWsrc/robot/running/arguments/argumentresolver.py63CODE
LOWsrc/robot/result/resultbuilder.py193CODE
LOWsrc/robot/libdocpkg/jsonbuilder.py78CODE
LOWsrc/robot/libdocpkg/xmlbuilder.py88CODE
LOWsrc/robot/output/console/__init__.py25CODE
LOWsrc/robot/libraries/Telnet.py1170CODE
LOWsrc/robot/libraries/Process.py209CODE
LOWsrc/robot/libraries/BuiltIn.py2123CODE
LOWsrc/robot/libraries/BuiltIn.py3324CODE
LOWsrc/robot/libraries/BuiltIn.py4105CODE
LOWsrc/robot/utils/argumentparser.py206CODE
LOWsrc/robot/utils/argumentparser.py376CODE
LOWsrc/robot/utils/robottime.py86CODE
LOWsrc/robot/variables/evaluation.py83CODE
LOWsrc/robot/variables/evaluation.py139CODE
LOWsrc/robot/variables/filesetter.py110CODE
LOWsrc/robot/variables/search.py210CODE
LOWsrc/robot/model/testsuite.py230CODE
LOWsrc/robot/parsing/lexer/blocklexers.py420CODE
LOWsrc/robot/parsing/lexer/tokenizer.py98CODE
LOWsrc/robot/parsing/model/statements.py1177CODE
LOWsrc/robot/parsing/model/statements.py1395CODE
LOWsrc/robot/conf/settings.py322CODE
2 more matches not shown…
Cross-Language Confusion7 hits · 42 pts
SeverityFileLineSnippetContext
HIGHutest/htmldata/test_jsonwriter.py56 self._test({"nested": [-1, {42: None}]}, '{"nested":[-1,{42:null}]}')CODE
HIGHutest/model/test_modelobject.py90 obj = Example.from_json('{"a": null, "b": 42, "c": true}')CODE
HIGHutest/model/test_modelobject.py121 obj = Example.from_json(b'{"a": null, "b": 42}')CODE
HIGHutest/model/test_modelobject.py126 file = io.StringIO('{"a": null, "b": 42, "c": "åäö"}')CODE
HIGHutest/model/test_modelobject.py135 file.write('{"a": null, "b": 42, "c": "åäö"}')CODE
HIGHsrc/robot/libraries/BuiltIn.py2128 return item.length(), "item.length()"STRING
HIGHsrc/robot/variables/scopes.py242 ("${null}", None),CODE
Cross-File Repetition7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHsrc/robot/running/model.py0a shortcut to configure a suite using one method call. can only be used with the root test suite. :param options: passedSTRING
HIGHsrc/robot/result/model.py0a shortcut to configure a suite using one method call. can only be used with the root test suite. :param options: passedSTRING
HIGHsrc/robot/model/testsuite.py0a shortcut to configure a suite using one method call. can only be used with the root test suite. :param options: passedSTRING
HIGHsrc/robot/model/testcase.py0:mod:`visitor interface <robot.model.visitor>` entry-point.STRING
HIGHsrc/robot/model/message.py0:mod:`visitor interface <robot.model.visitor>` entry-point.STRING
HIGHsrc/robot/model/keyword.py0:mod:`visitor interface <robot.model.visitor>` entry-point.STRING
HIGHsrc/robot/model/testsuite.py0:mod:`visitor interface <robot.model.visitor>` entry-point.STRING
AI Structural Patterns30 hits · 30 pts
SeverityFileLineSnippetContext
LOWutest/reporting/test_jsmodelbuilders.py354CODE
LOWutest/reporting/test_jsmodelbuilders.py393CODE
LOWutest/reporting/test_jsmodelbuilders.py415CODE
LOWsrc/robot/libdoc.py195CODE
LOWsrc/robot/running/keywordimplementation.py48CODE
LOWsrc/robot/running/model.py197CODE
LOWsrc/robot/running/model.py655CODE
LOWsrc/robot/running/resourcemodel.py195CODE
LOWsrc/robot/running/builder/builders.py63CODE
LOWsrc/robot/running/arguments/argumentspec.py52CODE
LOWsrc/robot/reporting/jsmodelbuilders.py222CODE
LOWsrc/robot/result/model.py343CODE
LOWsrc/robot/result/model.py407CODE
LOWsrc/robot/result/model.py475CODE
LOWsrc/robot/result/model.py531CODE
LOWsrc/robot/result/model.py590CODE
LOWsrc/robot/result/model.py806CODE
LOWsrc/robot/result/model.py1012CODE
LOWsrc/robot/result/model.py1062CODE
LOWsrc/robot/libdocpkg/model.py34CODE
LOWsrc/robot/libdocpkg/model.py157CODE
LOWsrc/robot/libraries/Telnet.py287CODE
LOWsrc/robot/libraries/Telnet.py383CODE
LOWsrc/robot/libraries/Telnet.py537CODE
LOWsrc/robot/libraries/Process.py168CODE
LOWsrc/robot/libraries/Process.py719CODE
LOWsrc/robot/libraries/Process.py811CODE
LOWsrc/robot/libraries/BuiltIn.py854CODE
LOWsrc/robot/utils/argumentparser.py63CODE
LOWsrc/robot/model/configurer.py24CODE
Modern Structural Boilerplate12 hits · 12 pts
SeverityFileLineSnippetContext
LOW…est/testdata/core/resources_and_variables/variables.py1__all__ = ["variables", "LIST__valid_list"]CODE
LOW…stdata/standard_libraries/builtin/broken_containers.py7__all__ = ["BROKEN_ITERABLE", "BROKEN_SEQUENCE", "BROKEN_MAPPING"]CODE
LOWatest/testdata/variables/extended_assign_vars.py1__all__ = ["VAR"]CODE
LOWatest/testdata/libdoc/BackwardsCompatibility.py13__all__ = ["simple", "arguments", "types", "special_types", "union"]CODE
LOWatest/testdata/libdoc/Decorators.py3__all__ = ["keyword_using_decorator", "keyword_using_decorator_with_wraps"]CODE
LOWatest/testdata/test_libraries/module_lib_with_all.py3__all__ = [CODE
LOWatest/resources/atest_variables.py10__all__ = [CODE
LOWsrc/robot/__init__.py53__all__ = ["rebot", "rebot_cli", "run", "run_cli"]CODE
LOWsrc/robot/running/docstringparser.py23__all__ = ["parse_docstring", "DocInfo"]CODE
LOWsrc/robot/libraries/Dialogs.py33__all__ = [CODE
LOWsrc/robot/libraries/DateTime.py393__all__ = [CODE
LOWsrc/robot/utils/markdown.py34__all__ = ["LinkifyExtension", "Markdown"]CODE
Self-Referential Comments5 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUMatest/testdata/core/variables.py1# This file is only used by invalid_syntax.html and metadata.html.COMMENT
MEDIUMdoc/userguide/ug2html.py134# Create the user guide using docutilsCOMMENT
MEDIUMdoc/userguide/ug2html.py267# Create a zip distribution packageSTRING
MEDIUMdoc/api/conf.py6# This file is execfile()d with the current directory set to its containing dir.COMMENT
MEDIUMsrc/robot/model/testsuite.py184 # Create a suite, adjust source and convert to JSON.STRING
AI Slop Vocabulary8 hits · 10 pts
SeverityFileLineSnippetContext
LOWsrc/web/libdoc/testdata.ts2948 doc: '<p>Gets elements size and location as an object <code>{x: float, y: float, width: float, height: float}</codCODE
LOWsrc/web/libdoc/testdata.ts3567 doc: '<p>Gets elements or pages client size (<code>clientHeight</code>, <code>clientWidth</code>) as object {widthCODE
LOWsrc/web/libdoc/testdata.ts5588 doc: '<p>Gets elements or pages current scroll position as object <code>{top: float, left: float, bottom: float, rCODE
LOWsrc/web/libdoc/testdata.ts5742 doc: '<p>Gets elements or pages scrollable size as object <code>{width: float, height: float}</code>.</p>\n<table CODE
LOWsrc/web/libdoc/testdata.ts8749 doc: '<p>Clicks, presses or releases a mouse button.</p>\n<table border="1">\n<tr>\n<th>Arguments</th>\n<th>DescriCODE
MEDIUMsrc/web/libdoc/testdata.ts11485 doc: '<p>Types the given key combination into element found by <code>selector</code>.</p>\n<table border="1">\n<trCODE
MEDIUMsrc/web/libdoc/testdata.ts14935 doc: '<p>Waits for the element found by <code>selector</code> to satisfy state option.</p>\n<p>Note that Browser lCODE
MEDIUMsrc/robot/api/types.py16"""Types that libraries and other extensions can utilize.STRING
Overly Generic Function Names4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…/standard_libraries/builtin/objects_for_call_method.py6 def my_method(self, *args):CODE
LOWatest/testdata/keywords/resources/RecLibrary1.py36 def do_stuff(self):CODE
LOW…ries/dynamic_libraries/DynamicLibraryWithoutArgspec.py9 def do_something(self, x):CODE
LOWsrc/robot/api/deco.py172 def do_something(self):STRING
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdoc/userguide/ug2html.py36# ----------------------COMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMsrc/web/libdoc/testdata.ts11596 doc: '<p>Returns a promise that resolves when file from <code>path</code> has been uploaded.</p>\n<p>Fails if the CODE
Redundant / Tautological Comments1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/web/libdoc/testdata.ts14489 doc: '<p>Uploads file from <code>path</code> to file input element matched by selector.</p>\n<p>Fails if upload isCODE