{'fraction_non_alphanumeric': 0.0167427701674277, 'fraction_numerical': 0.0, 'mean_word_length': 4.771929824561403, '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}}
Design Erosion in Evolving Software Products

Design erosion affects most, if not all, software systems. As these systems age, it becomes ever more difficult to make new changes until eventually it is more feasible to replace (or at least refactor) the software than it is to continue to the regular maintenance. In earlier work we have already identified a number of potential causes for this phenomenon. The case study presented in this paper, examines two eroded subsystems of a large software product. We look at various aspects of how the company involved has identified that the systems were eroded and how they managed to recover from that situation.