aws-samples / amazon-codeguru-reviewer-python-detectors
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (69 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 69 components.
  • 72 files, 1,030 lines of code (100.0% vs. main code).
  • "aws_polling_instead_of_waiter" is biggest, containing 4.37% of code.
  • "multiple_values_in_return" is smallest, containing 0.39% of code.


aws_polling_instead_of_waiter45 LOC (4%) 1 files
mutually_exclusive_calls_found42 LOC (4%) 1 files
multiprocessing_garbage_collection_prevention35 LOC (3%) 1 files
sns_unauthenticated_unsubscribe32 LOC (3%) 1 files
missing_pagination31 LOC (3%) 1 files
not_recommended_apis31 LOC (3%) 2 files
incorrect_usage_of_process_terminate_api28 LOC (2%) 1 files
improper_certificate_validation26 LOC (2%) 1 files
ldap_injection25 LOC (2%) 1 files
semaphore_overflow_prevention24 LOC (2%) 1 files
sns_no_bind_subscribe_publish_rule23 LOC (2%) 1 files
xpath_injection23 LOC (2%) 1 files
aws_logged_credentials21 LOC (2%) 1 files
aws_kms_reencryption21 LOC (2%) 1 files
leaky_subprocess_timeout21 LOC (2%) 1 files
sql_injection20 LOC (1%) 1 files
catch_and_rethrow_exception19 LOC (1%) 1 files
unrestricted_file_upload19 LOC (1%) 1 files
s3_verify_bucket_owner19 LOC (1%) 1 files
improper_error_handling19 LOC (1%) 1 files
os_command_injection17 LOC (1%) 1 files
socket_close_platform_compatibility17 LOC (1%) 1 files
sns_set_return_subscription_arn16 LOC (1%) 1 files
resource_leak16 LOC (1%) 1 files
untrusted_ami_images16 LOC (1%) 1 files
code_readability15 LOC (1%) 1 files
aws_unchecked_batch_failures15 LOC (1%) 1 files
missing_none_check14 LOC (1%) 1 files
use_of_inefficient_api14 LOC (1%) 1 files
string_concatenation14 LOC (1%) 1 files
socket_connection_timeout14 LOC (1%) 1 files
cross_site_scripting12 LOC (1%) 1 files
improper_input_validation12 LOC (1%) 1 files
code_injection12 LOC (1%) 1 files
dict_get_method12 LOC (1%) 1 files
insecure_cookie12 LOC (1%) 1 files
hashlib_constructor12 LOC (1%) 1 files
swallow_exceptions12 LOC (1%) 1 files
ldap_authentication12 LOC (1%) 1 files
path_traversal11 LOC (1%) 1 files
clear_text_credentials11 LOC (1%) 2 files
insecure_temp_file11 LOC (1%) 1 files
insecure_hashing10 LOC (<1%) 1 files
insecure_cors_policy10 LOC (<1%) 2 files
multiprocessing_deadlock_prevention10 LOC (<1%) 1 files
iterating_sequence_modification10 LOC (<1%) 1 files
insecure_cryptography10 LOC (<1%) 1 files
cross_site_request_forgery10 LOC (<1%) 1 files
unnecessary_iteration9 LOC (<1%) 1 files
hardcoded_credentials9 LOC (<1%) 1 files
weak_obfuscation_of_request9 LOC (<1%) 1 files
log_injection9 LOC (<1%) 1 files
subprocess_correct_api8 LOC (<1%) 1 files
equality_vs_identity8 LOC (<1%) 1 files
xml_external_entity8 LOC (<1%) 1 files
object_dict_modification8 LOC (<1%) 1 files
loose_file_permissions8 LOC (<1%) 1 files
lambda_client_reuse8 LOC (<1%) 1 files
improper_privilege_management8 LOC (<1%) 1 files
default_argument_mutable_objects7 LOC (<1%) 1 files
lambda_override_reserved6 LOC (<1%) 1 files
insecure_connection6 LOC (<1%) 1 files
naive_datatime_time_zone_issues6 LOC (<1%) 1 files
deprecated_method6 LOC (<1%) 1 files
dangerous_global_variables6 LOC (<1%) 1 files
bad_exception_handling_practices6 LOC (<1%) 1 files
pep8_recommendations6 LOC (<1%) 1 files
multidimension_list_using_replication4 LOC (<1%) 1 files
multiple_values_in_return4 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-31 17:58