{'fraction_non_alphanumeric': 0.01609657947686117, 'fraction_numerical': 0.002012072434607646, 'mean_word_length': 5.677852348993288, '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}}
Protocol verification using relational database systems

Processes participating in a communications protocol are usually modeled by finite-state machines interacting each other. Protocol verification is a procedure to validate the logic correctness of these interaction sequences and detect the potential design errors. A relational approach is proposed to represent a finite-state machine as a transition relation. On this basis, relational algebra can be utilized to derive the global-state transitions of the system. Furthermore, the logic errors of the protocol such as deadlocks, incomplete specifications and nonexecutable interactions can all be formulated in terms of relational algebra. This approach has been implemented on the INGRES and DBASE-III database systems running on various machines and applied to the verification of several protocols including the CCITT X.21. Protocol verification represents a non-traditional data processing application of relational database systems.