{'fraction_non_alphanumeric': 0.010845986984815618, 'fraction_numerical': 0.0, 'mean_word_length': 5.59047619047619, '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}}
Towards the Automatic Identification of Violations to the Normalized Systems Design Theorems

Contemporary organizations are operating in increasingly volatile environments and must be able to respond quickly to their environment. Given the importance of information technology within organizations, the evolvability of information systems will to a large degree determine how quickly organizations are able to react to changes in their environment. Unfortunately, current information systems struggle to provide the required levels of evolvability. Recently, the Normalized Systems approach has been proposed which aims to address this issue. The Normalized Systems approach is based on the systems theoretic concept of stability to ensure the evolvability of information systems. To this end, the Normalized Systems approach proposes four design theorems that act as constraints on the modular structure of software. In this paper, we explore the feasibility of building a tool that is able to automatically identify manifestations of violations to these Normalized Systems design theorems in the source code of information systems. This would help organizations in identifying limitations to the evolvability of their information systems. We describe how a prototype of such tool was developed, and illustrate how it can help to analyze the source code of an existing application.