{'fraction_non_alphanumeric': 0.017793594306049824, 'fraction_numerical': 0.0, 'mean_word_length': 5.806451612903226, '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}}
Control of cognitive processes during software design: what tools are needed?

A verbal protocol study of professional software designers has revealed three design process control strategies. At least one of them, the generation of opportunistic solutions at different levels of detail accompanied by problem domain modeling, had not been observed in previous empirical studies nor had been acknowledged in the software engineering practices. Specific breakdowns (difficulties) were associated with the different design process control strategies. Software tools should be provided to designers to alleviate these breakdowns. Parts of a cognitive model of software design, based on distributed control from specialists such as design schemas, design heuristics, and design methods, are presented to account for the observed control strategies.