{'fraction_non_alphanumeric': 0.007820136852394917, 'fraction_numerical': 0.0, 'mean_word_length': 5.440251572327044, '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}}
Detecting Communities of Methods Using Dynamic Analysis Data

Maintaining large-scale software is difficult due to the size and variable nature of such software. Network analysis is a promising approach to extract useful knowledge from network representations of large and complex systems. Community detection is a network analysis method that aims to detect communities of nodes that share some common feature that is relevant for the whole system. We aim in this paper to investigate the usefulness of community detection for software maintenance considering networks of methods and method calls that represent execution traces of the analysed software. Our results show that the method communities that we extract are relatively persistent over multiple execution traces and that they are associated with functional features of the software. Our results also show that method communities are not associated with method level design features, but each method community has a specific distribution over method stereotypes.