{'fraction_non_alphanumeric': 0.013333333333333334, 'fraction_numerical': 0.0019047619047619048, 'mean_word_length': 5.218934911242603, '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}}
Dynamic slicing of UML communication diagram

We propose a new technique for dynamic slicing of the UML communication models. In this technique, we use UML 2.0 communication diagram for representing the dynamic behavior of the system. First, the communication diagram is transformed into an intermediate representation which we named Communication Dependence Graph (CoDG). Next, we propose a dynamic slicing algorithm which traverses the graph for a given slicing criterion and produces the slice. The algorithm is based on marking and unmarking the edges of CoDG when dependencies between messages arise and cease at runtime. Dynamic behavior is represented by two diagrams namely sequence diagram and communication diagram. The novelty of our approach is that we use the communication diagram of UML model for representing the dynamic nature of the system. The advantage of using communication diagram is that it emphasizes on the objects that interact and links between the objects whereas sequence diagrams emphasizes on ordering of the messages.