{'fraction_non_alphanumeric': 0.018369690011481057, 'fraction_numerical': 0.0, 'mean_word_length': 5.055555555555555, '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}}
Where's the schema? A taxonomy of patterns for software exchange

Program comprehension tools extract, organize and analyze information about the design and implementation of software systems. Before software tools can exchange information, they must share, at some level, the organization for the data exchanged, i.e. they must share a schema. In this paper we examine the various ways in which schemas are represented and used in tools. Schema use is classified according to how and where a schema is defined, leading to the identification of four patterns of exchange. We examine these exchange patterns and discuss how each has been used in existing software tool integration technologies. An evaluation of each exchange pattern against the requirements for a standard exchange format reveals the pattern of schema use that is most suitable for integrating the tools.