{'fraction_non_alphanumeric': 0.01580135440180587, 'fraction_numerical': 0.0, 'mean_word_length': 6.0396825396825395, '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 Performance Engineering with Performance Antipatterns and Code-level Probabilistic Analysis

We present the integration of two performance analysis and refactoring techniques based on probabilistic modelling and performance antipatterns. The integrated approach obtained in this way allows software engineers to verify performance properties at both code-level and system architecture-level, supporting the selection of refactoring actions when a performance requirement violation occurs. Monitoring the effect of changes in the system’s code and architecture gives a better overview of (and control over) the system’s performance objectives. We demonstrate the application of the approach in a case study involving the performance analysis and refactoring of a foreign exchange service-based system that comprises a combination of internal components and third-party services.