Stefanakos, Ioannis ORCID: https://orcid.org/0000-0003-3741-252X (2021) Software analysis and refactoring using probabilistic modelling and performance antipatterns. PhD thesis, University of York.
Abstract
In recent times, our reliance on software and software-controlled systems has drastically increased, as has the impact of failures in the operation of these systems. To guarantee the correct operation of software systems, it is necessary both to verify that they meet their functional requirements and to analyse their nonfunctional properties such as performance and reliability.
This thesis presents a novel two-pronged approach to the analysis and refactoring of software systems that must comply with strict nonfunctional requirements. The approach operates at both code-level and system architecture-level. At code-level, we use a new tool-supported method for the formal analysis of timing, resource use, and other quantitative aspects of the components of a software system. The new method synthesises a discrete-time Markov chain model of the analysed code, computes its transition probabilities using information from program logs, and employs probabilistic model checking to evaluate its performance properties of interest.
At system architecture-level, we use a new method that employs performance antipatterns, i.e., commonly occurring mistakes during software development with their solutions, and stochastic modelling to support any system refactoring that might be needed. Our method identifies the performance antipatterns present across the operational profile space of a software system, enabling engineers to detect operational profiles likely to be problematic for the analysed design, and supporting the selection of refactoring actions when performance requirements are violated.
The two methods are integrated into an end-to-end software performance engineering methodology that uniquely combines code-level probabilistic analysis with the use of performance antipatterns to guide refactoring.
We evaluate the proposed methods and the approach that integrates them using code obtained from several Java programs, including Android applications, and a foreign currency exchange service-based system comprising a combination of third-party and in-house components. Our results, subject to the case studies used in the evaluation, demonstrate the accuracy, efficiency and decision-making of the new approaches.
Metadata
Supervisors: | Calinescu, Radu and Gerasimou, Simos |
---|---|
Related URLs: |
|
Keywords: | software performance, probabilistic model checking, program quality analysis, quantitative models, performance antipatterns, refactoring, software architecture |
Awarding institution: | University of York |
Academic Units: | The University of York > Computer Science (York) |
Identification Number/EthosID: | uk.bl.ethos.860683 |
Depositing User: | Dr Ioannis Stefanakos |
Date Deposited: | 04 Aug 2022 10:39 |
Last Modified: | 21 Sep 2022 09:53 |
Open Archives Initiative ID (OAI ID): | oai:etheses.whiterose.ac.uk:31177 |
Download
Examined Thesis (PDF)
Filename: Ioannis_Thesis_Final.pdf
Licence:
This work is licensed under a Creative Commons Attribution NonCommercial NoDerivatives 4.0 International License
Export
Statistics
You do not need to contact us to get a copy of this thesis. Please use the 'Download' link(s) above to get a copy.
You can contact us about this thesis. If you need to make a general enquiry, please see the Contact us page.