{'fraction_non_alphanumeric': 0.018789144050104383, 'fraction_numerical': 0.0, 'mean_word_length': 5.3509933774834435, '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}}
A flexible method for segmentation in concept assignment

Software comprehension is one of the most expensive activities in software maintenance and many tools have been developed to help the maintainer reduce the time and cost of the task. Of the numerous tools and methods available, one group has received relatively little attention: those using plausible reasoning to address the concept assignment problem. This problem is defined as the process of assigning descriptive terms to their implementation in source code, the terms being nominated by a maintainer and usually relating to computational intent. We present a new concept assignment method for COBOL II: Hypothesis-Based Concept Assignment (HB-CA). It employs a simple knowledge base to model concepts, source code indicators, and inter-concept relationships. An implementation of a prototype tool is described, and the results from a comprehensive evaluation using COBOL II sources summarised.