{'fraction_non_alphanumeric': 0.014990630855715179, 'fraction_numerical': 0.0, 'mean_word_length': 5.33201581027668, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A quantitative evaluation of change impact reachability and complexity across versions of aspect oriented software

Software developed using a proven methodology exhibits an inherent capability to readily accept the changes in its evolution. This constant phenomenon of change is managed through maintenance of software. By modelling software using Aspect Oriented Software Development (AOSD) methodology, the designer can build highly modularized software that allows changes with lesser impact compared with a non-AOSD approach. Software metrics play a vital role to indicate the degree of system inter-dependencies among the functional components and provide valuable feedback about the impact of changes on reusability, maintainability and reliability. During maintenance, software adapts to the changes in requirements and hence it is important to assess the impact of these changes across different versions of the software. This paper focuses on analysing the impact of changes towards maintenance for a set of Aspect Oriented (AO) applications taken as case study. Existing versions of three AO benchmark applications have been chosen and a set of metrics are defined to analyze the impact of changes made across different versions. An AO Software Change Impact Analyzer (AOSCIA) tool was also developed to study the impact of the changes across the selected versions. It was found that the impact of changes and the related ripple effect is less for AO modules compared to the Object Oriented (OO) modules. Hence, we deduce that the maintainability is improved by adopting the AO methodology.