{'fraction_non_alphanumeric': 0.01957831325301205, 'fraction_numerical': 0.0, 'mean_word_length': 5.584158415841584, '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}}
Human reasoning and software design: an analysis

Software design is a complex cognitive process in which reasoning plays a major role, but we have limited understanding of how human reasoning works in the identification of design problems and the formulation of design solutions. In this research, we have observed software designers at work and analyzed their design reasoning approaches, the effectiveness of design, in part, depends on how design problems are structured and how design reasoning is applied. We report on how reasoning techniques, such as design structuring, contextualization, co-evolution of problem-solution and inductive reasoning influence