{'fraction_non_alphanumeric': 0.018967334035827187, 'fraction_numerical': 0.004214963119072708, 'mean_word_length': 5.73758865248227, '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}}
An architecture-centric software maintainability assessment using information theory

Architecture-based metrics can provide valuable information on whether or not one can localize the effects of modification (such as adjusting data flows or control flows) in software and can therefore be used to prevent the changes from adversely affecting other software components. This paper proposes an architecture-centric metric using entropy for assessing structural dependencies among software components. The proposed metric is based on a mathematical model representing the maintainability snapshot of a system. The introduced architectural-level metric includes measures for coupling and cohesion. From this model, the relative maintainability of a component, referred to as a maintainability profile, can be developed to identify architectural decisions that are detrimental to the maintainability of a system. Copyright © 2008 John Wiley & Sons, Ltd.