{'fraction_non_alphanumeric': 0.02276064610866373, 'fraction_numerical': 0.002936857562408223, 'mean_word_length': 5.369158878504673, '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}}
Software metrics: view from education, research and training

The area of software metrics is uniquely positioned to help students see how they are programming and to learn to evaluate themselves so that they can improve their work. It also goes beyond the realm of programming into people issues, project management, system architectures, software evolution and software life-cycles (requirements, specification planning, design, implementation, integration, maintenance). This paper highlights current practice in and the future of using software metrics in a computing or training curriculum to assess and improve the ability of students to program and to perform better in the areas listed above. It covers such topics as the personal software process (W.S. Humphrey, 1995), novel uses of metrics (such as increasing the safety of software), metrics in training and metrics for beginning programmers. The topics are explored by looking at the current state of the art, considering the use of CASE tools for metrics collection, discussing how to introduce students to metrics, and presenting the results of metrics collection. Other issues discussed include what role metrics may play in the professional licensing of software engineers and which metrics may be best for students and professionals as they progress through an education or training curriculum.