{'fraction_non_alphanumeric': 0.015105740181268883, 'fraction_numerical': 0.0, 'mean_word_length': 5.339712918660287, '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}}
Monitoring Evolution of Code Complexity and Magnitude of Changes

Background: Complexity management has become a crucial activity in continuous software 
development. While the overall perceived complexity of a product grows rather insignificantly, 
the small units, such as functions and files, can have noticeable complexity growth with every 
increment of product features. This kind of evolution triggers risks of escalating fault-proneness 
and deteriorating maintainability. 
Goal: The goal of this research was to develop a measurement system which enables effective 
monitoring of complexity evolution. 
Method: An action research has been conducted in two large software development organiza-tions. We have measured three complexity and two change properties of code for two large 
industrial products. The complexity growth has been measured for five consecutive releases of 
products. Different patterns of growth have been identified and evaluated with software engi-neers in industry. 
Results: The results show that monitoring cyclomatic complexity evolution of functions and 
number of revisions of files focuses the attention of designers to potentially problematic files 
and functions for manual assessment and improvement. A measurement system was developed 
at Ericsson to support the monitoring process.