{'fraction_non_alphanumeric': 0.020998864926220204, 'fraction_numerical': 0.0, 'mean_word_length': 5.38768115942029, '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}}
Measurement and Analysis of Runtime-Metrics in a Continuous Integration Environment

Nowadays, Continuous Integration frequently integrates and verifies software under development, in order to provide immediate feedback to the developers. This is accomplished by an automatic process that runs tests and measures static metrics, e.g. number of failed tests. However, to assess the dynamic behavior of software, it is necessary to measure and analyze dynamic run-time metrics, e.g. response time or memory usage. Although tools exist that are able to measure these run-time metrics, they are not easily automated and therefore do not integrate well in a Continuous Integration environment. Moreover, analyzing time series of run-time metrics with machine learning methods remains unattempted. This thesis attempts to improve software verification by integrating stress tests and a dynamic machine learning analysis in a Continuous Integration environment. In order to achieve this, a toolchain is constructed that is able to automatically run stress tests and machine learning analyzes, store the results, and provide visual feedback inside a virtualized Continuous Integration environment. Furthermore, the new algorithm ATC is presented and evaluated, it combines the concept of time series motifs with k-means clustering and dynamic time warping to detect memory leaks from run-time metrics. The evaluation results suggested a modified version that uses k-medoids clustering and a sliding window approach as more successful. Although ATC could not sufficiently detect memory leaks, the modified version provided more promising results. In conclusion, ATC needs to be evaluated further in regards to other applications and with more diverse example time series.