Doctoral Theses / Doktorsavhandlingar Institutionen för data- och informationsteknik

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

Browse

Recent Submissions

Now showing 1 - 20 of 37
  • Item
    Evolution of Textual Domain-Specific Languages in the Context of Model-Driven Engineering
    (2025-09-23) Weixing, Zhang
    Domain-specific languages (DSLs) have become essential tools in model-driven engineering, enabling domain experts to express solutions in familiar terminology while maintaining formal precision. As software systems evolve, textual DSLs must adapt to changing requirements, new features, and evolving domain knowledge. However, the evolution of textual DSLs presents multifaceted challenges spanning different levels of language artifacts: metamodels and grammars must remain consistent during language definition evolution, generated grammars require optimization and adaptation to improve usability, grammar adaptation processes need to avoid repetitive manual labor, and textual instances require migration while preserving valuable auxiliary information such as comments and formatting. This research systematically addresses the key challenges in textual DSL evolution by developing automated solutions that support the comprehensive co-evolution of language definitions and their instances. The work begins with an extensive empirical investigation of 1,002 Xtext-based DSL repositories on GitHub, providing unprecedented insights into how textual DSLs are developed, used, and evolved in practice across 18 different application domains. Based on these empirical findings, we developed automated grammar transformation approaches to support metamodel-grammar co-evolution, including configurable transformation rules and automated extraction of grammar adaptation configurations. The research also explores approaches for creating more user-friendly Python-style DSL grammars through systematic grammar adaptation and investigates methods for utilizing metamodel structures in generating editors for large textual DSLs. Additionally, the research explores novel applications of large language models in textual DSL instance co-evolution. The contributions of this thesis advance both theoretical understanding and practical tooling for textual DSL evolution in model-driven engineering contexts. The empirical insights inform best practices for DSL development and evolution, while the automated solutions significantly reduce the manual effort required for maintaining consistency between evolving language definitions and their instances. This work establishes a foundation for more effective and efficient evolution of textual DSLs, ultimately supporting broader adoption and long-term sustainability of domain-specific languages in software engineering practice.
  • Item
    Non-Functional Requirements for Machine Learning Systems
    (2025-08-23) Mohammad Habibullah, Khan
    Background: Machine learning (ML) systems are increasingly being deployed in complex and safety-critical domains such as autonomous driving, healthcare, and finance. ML systems learn using big data and solve a wide range of prediction and decision-making problems that would be difficult to solve with traditional systems. However, increasing use of ML in different systems has raised concerns about quality requirements, which are defined as non-functional requirements (NFRs). Many NFRs, such as fairness, transparency, explainability, and safety, are critical in ensuring the success and acceptance of ML systems. However, many NFRs for ML systems are not well understood (e.g., maintainability), some known NFRs may become more important (e.g., fairness), while some may become irrelevant in the ML context (e.g., modularity), some new NFRs may come into play (e.g., retrainability), and the scope of defining and measuring NFRs in ML systems is also a challenging task. Objective: The research project focuses on addressing and managing issues related to NFRs for ML systems. The objective of the research is to identify current practices and challenges related to NFRs in an ML context, and to develop solutions to manage NFRs for ML systems. Method: This research follows a design science methodology and consists of a series of empirical and design-oriented studies. First, we conducted an interview study to explore practitioners' perceptions of NFRs and the challenges associated with defining and measuring them in ML systems. Then we conducted a subsequent survey study to validate and expand these findings with broader practitioner input. To complement these studies, we conducted a partial systematic mapping study to assess the coverage of NFRs in the academic literature, revealing discrepancies between research focus and industrial needs. Additionally, we conducted group interviews with domain experts in the automotive industry to uncover requirements engineering (RE) practices and challenges specific to ML-enabled perception systems. Based on these insights, we proposed a structured, five-step quality framework and evaluated it through practitioner interviews. Finally, we proposed revised maintainability metrics adapted to the unique structure of ML systems, and we evaluated them using ten real-world open-source ML projects. Findings: We found that NFRs are crucial and play an important role in the success of the ML systems. However, there is a research gap in this area, and managing NFRs for ML systems is challenging. To address the research objectives, we have identified important NFRs for ML systems, such as accuracy, reliability, fairness, transparency, retrainability, and explainability. We also identified challenges in defining, scoping, and measuring NFRs, including domain dependence, lack of standardized metrics, and difficulty in tracing NFRs across ML system components. Furthermore, we found that practitioners face significant challenges in applying RE to ML systems---particularly in autonomous perception—due to uncertainty, evolving components, and lack of systematic approaches for managing quality trade-offs, data quality, and cross-organizational collaboration. To address these gaps, we proposed a five-step NFR management framework, covering NFR selection, scoping, trade-off analysis, measurement planning, and structured specification using templates. Finally, given that maintainability is an important NFR for ML systems, we proposed scope-aware definitions and measurement strategies for maintainability in ML systems and demonstrated their usefulness through empirical evaluation. Conclusion: NFRs are critical for ML systems, but they are difficult to define, allocate, specify, and measure due to challenges like unintended bias, non-deterministic behavior, and the high cost of thorough testing. Industry and research lack well-structured solutions to manage NFRs for ML systems effectively. This research addresses this critical gap by providing a comprehensive understanding of NFRs and the unique challenges they pose in the ML context. Through a combination of empirical studies and the development of a structured NFR management framework, this research offers a solution for identifying, prioritizing, scoping, measuring, and specifying NFRs across granular-level components of ML systems. Contributions also include scope-aware definitions and measurement metrics of maintainability for ML systems. These findings enrich the theoretical understanding of NFRs for ML systems, provide empirically grounded insights into their challenges, and introduce artifacts and metrics to support future research. These outcomes also provide valuable guidance for practitioners to build trustworthy, maintainable, and high-quality ML systems. This research will help practitioners make better engineering decisions, improve quality assurance processes, and provide a foundation for more systematic and accountable ML system development.
  • Item
    Bridging Worlds: Integrating Human Factors in Agile Automated Vehicle Development
    (2024-12-19) Muhammad, Amna Pir
    Abstract: Context: Automated Vehicle (AV) technology has grown significantly in complexity and impact, promising to transform urban transportation. However, research shows that vehicle automation can only live up to this expectation if it is designed with human capabilities and limitations in mind. Integrating human factors knowledge into AV development is, therefore, essential. Traditionally, this integration has relied on upfront requirements during pre-development. The adoption of agile methodologies, which lack such upfront processes, necessitates new approaches for integrating human factors into agile AV development. This study addresses this challenge by exploring the integration of human factors knowledge within agile AV development from a requirements engineering perspective. Objective: This thesis empirically examines how to efficiently incorporate human factors knowledge into large-scale agile AV development, identifying practical strategies to address this need. Method: The research employs a mixed-methods approach, including interviews, workshops, document analysis, and surveys, to gather both qualitative and quantitative data. These methods provide insights into developing strategies for integrating human factors knowledge into agile AV development. Findings: Initial findings highlight several challenges in integrating human factors knowledge, such as inadequate tools, methods, and expertise. It highlight the need for strategies to effectively capture and apply human factors requirements. Experiments emerged as a critical element, offering insights into human interactions with complex systems. Building on these findings, a follow-up study examined the feasibility of using continuous experimentation to integrate human factors knowledge into agile AV development. Continuous experimentation alone proved insufficient to fu lly in tegrate human factors knowledge into agile processes. While it supports rapid feedback and iterative improvements, it does not accommodate the specific experiments required for addressing human factors effectively. To address these gaps, the study applied a requirements engineering perspective. The concept of Requirements Strategies emerged, providing organizations with structured guidelines for defining and implementing effective approaches to manage their specific requirements in agile development. These guidelines emphasize three main components: structural, organizational, and work and feature flow perspectives. This concept was then used as a lens to collect best practices for the integration of human factors requirements in agile AV development. In agile development, autonomous teams make localized decisions and discover new knowledge independently, often relying on implicit expertise. Effective integration of human factors requires teams to possess or have access to such knowledge. Given the scarcity of human factors experts, strategic placement of this expertise within organizations becomes critical. The study identifies optimal placements to enhance the management of human factors requirements and their integration into agile processes. Conclusion: This research offers strategies, informed by practitioner feedback and study findings, to integrate human factors knowledge into agile AV development. These strategies are framed across structural, organizational, and work and feature flow perspectives. Additionally, the placement of human factors expertise within organizations is suggested to manage these requirements effectively and and maximize the impact of human factors considerations on final products. The findings contribute to the ongoing discourse on how to effectively incorporate human-centric considerations into the rapidly evolving field of automated vehicle development.
  • Item
    Pedestrian Behavior Prediction Using Machine Learning Methods
    (2024-11-14) Zhang, Chi
    Background: Accurate pedestrian behavior prediction is essential for reducing fatalities from pedestrian-vehicle collisions. Machine learning can support automated vehicles to better understand pedestrian behavior in complex scenarios. Objectives: This thesis aims to predict pedestrian behavior using machine learning, focusing on trajectory prediction, crossing intention prediction, and model transferability. Methods: We identified research gaps by reviewing the literature on pedestrian behavior prediction. To address these gaps, we proposed deep learning models for pedestrian trajectory prediction using real-world data, considering social and pedestrian-vehicle interactions. We integrated spectral features to improve model transferability. Additionally, we developed machine learning models to predict pedestrian crossing intentions using simulator data, analyzing interactions in both single and multi-vehicle scenarios. We also investigated cross-country behavioral differences and model transferability through a comparative study between Japan and Germany. Results: For trajectory prediction, incorporating social and pedestrian-vehicle interactions into deep learning models improved accuracy and inference speed. Integrating spectral features using discrete Fourier transform improved motion pattern capture and model transferability. For crossing intention prediction, neural networks outperformed other machine learning methods. Key factors that influence pedestrian crossing behavior included the presence of zebra crossings, time to arrival, pedestrian waiting time, walking speed, and missed gaps. The cross-country study revealed both similarities and differences in pedestrian behavior between Japan and Germany, providing insights into model transferability. Conclusions: This thesis advances pedestrian behavior prediction and the understanding of pedestrian-vehicle interactions. It contributes to the development of smarter and safer automated driving systems.
  • Item
    Towards Next-Gen Machine Learning Asset Management Tools
    (2023-10-26) Idowu, Samuel O.
    Context: The proficiency of machine learning (ML) systems in solving many real-world problems effectively has enabled a paradigm shift toward ML-enabled systems. In ML-enabled software, significant software code artifacts (i.e., assets) are replaced by ML-related assets, introducing multiple system development and production challenges. In particular, the need to manage extended asset types introduced by ML systems and the non-deterministic nature of ML make using traditional software engineering (SE) tools ineffective. The lack of supporting tools makes it demanding to address the concerns of specific aspects of ML-enabled system development, such as model experimentation. Consequently, new tool classes are being introduced to address these challenges. ML experiment management tools (ExMT) are examples of such tools aiming to mitigate the challenges and users’ burden of managing ML-specific assets. Although these tools have recently become available, they are, unfortunately, not fully mature and have the potential for several improvements. For instance, many practitioners still consider ExMTs costly, restrictive, and ineffective. These challenges imply the need for improvements in many areas and raise research questions about the appropriate characteristics of a useful and effective ExMT for managing the development assets of ML-enabled systems. Objective: This PhD research aims to contribute to the rapidly evolving space of new and improved ExMTs to facilitate the development of improved tools targeting combined SE and data science use cases. Consequently, we contributed to the knowledge and extended insights on ML experiment, their assets, the ExMT’s landscape, and their benefits and effectiveness. We later proposed steps towards integrated ExMTs and artifacts based on the obtained insights. Method: We addressed our objectives by adopting 1) knowledge-seeking research, including exploratory studies, literature reviews, feature surveys, practitioner surveys, and controlled experiments, and 2) solution-seeking research, including design science proposing unified concepts from multiple tools. The former was used to understand ML experiments, the challenges of managing experiment assets, the state of practice and landscape of existing ExMTs, and their effectiveness, benefits, and limitations. The acquired insights are then leveraged to propose research steps in the later part toward integrated ExMTs using design science to develop a blueprint for unified management tools. Results: This thesis presents seven significant results. First, it provides an empirically informed overview of the challenges in ML experiment management. Second, it presents insights into the types of ML-based projects, their development activities, and evolution patterns. Third, it offers an overview of existing tools, shedding light on the state of practice and research on asset management tools for ML experiments. Fourth, it presents an empirical-based report on the benefits and challenges of ExMTs. Fifth, it establishes the effectiveness of ExMTs in improving user performance. Sixth, it proposes a step-by-step guide toward integrated ML tools for SE and data science. Seventh, it presents a prototype and blueprint for a unified ExMT. Conclusion: This thesis highlights the significance of ML asset management as an essential discipline in facilitating experiments and asset management for ML-enabled software systems. It provides empirical data that offers crucial insights into the tooling landscape for managing ML experiment assets, including their features, benefits, limitations, and effectiveness. Additionally, the research proposes a guide and prototype to facilitate the design of new ExMTs.
  • Item
    Improving the Performance of Machine Learning-based Methods for Continuous Integration by Handling Noise
    (2023-08-22) Al-Sabbagh, Khaled
    Background: Modern software development companies are increasingly implementing continuous integration (CI) practices to meet market demands for delivering high-quality features. The availability of data from CI systems presents an opportunity for these companies to leverage machine learning to create methods for optimizing the CI process. Problem: The predictive performance of these methods can be hindered by inaccurate and irrelevant information – noise. Objective: The goal of this thesis is to improve the effectiveness of machine learning-based methods for CI by handling noise in data extracted from source code. Methods: This thesis employs design science research and controlled experiments to study the impact of noise-handling techniques in the context of CI. It involves developing ML-based methods for optimizing regression testing (MeBoTS and HiTTs), creating a taxonomy to reduce class noise, and implementing a class noise-handling technique (DB). Controlled experiments are carried out to examine the impact of class noise-handling on MeBoTS’ performance for CI. Results: The thesis findings show that handling class noise using the DB technique improves the performance of MeBoTS in test case selection and code change request predictions. The F1-score increases from 25% to 84% in test case selection and the Recall improved from 15% to 25% in code change request prediction after applying DB. However, handling attribute noise through a removal-based technique does not impact MeBoTS’ performance, as the F1-score remains at 66%. For memory management and complexity code changes should be tested with performance, load, soak, stress, volume, and capacity tests. Additionally, using the “majority filter” algorithm improves MCC from 0.13 to 0.58 in build outcome prediction and from -0.03 to 0.57 in code change request prediction. Conclusions: In conclusion, this thesis highlights the effectiveness of applying different class noise handling techniques to improve test case selection, build outcomes, and code change request predictions. Utilizing small code commits for training MeBoTS proves beneficial in filtering out test cases that do not reveal faults. Additionally, the taxonomy of dependencies offers an efficient and effective way for performing regression testing. Notably, handling attribute noise does not improve the predictions of test execution outcomes.
  • Item
    Understanding, Implementing, and Supporting Security Assurance Cases in Safety-Critical Domains
    (2023-05-25) Mohamad, Mazen
    The increasing demand for connectivity in safety-critical domains has made security assurance a crucial consideration. In safety-critical industry, software, and connectivity have become integral to meeting market expectations. Regulatory bodies now require security assurance cases (SAC) to verify compliance, as demonstrated in ISO/SAE-21434 for automotive. However, existing approaches for creating SACs do not adequately address industry-specific constraints and requirements. In this thesis, we present CASCADE, an approach for creating SACs that aligns with ISO/SAE-21434 and integrates quality assurance measures. CASCADE is developed based on insights from industry needs and a systematic literature review. We explore various factors driving SAC adoption, both internal and external to companies in safety-critical domains, and identify gaps in the existing literature. Our approach addresses these gaps and focuses on asset-driven methodology and quality assurance. We provide an illustrative example and evaluate CASCADE’s suitability and scalability in an automotive OEM. We evaluate the generalizability of CASCADE in the medical domain, high-lighting its benefits and necessary adaptations. Furthermore, we support the creation and management of SACs by developing a machine-learning model to classify security-related requirements and investigating the management of security evidence. We identify deficiencies in evidence management practices and propose potential areas for automation. Finally, our work contributes to the advancement of security assurance practices and provides practical support for practitioners in creating and managing SACs.
  • Item
    Groupoid-Valued Presheaf Models of Univalent Type Theory
    (2022-11-03) Ruch, Fabian
    One main goal of this thesis is to study constructive models of type theory with one univalent universe that interpret types by “presheaves” of groupoids. A starting point is the fact that the groupoid model can be defined in a constructive metatheory. Therefore, its definition relativizes to presheaf models over arbitrary small index categories. This way we obtain what we call “naive” presheaf groupoid models of type theory with one univalent universe and propositional truncation. These naive presheaf groupoid models of univalent type theory can for instance be used to refute the principle of excluded middle. However, they seem inadequate for using univalent type theory as an internal language for groupoids varying over a category. One inadequacy of these models is that levelwise surjections in general fail to be internally surjective in that the propositional truncations of their fibres are not contractible. The reason for this failure is that propositional truncation in these models captures global rather than levelwise inhabitation of a type. To resolve the inadequacies of these models we refine their interpretation of types. The interpretation of types in the refined models will be restricted to presheaves of groupoids that satisfy a non-trivial patch condition to account for levelwise inhabited propositions being forced to be contractible. That patch condition can be expressed as having an algebra structure for a particular kind of lex modality which we call a descent data operation. Such a lex modality is in particular a strictly functorial operation on types and terms that preserves unit and dependent sum types up to isomorphism. In this thesis we develop the notion of descent data operation as an extension of type theory. In particular, we show that its algebras are closed under type formers so that they can be used in an internal model construction. We apply this construction to the concrete descent data operation on the naive presheaf groupoid models. Finally, we show that a map in the resulting models is indeed internally surjective if and only if it is levelwise surjective.
  • Item
    Facilitating Feature-Oriented Quality Assurance in Low-Maturity Variant-rich Systems
    (2022-09-08) Mukelabai, Mukelabai
    Context: Many software systems exist in several variants customized for specific stakeholder requirements, such as different market segments or hardware constraints. This customization introduces a high level of complexity that renders traditional single-system quality assurance techniques inapplicable, since they need to consider variations and constraints between a system’s features—a.k.a feature-oriented or variability-aware analysis. While several analysis techniques have been conceived in the last two decades for this purpose, they mostly target a branch of variant-rich systems called software product lines, and are less applicable to systems that still rely on cloning strategies to engineer variants—a.k.a low-maturity variant-rich systems. Among other reasons, this is because such systems exhibit: immature architectures that do not systematically account for variability, redundancy that is not exploited to reduce analysis effort, and missing essential meta-information such as feature constraints and locations of features in source code. Objective: This research aims to facilitate quality assurance in low-maturity variant-rich systems. Through analysis of the state-of-practice, we propose techniques that can improve maturity and help developers of such systems mitigate some challenges posed by redundancy. Method: First, we conducted a survey and interviews with practitioners to identify industrial needs and practices for analyzing variant-rich systems, followed by a case study of some open source systems to understand where developers record information necessary for feature-oriented analysis. Then, we designed and systematically evaluated a technique and a tool that can improve the maturity of variant rich systems by supporting feature recording, and two techniques that can reduce analysis effort. Results: Our results stem from two main contributions: our analysis of the state-of-practice and techniques we propose for improving maturity to facilitate feature-oriented analysis in low-maturity variant-rich systems. For the former, we present results of a survey and interviews targeting 27 practitioners from 18 companies in 8 countries to understand industrial practices and needs for analyzing variant-rich systems. Then, we present our empirical understanding of features and their characteristics (facets) based on a case study of two industrial open-source systems. For the latter, we present design decisions and an evaluation of a tool and technique that help developers proactively and continuously record features. Then, we present empirical data on the potential of two techniques for reducing QA effort: one for predicting software defects at the level of features (evaluated on 13 open-source systems), and another for propagating test cases across forked projects, i.e., projects with similar but cloned features (evaluated on over 426,000 test cases from 2,153 projects). Conclusion: This thesis identifies the lack of adoption of feature-oriented quality assurance techniques in industry, and addresses the problem through tools and techniques for feature recording and quality assurance effort reduction.
  • Item
    Pre-deployment Description Logic-based Reasoning for Cloud Infrastructure Security
    (2022-05-25) Cauli, Claudia
    Ensuring the security of a cloud application is exceptionally challenging. Not only is cloud infrastructure inherently complex, but also a precise definition of what is secure is hard to give. Business context, regulatory compliance, use cases, intent, and human interpretation influence this definition, and what is considered secure in one setting may not be in another. This thesis aims to improve the extent to which automated techniques support manual security reviews and, by doing so, to aid users of all levels in designing infrastructure compliant with their security standards. To achieve this objective, we investigate the application of provable techniques to security analyses amenable to early design phases. In particular, we study description logic-based semantic reasoning for the pre-deployment modeling and verification of cloud infrastructure. The body of this thesis is based on three published papers. In the first paper, we encode Amazon Web Services CloudFormation deployment language into the expressive description logic ALCOIQ. We verify configuration checks with ad-hoc reasoners and sketch an axiomatization of security knowledge to reason about system-level properties. We find that expressive logics can simulate partial closed-world reasoning, vulnerabilities, and mitigations to threats but trigger high complexity of the reasoning tasks and require cumbersome modeling. To overcome these, in the second paper, we define a novel lightweight logic and a query language for security threats. The logic mixes open-world and closed-world assumptions to succinctly encode complete and incomplete knowledge. The query language embeds optimistic and pessimistic reasoning to express vulnerabilities that may be present versus mitigations that must be in place. Lightweight logics enable tractability: knowledge base satisfiability and query answering become decidable in AC0 and LogSpace data complexity, respectively. Lastly, in the third paper, we build on this new formalism by introducing a language to encode mutating actions (that create, delete, or modify cloud resources) and defining the transition system generated from an initial configuration when all possible actions are applied. In the transition system, states represent alternative configurations, and transitions represent changes induced by the actions. By focusing on the planning problem, we search for sequences of actions that mitigate the potential vulnerabilities of the initial configuration. Due to the practical decision procedures of the underlying formalism, we do so in PTime data complexity.
  • Item
    Generative comics - A computational approach to creating comics material
    (2021-09-24) Nairat, Malik
    Digital storytelling can be employed as a tool that incorporates human creativity with technology. It synthesizes multimedia based elements to create engaging stories and compelling narratives. To this end, this research presents an approach that can be used as an assistant tool for comics artists. It focuses on generating comics-based narratives through a system that integrates three main components in the creation process, which are: agent-based system which generates raw narrative material based on the behavior of the system’s agents, an interactive evolution process where the author participate in the creation process, and comics generating engine that creates final comics as outputs. The general scope of the research is to construct a generative system that has the ability to create comics and fictional characters. The research utilizes the method of Research through Design (RtD) which favors evolution and iteration of the construction of the artifact based on trial and error to better solve complex design problems (Smith & Dean, 2014). Relevant aspects of computer science, visual arts, comics and storytelling have been combined together to form a unified research project that can answer the research questions: how can digital technology be employed in generating comics; how can it contribute to the creation of novel art forms; and how can it help artists in their creative practice. Through a review of generative comics researches, four categories are identified: Unified Comics Generators which investigate methods for generating both the story structure and its visual comics-based representation, Comics Elements Generators which explore various techniques for generating or employing particular comics elements such as panels, splashes, speech bubbles, and others, Visual Representation Generators which rely on importing the content from other narrative sources such as video games, video streaming, or chatting conversations through social media, and Generative Comics Installations which produce and present comic stories in a form of exhibited installations by capturing and manipulating live pictures of the audience. Research findings are discussed in terms of story characterization, the generated stories, and the comics visual representation. The constructed system showed high flexibility, scalability, competency, and capability that entitle it to be employed in various applications for different purposes.
  • Item
    Service Robotics Software Engineering
    (2021-08-16) García, Sergio
    Context. Robots are increasingly becoming involved in our lives and currently, teams of service robots cooperate to support humans by performing useful, repetitive, or dangerous tasks. However, engineering the robots’ software to ensure their robustness and autonomy has become a bottleneck in their development, mainly due to the inherent complexity of the domain. Service robots typically operate in partially constrained environments—often populated by humans—and provide many services for which they require a blend of hardware and software components. This requires developers to possess a diversity of expertise stemming from different disciplines. Building software with the ability to be changed, customized, or configured to fit different contexts, environments, or purposes is one of the core means to address these challenges. Unfortunately, software engineering has been mostly considered an auxiliary concern in the robotics community in the past. Objective. The objective of this thesis is to investigate practices and challenges in service robotics software engineering to provide guidance for practitioners and researchers as well as to engineer solutions for some of the challenges we identified. Method. Our research methodology combines knowledge-seeking and solution-seeking research. The former’s aim is to learn about a specific phenomenon; in this case, the state-of-the-art and -practice in service robotics software engineering. With this aim, we conducted interviews with practitioners, an online questionnaire, and a systematic literature review. The goal of solution-seeking research is to solve problems within a specific context, for which we designed solutions. The research for this thesis has been conducted in the context of a European project in collaboration with industrial partners. This allowed us to identify software engineering problems in the service robotics industry and validate our solutions in real-world scenarios and robots. Results. We outline with our empirical results the current practices, characteristics, and challenges of service robotics software engineering. We found that the most pressing challenges are validating and achieving the robustness of autonomous systems, especially those whose behavior and control systems are intended to be changeable, configurable, or customizable. The solutions we engineered consist of a software architecture for multi-robot applications (SERA), a domain-specific language for robot mission specification (PROMISE), and a software component that is able to synthesize plans considering only partial knowledge of a robotic application (MAPmAKER). We integrated our engineered solutions into an industry-validated robotic framework that is structured by the premises established for SERA and whose composing modules were validated in terms of flexibility, robustness, and efficiency. Conclusions. Our empirical contributions help to enhance the current empirical understanding in the domain of service robotics software engineering and its practices, characteristics, and challenges with the aim of providing guidance for practitioners and researchers. Our engineered solutions consist of methods and tools whose aim is to support practitioners and researchers in building well-engineered robotic applications and in operating them.
  • Item
    Efficiency and Automation in Threat Analysis of Software Systems
    (2020-12-04) Katja, Tuma
    Context: Security is a growing concern in many organizations. Industries developing software systems plan for security early-on to minimize expensive code refactorings after deployment. In the design phase, teams of experts routinely analyze the system architecture and design to find potential security threats and flaws. After the system is implemented, the source code is often inspected to determine its compliance with the intended functionalities. Objective: The goal of this thesis is to improve on the performance of security design analysis techniques (in the design and implementation phases) and support practitioners with automation and tool support. Method: We conducted empirical studies for building an in-depth understanding of existing threat analysis techniques (Systematic Literature Review, controlled experiments). We also conducted empirical case studies with industrial participants to validate our attempt at improving the performance of one technique. Further, we validated our proposal for automating the inspection of security design flaws by organizing workshops with participants (under controlled conditions) and subsequent performance analysis. Finally, we relied on a series of experimental evaluations for assessing the quality of the proposed approach for automating security compliance checks. Findings: We found that the eSTRIDE approach can help focus the analysis and produce twice as many high-priority threats in the same time frame. We also found that reasoning about security in an automated fashion requires extending the existing notations with more precise security information. In a formal setting, minimal model extensions for doing so include security contracts for system nodes handling sensitive information. The formally-based analysis can to some extent provide completeness guarantees. For a graph-based detection of flaws, minimal required model extensions include data types and security solutions. In such a setting, the automated analysis can help in reducing the number of overlooked security flaws. Finally, we suggested to define a correspondence mapping between the design model elements and implemented constructs. We found that such a mapping is a key enabler for automatically checking the security compliance of the implemented system with the intended design. The key for achieving this is two-fold. First, a heuristics-based search is paramount to limit the manual effort that is required to define the mapping. Second, it is important to analyze implemented data flows and compare them to the data flows stipulated by the design.
  • Item
    Learning Language (with) Grammars: From Teaching Latin to Learning Domain-Specific Grammars
    (2020-08-25) Lange, Herbert
    This thesis describes work in three areas: grammar engineering, computer-assisted language learning and grammar learning. These three parts are connected by the concept of a grammar-based language learning application. Two types of grammars are of concern. The first we call resource grammars, extensive descriptions a natural languages. Part I focuses on this kind of grammars. The other are domain-specific or application-specific grammars. These grammars only describe a fragment of natural language that is determined by the domain of a certain application. Domain-specific grammars are relevant for Part II and Part III. Another important distinction is between humans learning a new natural language using computational grammars (Part II) and computers learning grammars from example sentences (Part III). Part I of this thesis focuses on grammar engineering and grammar testing. It describes the development and evaluation of a computational resource grammar for Latin. Latin is known for its rich morphology and free word order, both have to be handled in a computationally efficient way. A special focus is on methods how computational grammars can be evaluated using corpus data. Such an evaluation is presented for the Latin resource grammar. Part II, the central part, describes a computer-assisted language learning application based on domain-specific grammars. The language learning appli- cation demonstrates how computational grammars can be used to guide the user input and how language learning exercises can be modeled as grammars. This allows us to put computational grammars in the center of the design of language learning exercises used to help humans learn new languages. Part III, the final part, is dedicated to a method to learn domain- or application-specific grammars based on a wide-coverage grammar and small sets of example sentences. Here a computer is learning a grammar for a fragment of a natural language from example sentences, potentially without any additional human intervention. These learned grammars can be based e.g. on the Latin resource grammar described in Part II and used as domain-specific lesson grammars in the language learning application described Part II.
  • Item
    Understanding, Measuring, and Evaluating Maintainability of Automotive Software
    (2020-08-17) Schroeder, Jan
    Context: The importance of software maintainability is well-addressed by software engineering research, in general. Particularly for object-oriented and open-source software, measurements as a means to represent maintainability are well-established. Nevertheless, there is a lack of a similar understanding for software maintainability of executable models, which are widely used in the automotive industry, predominantly, using Simulink. Maintainability for automotive software is the main setting of this thesis. Software growth and complexity which are concepts related to maintainability are also investigated. Objective: In this thesis, we aim to investigate maintainability for model-based software in the automotive domain. We explore the aspects it consists of, elicit maintainability measurements, and assess their applicability in practice. Additionally, we investigate two approaches to evaluate existing measurement data. First, we show how outliers with a significant impact on software quality can be identified in measurement data. Second, regarding software growth in the context of Simulink models, we show which predictions are relevant to practitioners, how these can be reliably conducted, and which environmental factors software growth is affected by. Lastly, in this thesis, we aim to present a practical implementation of software quality-focused design and evaluation of an automotive software architecture. Method: As Simulink models are widely used in the automotive industry, we always work in close collaboration with practitioners from industry. Hence, the majority of the work presented in this thesis has been performed in the form of case studies within the automotive industry in Sweden and Germany. In addition, we always associate findings from the industry with current research using literature. We use multiple qualitative and quantitative research methods. This includes literature reviews, interviews and workshops with practitioners in industry, surveys, and software measurement with consecutive data analysis and hypothesis testing. Results: In this thesis, we present a categorized list of aspects related to the maintainability of Simulink models, as well as a list of measures for the maintainability of Simulink models ranked by practitioners from industry. We provide evidence that simple size measures can be more applicable maintainability measures in practice than more complex measures. We present an approach to detect impactful outliers in measurement data. Furthermore, concerning software growth, we list environmental factors affecting software growth measurement and prediction. We further provide a collection of practitioners' expectations towards growth predictions and rank prediction approaches for growth measurements by their applicability in industry. Lastly, we present an approach to the design and evaluate a software architecture in the automotive industry. Conclusion: With these results, we provide a taxonomy of maintainability for Simulink models and respective measurements. Together with the methods for data analysis, we move a step towards a common understanding of maintainability for Simulink models which is presently missing. Next to that, we present approaches for maintainability measurement and analysis applicable in practical work environments. Thereby, we facilitate the application of rigorous measurements and analysis in the domain of automotive software.
  • Item
    Improving software traceability tools and processes
    (2020-08-17) Maro, Salome
    Context: Development of large and complex software leads to a large number of interconnected artifacts such as requirements, design models, code and implementation. Traceability enables understanding and managing these artifacts as they evolve. However, establishing traceability is not trivial. It requires the development organization to design effective traceability strategies and provide tools to support the traceability activities. Establishing traceability in practice faces many challenges such as the amount of effort needed to establish traceability, unclear traceability processes and difficulty in measuring the benefits of traceability. Objective: The overall objective of this research is to improve traceability processes and tools in software development. In this thesis we started with exploring the state of the art as well as the state of practice of traceability in order to identify persisting challenges and existing solutions. We then propose and implement solutions for four of the identified challenges: manual work of establishing traceability, lack of configurable tools, diverse artifacts and tools, and unclear traceability processes. Method: To identify existing traceability challenges and solutions, we conducted a systematic tertiary literature review, a multi-vocal literature review, and a case study to understand how these challenges and solutions manifest in practice. To design solutions we took an empirical approach where we used case studies and design science for the different studies. Results: Our results show that there are still many traceability challenges which are not solved by current solutions in literature due to practical constraints and limitations that exist especially in safety critical domains. To address the challenge of manual work needed to maintain trace links we propose a set of important factors and guidelines for traceability maintenance aimed at traceability tool developers and companies acquiring traceability tools. The feasibility of these factors and guidelines are demonstrated through a prototype implementation. The prototype implementation also shows how to design traceability solutions that are both configurable and support tracing to and from diverse artifacts and tools. To address the challenge of manual work in creating traceability links we have investigated how to improve the trace link vetting process as part of a way to transfer automated techniques of creating trace links to industry. We provide insights and lessons learned on how to improve the trace link vetting process. Lastly the thesis proposes a traceability introduction methodology (TracIMo), which consists of concrete steps that companies can take to design, deploy and evaluate traceability strategies.
  • Item
    Understanding and Supporting Software Design in Model-Based Software Engineering
    (2020-02-10) Jolak, Rodi
    Model-Based Software Engineering (MBSE) is a software development approach in which models can serve a multitude of purposes. On the one hand, models can be used for ideation, to stimulate creative thinking, and facilitate communication. On the other hand, models can be used as guidelines for documentation, implementation, and code-generation. There is a discrepancy between empirical findings and developers' beliefs about MBSE. In this research, we address this discrepancy by contributing to the empirical understanding of software design. Moreover, we explore how to better support software design in MBSE. Our endeavor to understand design activities in MBSE resulted in the following: - Creating models while designing prompts significant thinking about the design. - Developers that work on different locations have fewer discussions about design decisions than co-located developers. - In MBSE projects, coordinating and knowledge sharing take more effort than technical engineering activities. - Graphical software design representations (GSD) promote more active discussion of design decisions between developers than textual software design representations (TSD). Also, developers have better recall of design details when using GSD than TSD. In our experience, usability and learning-effort of tools are the most encountered challenges in MBSE. Therefore, we research how to better support the design activities in MBSE by creating two software design environments: OctoUML and OctoBubbles. These tools implement new ways of transitioning from informal- to formal design representations, and novel ways to navigate between implementation-level and design-level in order to ease understanding of systems. Evaluations show enhanced efficiency of the design activities and positive perception of the usability of these environments.
  • Item
    Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models
    (2019-09-18) Truong, Ho-Quang
    Context: In modern software development, software modeling is considered to be an essential part of the software architecture and design activities. The Unified Modeling Language (UML) has become the de facto standard for software modeling in industry. Surprisingly, there are only a few empirical studies on the practices and impacts of UML modeling in software development. This is mainly due to the lack of empirical data on real-life software systems that use UML modeling. Objective: This PhD thesis contributes to this matter by describing a method to build and curate a big corpus of open-source-software (OSS) projects that contain UML models. Subsequently, this thesis offers observations on the practices and impacts of using UML modeling in these OSS projects. Method: We combine techniques from repository mining and image classification in order to successfully identify more than 24.000 open source projects on GitHub that together contain more than 93.000 UML models. Machine learning techniques are also used to enrich the corpus with annotations. Finally, various empirical studies, including a case study, a user study, a large-scale survey and an experiment, have been carried out across this set of projects. Result: The results show that UML is generally perceived to be helpful to new contributors. The most important motivation for using UML seems to be to facilitate collaboration. In particular, teams use UML during communication and planning of joint implementation efforts. Our study also shows that the use of UML modeling has a positive impact on software quality, i.e. it correlates with lower defect proneness. Further, we find out that visualisation of design concepts, such as class role-stereotypes, helps developers to perform better in software comprehension tasks.
  • Item
    Multilingual Abstractions: Abstract Syntax Trees and Universal Dependencies
    (2019-05-24) Kolachina, Prasanth
    This thesis studies the connections between parsing friendly representations and interlingua grammars developed for multilingual language generation. Parsing friendly representations refer to dependency tree representations that can be used for robust, accurate and scalable analysis of natural language text. Shared multilingual abstractions are central to both these representations. Universal Dependencies (UD) is a framework to develop cross-lingual representations, using dependency trees for multlingual representations. Similarly, Grammatical Framework (GF) is a framework for interlingual grammars, used to derive abstract syntax trees (ASTs) corresponding to sentences. The first half of this thesis explores the connections between the representations behind these two multilingual abstractions. The first study presents a conversion method from abstract syntax trees (ASTs) to dependency trees and present the mapping between the two abstractions – GF and UD – by applying the conversion from ASTs to UD. Experiments show that there is a lot of similarity behind these two abstractions and our method is used to bootstrap parallel UD treebanks for 31 languages. In the second study, we study the inverse problem i.e. converting UD trees to ASTs. This is motivated with the goal of helping GF-based interlingual translation by using dependency parsers as a robust front end instead of the parser used in GF. The second half of this thesis focuses on the topic of data augmentation for parsing – specifically using grammar-based backends for aiding in dependency parsing. We propose a generic method to generate synthetic UD treebanks using interlingua grammars and the methods developed in the first half. Results show that these synthetic treebanks are an alternative to develop parsing models, especially for under-resourced languages without much resources. This study is followed up by another study on out-of-vocabulary words (OOVs) – a more focused problem in parsing. OOVs pose an interesting problem in parser development and the method we present in this paper is a generic simplification that can act as a drop-in replacement for any symbolic parser. Our idea of replacing unknown words with known, similar words results in small but significant improvements in experiments using two parsers and for a range of 7 languages.
  • Item
    Formal Methods for Testing Grammars
    (2019-02-15) Listenmaa, Inari
    Grammar engineering has a lot in common with software engineering. Analogous to a program specification, we use descriptive grammar books; in place of unit tests, we have gold standard corpora and test cases for manual inspection. And just like any software, our grammars still contain bugs: grammatical sentences that are rejected, ungrammatical sentences that are parsed, or grammatical sentences that get the wrong parse. This thesis presents two contributions to the analysis and quality control of computational grammars of natural languages. Firstly, we present a method for finding contradictory grammar rules in Constraint Grammar, a robust and low-level formalism for part-of-speech tagging and shallow parsing. Secondly, we generate minimal and representative test suites of example sentences that cover all grammatical constructions in Grammatical Framework, a multilingual grammar formalism based on deep structural analysis.