{'fraction_non_alphanumeric': 0.0176678445229682, 'fraction_numerical': 0.0017667844522968198, 'mean_word_length': 5.365168539325842, '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}}
Local detection of exclusive global predicates

Detecting global predicates in distributed program executions is a useful tool for debugging and testing. A new form of global predicates, called exclusive global predicates, is considered in this paper to provide a natural and efficient way to describe mutual exclusion conditions. One exclusive global predicate is enough to express mutual exclusion condition for n local predicates, one for each process; the O(n/sup 2/) conjunctive global predicates are required to describe the same condition. In this paper, a local on-line detection algorithm of exclusive global predicates is presented with formal proof. This algorithm detects a violation of mutual exclusion during the execution at each local process. This algorithm uses timestamps to get dependence relations between events. The n+2 numbers are piggybacked to each message, and no extra communication overhead for control information is required. This allows the proposed model to be useful and efficient for testing and debugging of distributed programs compared to the previous method with conjunctive global predicates.