{'fraction_non_alphanumeric': 0.020360219263899765, 'fraction_numerical': 0.0, 'mean_word_length': 5.761904761904762, '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}}
Dynamism in Refactoring Construction and Evolution - A Solution Based on XML and Reflection

Current available refactoring tools, even stand-alone or integrated in development environments, offer a static set of refactoring operations. Users (developers) can run these refactorings on their source codes, but they can not adjust, enhance, evolve them or even increase the refactoring set in a smooth way. Refactoring operations are hand coded using some support libraries. The problem of maintaining or enriching the refactoring tools and their libraries are the same of any kind of software, introducing complexity dealing with refactoring, managing and transforming software elements, etc. On the other hand, available refactoring tools are mainly language dependent, thus the effort to reusing refactoring implementations is enormous, when we change the source code programming language. This paper describes our work on aided refactoring construction and evolution based on declarative definition of refactoring operations. The solution is based on frameworks, XML and reflective programming. Certain language independence is also achieved, easing migration from one programming language to another, and bringing rational support for multilanguage development environments.