A conceptual framework for uncertainty in software systems and its application to software architectures
Abstract
The development and operation of a software system involve many aspects including processes, artefacts, infrastructure and environments. Most of these aspects are vulnerable to uncertainty. Thus, the identification, representation and management of uncertainty in software systems is important and will be of interest to many stakeholders in software systems. The hypothesis of this work is that such consideration would benefit from an underlying conceptual framework that allows stakeholders to characterise, analyse and mitigate uncertainties. This PhD proposes a framework to provide a generic foundation for the systematic and explicit consideration of uncertainty in software systems by consolidating and extending existing approaches to dealing with uncertainty, which are typically tailored to specific domains or artefacts. The thesis applies the framework to software architectures, which are fundamental in determining the structure, behaviour and qualities of software systems and are thus suited to serve as an exemplar artefact. The framework is evaluated using the software architectures of case studies from 3 different domains. The contributions of the research to the study of uncertainty in software systems include a literature review of approaches to managing uncertainty in software architecture, a review of existing work on uncertainty frameworks related to software systems, a conceptual framework for uncertainty in software systems, a conceptualisation of the workbench infrastructure as a basis for building an uncertainty consideration workbench of tools for representing uncertainty as part of software architecture descriptions, and an evaluation of the uncertainty framework using three software architecture case studies.
Type
Thesis, PhD Doctor of Philosophy
Collections
Description of related resources
A conceptual framework for uncertainty in software systems and its application to software architectures (thesis data), Lupafya, C., University of St Andrews, 14 Jun 2023, DOI: https://doi.org/10.17630/fd0c5930-9306-4046-a28a-fcdb4307744aLupafya, C., & Balasubramaniam, D. (2022). A framework for considering uncertainty in software systems. In H. V. Leong, S. S. Sarvestani, Y. Teranishi, A. Cuzzocrea, H. Kashiwazaki, D. Towey, J.-J. Yang, & H. Shahriar (Eds.), Proceedings - 2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC) Article 9842720 (Proceedings - International Computer Software & Applications Conference). IEEE Computer Society. https://doi.org/10.1109/compsac54236.2022.00241 [Open access version: https://hdl.handle.net/10023/25613]
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.
Related items
Showing items related by title, author, creator and subject.
-
inspect4py : a knowledge extraction framework for Python code repositories
Filgueira, Rosa; Garijo, Daniel (ACM, 2022-10-17) - Conference itemThis work presents inspect4py, a static code analysis framework designed to automatically extract the main features, metadata and documentation of Python code repositories. Given an input folder with code, inspect4py uses ... -
Incorporating ethics in software engineering : challenges and opportunities
Mitchell, Anna Catherine; Balasubramaniam, Dharini; Fletcher, Jade (IEEE Computer Society, 2022-12-06) - Conference itemEthics is recognised as an important concern in the development and operation of software systems. While there are codes of ethics and sets of ethical principles available to software professionals, there is a lack of tool ... -
A framework for considering uncertainty in software systems
Lupafya, Chawanangwa; Balasubramaniam, Dharini (IEEE Computer Society, 2022-08-10) - Conference itemThere are many aspects involved in the development and operation of a software system, including system artefacts, activities, and infrastructure. Most of these aspects are vulnerable to uncertainty, which can result in ...