{'fraction_non_alphanumeric': 0.010192525481313703, 'fraction_numerical': 0.0011325028312570782, 'mean_word_length': 5.054794520547945, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Complexity measurement of data and control flow

This paper describes a simple mathematical algorithm to determine the complexity of software that includes control flow and data flow. Two techniques are analyzed using examples to determine the overall complexity. One of them computes the determinant of a square matrix represented as an N2 chart. The other technique that is new and proposed in this paper computes the sum of products of control flow and data flow. It is shown that the determinant value fluctuates randomly whereas the new sum of product is a monotonic function that increases systematically with increasing complexity. This complexity number can be used to determine the amount of effort (cost and time) required for development and verification of software and whether or not the software can be deployed to perform safety-critical functions with high assurance.