{'fraction_non_alphanumeric': 0.016778523489932886, 'fraction_numerical': 0.0, 'mean_word_length': 5.9921875, '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}}
Are Monitoring Crosscutting Concerns Really Refactorable into Aspects? An Empirical Study

Monitoring concerns' implementation crosscuts a software's system core concerns' implementation, leading to difficult to maintain and understand source code. Other paradigms have been proposed for crosscutting concerns implementation that should improve the understandability and maintainability of the software system. However, can we easily refactor monitoring concerns implementation in order to implement them using these paradigms? How will the new implementation affect the software system's source code? In this paper we present our study of monitoring concerns implementation in Java-based software systems, from the point of view of refactoring into aspects. We discuss the challenges that have to be overcome and how will the refactoring impact important characteristics of the overall system.