{'fraction_non_alphanumeric': 0.011737089201877934, 'fraction_numerical': 0.0, 'mean_word_length': 5.824, '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}}
Automating software design pattern transformation

A Design Pattern has no one implementation; it is a linguistic device which allows the discussion of standard solutions with specific properties while avoiding implementation detail. Software designs using such patterns still require a skill-intensive transformation, taking into account the system technology and organisational requirements. One problem is that such manual transformations are less complex than configuring a program to generating the equivalent source code. Therefore programming largely remains an artisan activity. This paper applies linguistic analysis techniques to source code in an attempt to distil the design intention from the implementation detail. This enables the translation of patterns into source code: a mechanism is described and some simple examples are presented.