{'fraction_non_alphanumeric': 0.019569471624266144, 'fraction_numerical': 0.0, 'mean_word_length': 4.982456140350878, '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}}
Elimination of redundant messages with a two-pass static analysis algorithm

Eliminating redundant messages in distributed programs leads to the reduction of communication overhead, and thus to the improvement of the overall performances of the distributed program. Therefore a lot of work has been done recently to achieve this goal. We present in this paper an algorithm for eliminating redundant valued messages in parallel programs that have been distributed automatically. This algorithm works on program whose control flow is as general as possible, i.e., contains gotos. Precisely, the control flow is a finite deterministic automaton with a DAG of actions in each state. our algorithm, proceeds in two passes: First a global data-flow analysis which computes, for each state of the automaton, the set of distant variables that are known at the beginning of the state. Then a local elimination which removes redundant messages locally in each state of the automaton. We present the algorithms along with an example.