Licentiat theses / Licentiatavhandlingar

Permanent URI for this collectionhttps://gupea-staging.ub.gu.se/handle/2077/34420

Browse

Recent Submissions

Now showing 1 - 11 of 11
  • Item
    Towards systematic trade-off management for MLOps: quality model, architectural tactics, design patterns
    (2025) Indykov, Vladislav
    Machine-learning-enabled systems are booming within modern software-intensive domains, driving innovation in areas such as healthcare, finance, and autonom ous systems. To produce high-quality and competitive solutions, the develop ment and operation of ML-enabled systems (MLOps) require careful considera tion of quality trade-offs across the entire production cycle. These trade-offs often differ from well-studied ones relevant to traditional software due to the inherently probabilistic and data-dependent nature of machine learning. Such differences particularly challenge startups and SMEs, who must operate in a non-standardized domain and seek frameworks that capture best practices for producing ML-enabled software. In this thesis, we propose a framework for embedding systematic trade off management into the MLOps lifecycle. Firstly, based on the results of a systematic literature review combined with an evaluation in industrial settings, we built a common quality model unique to ML-enabled systems. Second, through a systematic literature review and multiple-case study with four companies in the AI domain, we derived architectural and non-architectural tactics employed to achieve identified quality attributes. Third, we extracted existing design patterns from the component models of ML-enabled software identified through a multi-vocal literature review, and, using semi-structured expert interviews, evaluated their impact on quality attributes. In combination, these three studies lead to the insight that applying tactics or patterns to improve one quality attribute usually has side effects on other attributes, resulting in quality trade-offs. Our findings reveal that trade-off management is crucial for ML software production, as it significantly influences decision-making at all dimensions of the MLOps lifecycle (data, model, operations, and development). Based on these insights, as a fourth and final contribution, we propose a vision of an extension to the overall MLOps paradigm by embedding explicit steps for trade-off management at all phases of the workflow.Machine-learning-enabled systems are booming within modern software-intensive domains, driving innovation in areas such as healthcare, finance, and autonom ous systems. To produce high-quality and competitive solutions, the develop ment and operation of ML-enabled systems (MLOps) require careful considera tion of quality trade-offs across the entire production cycle. These trade-offs often differ from well-studied ones relevant to traditional software due to the inherently probabilistic and data-dependent nature of machine learning. Such differences particularly challenge startups and SMEs, who must operate in a non-standardized domain and seek frameworks that capture best practices for producing ML-enabled software. In this thesis, we propose a framework for embedding systematic trade off management into the MLOps lifecycle. Firstly, based on the results of a systematic literature review combined with an evaluation in industrial settings, we built a common quality model unique to ML-enabled systems. Second, through a systematic literature review and multiple-case study with four companies in the AI domain, we derived architectural and non-architectural tactics employed to achieve identified quality attributes. Third, we extracted existing design patterns from the component models of ML-enabled software identified through a multi-vocal literature review, and, using semi-structured expert interviews, evaluated their impact on quality attributes. In combination, these three studies lead to the insight that applying tactics or patterns to improve one quality attribute usually has side effects on other attributes, resulting in quality trade-offs. Our findings reveal that trade-off management is crucial for ML software production, as it significantly influences decision-making at all dimensions of the MLOps lifecycle (data, model, operations, and development). Based on these insights, as a fourth and final contribution, we propose a vision of an extension to the overall MLOps paradigm by embedding explicit steps for trade-off management at all phases of the workflow.
  • Item
    Towards Leveraging Underutilized IoT Resources for Automotive Software: A Study on Resource Sharing for Connected Vehicles
    (2025) Mahawatta Dona, Malsha Ashani
    Background: Internet of Things (IoT) has found its way to day-to-day lives of people, making their lives convenient and connected. As a result of growing IoT usage, we are surrounded by potentially underutilized computing resources suggesting an opportunity to improve their utilization by sharing them with entities that may require from time to time more resources for complex com putations. However, the resource allocation and resource utilization process is a rather complex task that involves heterogeneous and distributed entities. This concept can be particularly relevant in highly dynamic and safety-critical domains such as transportation and automotive systems, where edge devices such as vehicles operate in a resource-constrained environment. Objective: This research focuses on to what extent underutilized resources in a highly dynamic heterogeneous environment can be utilized more efficiently. This thesis explores resource sharing in edge devices within close vicinity on the example of connected vehicles. We propose and evaluate this concept on a practical application scenario from the automotive domain, where one vehicle would benefit of being able to “look around the corner”. Method: A systematic mapping study was conducted to identify the key research areas and limitations of the automotive domain focusing Vehicular ad-hoc Networks (VANETs). Based on the results of the literature review, an explanatory study was conducted to present the proposed resource uti lization framework exploring the novel research areas identified. A series of experimental-based evaluation studies following design science was conducted to explore the applicability of state-of-the-art large language models (LLMs) as dialogue interfaces within the proposed resource utilization framework. This line of studies includes identifying and mitigating the potential challenges of using LLMs as a tool to support resource utilization. Findings: The results of the study revealed that resource utilization can be achieved through sharing underutilized computing resources of nearby IoT enabled entities. Within the context of the selected practical application scenario, our experiments showed that LLMs can support pedestrian detection and localization. LLMs can initiate a dialogue between connected vehicles and process relevant multimodal data to contribute to improved decision-making in autonomous driving (AD). Further experiments evaluated novel techniques to assess the trustworthiness of such LLM-assisted systems. Conclusion: The introduction of state-of-the-art artificial intelligence (AI) tools such as LLMs has the potential to positively impact advanced driver assis tant systems (ADAS), establishing a new research dimension to the automotive context. This novel approach aims to enhance the adaptability and efficiency of the proposed framework for safety critical systems, demonstrated with an industrially relevant practical application scenario.
  • Item
    Graded Modal Type Theory, Formalized
    (2025) Eriksson, Oskar
    A graded modal type theory equips a type theory with a semiring of grades, which enables encoding additional information of some kind. A typical application of such a system is to encode quantitative information, specifically how many times variables are used or referenced at runtime. Concrete examples include erasure or linear types. In this thesis, we present such a type theory with dependent types, designed primarily with encoding quantitative information in mind. The theory supports Π-types, Σ-types, unit, and empty types, as well as a hierarchy of universes. It also supports natural numbers, and special attention is given to establishing a method for counting variable uses for the recursive eliminator of this type. We prove some key meta-theoretical results for this system, as well as two main correctness results. Firstly, we show correctness for erasure in the sense that it is safe to remove erased information during compilation without affecting the result of evaluation. Secondly, we show that the system is capable of correctly tracking how many times variables should be referenced through an abstract machine in which heap lookups (corresponding to variable references) are tracked. The thesis is accompanied by an Agda formalization in which the results have been mechanized.
  • Item
    Some results in synthetic homotopy theory
    (2025) Wärn, David
    Synthetic homotopy theory is a relatively new approach to homotopy theory based on a variant of Martin-Löf type theory called homotopy type theory. A central theme of synthetic homotopy theory is the study of identity types, or path spaces, which describe the ways in which two elements of the same type can be equal. This thesis consists of two works in the field of synthetic homotopy theory which shed some light on the nature of identity types. The first and most significant consists of a precise and useful description of identity types of pushouts by what we call the zigzag construction. This can equivalently be seen as a description of the free ∞-groupoid on a graph of spaces. The zigzag construction notably has no exact classical counterpart and should be of interest also outside of type theory. In type theory, it provides a solution to a long-standing open problem in synthetic homotopy theory, namely the problem of showing that the suspension of a 0-type is 1-truncated. The second consists of an elementary treatment of stabilisation in spaces. This is the phenomenon that pointed types admit unique deloopings once they are sufficiently connected and truncated, and that pointed maps admit unique deloopings under similar conditions. This allows us to construct types with specified identity types. In particular we present a new description of Eilenberg–MacLane spaces.
  • Item
    Context-Infused Automated Software Test Generation
    (2025) Fontes, Afonso
    Automated software testing is essential for modern software development, ensuring reliability and efficiency. While search-based techniques have been widely used to enhance test case generation, they often lack adaptability, struggle with oracle automation, and face challenges in balancing multiple test objectives. This thesis expands the scope of search-based test generation by incorporating additional system-under-test context through two complementary approaches: (i) integrating machine learning techniques to improve test case generation, selection, and oracle automation, and (ii) optimizing multi-objective test generation by combining structural coverage with non-coverage-related system factors, such as performance and exception discovery. The research is structured around four key studies, each contributing to different aspects of automated testing. These studies investigate (i) machine learning-based test oracle generation, (ii) the role of search-based techniques in unit test automation, (iii) a systematic mapping of machine learning applications in test generation, and (iv) the optimization of multi-objective test generation strategies. Empirical evaluations are conducted using real-world software repositories and benchmark datasets to assess the effectiveness of the proposed methodologies. Results demonstrate that incorporating machine learning models into search-based strategies improves test case relevance, enhances oracle automation, and optimizes test selection. Additionally, multi-objective optimization enables balancing various testing criteria, leading to more effective and efficient test suites. This thesis contributes to the advancement of automated software testing by expanding search-based test generation to integrate system-specific context through machine learning and multi-objective optimization. The findings provide insights into improving test case generation, refining oracle automation, and addressing key limitations in traditional approaches, with implications for both academia and industry in developing more intelligent and adaptive testing frameworks.
  • Item
    Automata Constructions for LTL with Past
    (Department of Computer Science and Engineering University of Gothenburg | Chalmers University of Technology, 2024) Lidell, David
    Linear temporal logic (LTL) is a popular language in formal verification, especially in the domains of model checking and reactive synthesis. Because its semantics is defined in terms of infinite sequences of symbols that can be interpreted as system variables, it is suitable for expressing how the state of a continuously operating system evolves over time. Due to the tight connection between the semantics of LTL and that of automata over infinite words, and because many common approaches to formal verification are automata-theoretic in nature, it is not surprising that various translations from LTL to automata over infinite words have been developed over the years, both for theoretical and practical purposes. Although many properties are naturally and succinctly expressed in terms of past events, the majority of these translations are restricted to formulae that only refer to the present and future. Those that do handle past are often indirect or lead to automata with an unnecessarily large number of states. In this thesis we present several translations from linear temporal logic with past to various types of automata over infinite words. We also suggest a framework for extending existing tools that are based on manipulating LTL formulae to handle past, together with a prototype tool intended to serve as a proof of this concept.
  • Item
    Enhancing Requirements Engineering Practices Using Large Language Models
    (2024) Ronanki, Krishna
    Background: Large Language Models (LLMs) offer users natural language interaction, technical insights and task automation capabilities. However, the systematic integration of LLMs within Requirements Engineering (RE) processes presents unique challenges and limitations. A need to develop and understand mechanisms to integrate LLMs in an efficient and responsible manner has been observed in current state-of-the-art literature. This requires scientific inquiry on three key LLM aspects: 1. Technical proficiency in assisting with RE tasks and processes, 2. Ethical and regulatory constraints on their usage, and 3. Artefacts and processes that enable the systematic integration of LLMs in an efficient and responsible manner within organisations. Objective: This thesis investigates the technical capabilities and ethical/ regulatory constraints to address aspects 1 and 2 before collecting preliminary evidence that motivates further researcher on aspect 3 to enable the systematic integration of LLMs to assist users within RE processes. Method: A multi-methodology approach, combining quasi-experiments, interviews, a survey and a case study was employed to gather empirical data on LLMs’ technical abilities and user experiences in assisting users within RE tasks and processes. A tertiary review followed by a meta-analysis of the literature on ethical AI guidelines and frameworks was conducted to identify and understand the constraints involved in the using LLMs for RE tasks and processes in practice. Findings: The results of the empirical experiments revealed that LLMs are capable of performing technical tasks like generating requirements, evaluating the quality of user stories, binary requirements classification and tracing interdependant requirements with varying levels of performance. The comparative analysis of ethical AI guidelines and frameworks revealed the constraints and requirements involved in the use of LLMs in practice. The industrial case study and the survey resulted in ten recommendations for the responsible and systematic integration of LLMs for RE in practice. Conclusion: In conclusion, a need for a human-LLM task delegation framework has been observed, the importance of validating LLMs in real-world-like environments has been highlighted, the under-emphasised human and organisational aspects have been brought to the forefront. Future work needs to delve deeper into identifying and mitigating the challenges associated with the adoption and integration of LLMs. This includes the need to study the organisational barriers, deciding factors, and artefacts that influence and enable the responsible and systematic adoption of LLMs.
  • Item
    Understanding Software Design for Creating Better Design Environments
    (Chalmers University of Technology and Göteborg University, 2017) Jolak, Rodi; Department of Computer Science & Engineering, Division of Software Engineering, Chalmers University of Technology and Göteborg University
    Context: Software design is considered an essential activity to analyze software requirements in order to produce a description of the software's internal structure that will serve as the basis for its construction. Models are a means to describe complex systems at several levels of abstraction and from a diversity of perspectives. Surprisingly, most of the current software design environments are not based on understanding of real needs of software designers in practice. Objective: As a first step towards supporting realistic software design processes, this thesis focuses on understanding software design practices, as well as on proposing and assessing of a new generation of software design environments. Method: To achieve the objective of this research, design science and empirical methods are employed. In particular, a new generation software design environment, called OctoUML, is created. Furthermore, to understand whether there is a need to improve modeling tools, the modeling process is analyzed in order to reveal how much effort is given to designing (i.e. thinking about the design of software systems), and how much effort is given to drawing the model (i.e. tool interaction). Result: This thesis describes two areas of contributions: On the one hand, OctoUML is perceived a usable environment in terms of ease of use, efficiency and user satisfaction. Moreover, it seems that OctoUML supports the design process by bridging the gap between early-phase design process and later on documentation and formalization process. Further results show that OctoUML was not only enjoyed by the designers, but also enhanced the efficiency of the software design process. On the other hand, we proposed experiments to increase our understanding of the software design process. We elicit many issues that need to be considered in such experiments. Our initial findings suggest that the majority of the modeling effort is devoted on design thinking. However, the effort spent on using modeling tools should be reduced by investigating better modeling-tool support.
  • Item
    Addressing Traceability Challenges in the Development of Embedded Systems
    (2017) Maro, Salome
    Context: Currently, development e orts in embedded systems development lead to a large number of interconnected artifacts. Traceability enables understanding and managing these artifacts as they evolve. However, establishing traceability is not a trivial task, it requires the development organization to plan how traceability will t into its processes and provide tools to support traceability establishment. In practice, guidelines for how traceability should be established are lacking. Therefore, companies struggle with establishing traceability and making the most of traceability once it is established. Objective: The overall objective of this research is to improve traceability processes and tools for embedded systems development. In this thesis, we started with rst understanding the domain and practical traceability challenges and also investigated how traceability tools can be improved. Method: Since establishing traceability is a practical problem, our research is conducted in close collaboration with industry partners. We conducted qualitative empirical studies to understand which traceability challenges exist in reality and designed solutions for some of these challenges. Concretely, we used action research, case study and design science methods for the di erent studies. Results: Our studies show that establishing traceability in practice still has several challenges, the most prominent ones being: the manual work of establishing traceability is high; the engineers responsible for creating the links perceive it as an overhead; lack of tools to enable using traceability; lack of methods and tools to measure its quality; no universal standards for traceability to be shared and exchanged and it is di cult to measure the return on investment of establishing traceability. To reduce the amount of manual work needed to maintain traceability links, we designed guidelines that can be followed by tool developers. We also show the feasibility of a con gurable and extendable traceability management tool through a prototype implementation. Contributions: As part of this thesis, we have elicited persistent traceability challenges in development of embedded systems development. This list of challenges can also be used by other researchers who are interested in the topic of traceability for embedded systems development. As a rst initiative towards solving these challenges, we propose important factors and guidelines for traceability tool developers and organizations that need to acquire traceability tools. Lastly, we have demonstrated the feasibility of these factors and guidelines through a prototype implementation. This implementation is open source and available for industry to use in their development and for other researchers to use for studies and extend the tool.
  • Item
    Qualitative and Quantitative Assessment of Integration Testing for Model-Based Software in the Automotive Industry
    (2016) Schröder, Jan
    Background: Integration testing of vehicle software in the automotive industry relies heavily on simulation models. As they replicate actual vehicle functions in the testing process, they increase in size and amount of interconnectivity as rapidly as the actual functions. Valid simulation models are a precondition for valid integration testing. Hence, assessment of the models is of high importance in industry. At the same time, assessment approaches for model-based software validated in industry are scarce. Objective: The goal of this thesis is to assess current integration testing in the automotive industry and extend the validation of simulation models. Accordingly, we aim to collect insights from the practitioners in the eld, including elicitation of actual challenges in the industry, state-of-the-practice processes, and assessments of applicability for validation approaches. Method: To achieve the objectives we combine quantitative and qualitative research methods including interviews, workshops, surveys, literature reviews, software measurements, correlation analysis, and statistical tests. In ve studies attached with this thesis we combine multiple research methods to achieve high validity and to ensure all presented approaches are applicable in industry. Results: We elicited and categorized challenges from practitioners in practice, particularly in the eld of integration testing for automotive software and analyze the current software development process. We present measurement results from complexity and size metrics, as a rst assessment of the models. In addition to single measurements, we show how to evaluate software measurement results collected over time and how they can be related to model quality. We show that outlier analysis can help detecting impactful observations in the model development process. Furthermore, we found ve approaches for the prediction of software model growth data and elaborate on their strengths and weaknesses, in practice. Next to providing actual approaches, we present practitioners expectations towards maintainability measurements and measurement predictions. Conclusion: In this work we contribute to the understanding of concrete challenges in industry, we describe current processes, and provide approaches applicable in industry to address elicited challenges. With our work we improve the current assessment of validity of simulation models in integration testing in the automotive industry.
  • Item
    Analysing normative contracts - On the semantic gap between natural and formal languages
    (2015) Camilleri, John J.
    Normative contracts are documents written in natural language, such as English or Swedish, which describe the permissions, obligations, and prohibitions of two or more parties over a set of actions, including descriptions of the penalties which must be payed when the main norms are violated. We encounter such texts frequently in our daily lives in the form of privacy policies, software licenses, and service agreements. The length and dense linguistic style of such contracts often makes them difficult to follow for non-experts, and many people agree to these legally-binding documents without even reading them. By investigating the processing of normative texts, how they can be modelled formally using a suitable logic, and what kinds of properties can be automatically tested on our models, we hope to produce end-user tools which can take a natural language contract as input, highlight any potentially problematic clauses, and allow a user to easily ask questions about the implications of the contract, getting a meaningful answer in natural language within a reasonable amount of time. This thesis includes four research articles by the author which investigate the various components that a system such as this would require; from entity recognition and modality extraction on natural language texts, to controlled natural languages and visual diagrams as modelling interfaces, to logical formalisms which can be used for contract representation, to the different kinds of analysis possible and how this can be linked to user questions in natural language.