{'fraction_non_alphanumeric': 0.011904761904761904, 'fraction_numerical': 0.0, 'mean_word_length': 5.505952380952381, '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}}
Automatic Generation of Monitoring Code for Model Based Analysis of Runtime Behaviour

Software systems are getting increasingly complex, which makes them inherently harder to understand and instrument when their behaviours should be analyzed and adapted. Observing a system requires an examination of its implementation and writing the appropriate monitoring code. This process can be both time consuming and error prone, especially if high-level system properties should be analyzed which are not directly reflected in the implementation. Furthermore, analysis needs often arise at runtime and are handled in an unsystematic way that is not reusable: For similar analysis tasks, the process of examining the system and writing the monitoring logic must be repeated. In this paper we present a language to specify recurring monitoring patterns which are automatically expanded into monitoring code for given models of the analyzed system. As a consequence, the effort for writing monitoring code is reduced and recurring analysis tasks are better supported through automatic code generation.