Kandidatuppsatser
Permanent URI for this collectionhttps://gupea-staging.ub.gu.se/handle/2077/22010
Browse
Recent Submissions
Item Requirements Elicitation From User Feedback Using Real-Time Conversational AI(2024-12-12) Tumenjargal, Altansukh; Balan, Sergey; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringAfter releasing software to public use, the subsequent requirements elicitation phase becomes a critical aspect of the software’s evolution and longevity. User feedback, in turn, becomes a vital source for this process because new requirements can be elicited from this feedback leading to the addition of new functionalities in subsequent releases. This process significantly influences the development process and shapes the form of the software. User feedback can be collected using different approaches like social media networks, application marketplaces, support hotlines and custom feedback forms. However, those approaches often impose challenges, including feedback incompleteness and unclarity leading to additional communication between the development team and end-users making this process time-intensive and causing release delays. Utilizing Design Science Research (DSR), this study investigates the design process and evaluation of a conversational AI chatbot to collect user feedback during a real-time chat conversation to elicit end-user’s requirements. This conversational AI chatbot, developed using the RASA platform, enables real-time interaction with end-users to elicit their requirement. This study is structured as a twocycle development process and evaluation phases of DSR. At the end of the first cycle, we applied a semi-structured interview to discover the chatbot’s downsides. After the second development cycle, we employed an experiment to evaluate the chatbot’s effectiveness in terms of elicited requirements completeness and understandability. The results of the experimental comparison show that the completeness of the elicited requirement is higher than in the filling out standard feedback form approach, however, there is no difference in the understandability of the elicited requirement. The chatbot got positive feedback from primary end-users.Item Requirements Engineering Principles in Large-Scale Agile Systems Development(2024-12-12) Kim, Mijin; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringDespite the increasing popularity of adopting agile methods in large-scale systems engineering, there is no literature about a high-level guideline for requirements engineering (RE) in the field, such as RE principles. This study aims to investigate 1) a real-life example of RE principles to get an overview of the topic, 2) the benefits of RE principles in practices within the context of the case company, and 3) RE principles for large-scale agile systems development. This study uses mixed methods; i.e., case study, focus group and workshop. As a result, the topic of RE principles is examined in the context of the case company and a set of RE principles that could be generally applicable to large-scale agile systems development is identified. The findings are expected to be used as guidelines to improve RE works in organizations.Item Exploring the Characteristics and Challenges in GitHub Actions and Its Ecosystem(2024-12-12) Marof, Kardo; Sayed, Saif; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringIntroduced in 2019, GitHub Actions offers an integrated alternative to traditional CI/CD services specifically for GitHub repositories. This deep integration enables developers to automate a wide range of software development workflows directly within the GitHub environment. Over the years, the GitHub Actions ecosystem has evolved into a mature software ecosystem, experiencing exponential growth in minutes of Actions usage. While previous studies have highlighted similarities between GitHub and package management ecosystems that distribute software libraries, our study provides an in-depth analysis of a dataset comprising 997 online posts from GitHub Discussions and Stack Overflow. These posts address prevalent issues in such ecosystems, including security, breaking changes, obsolescence, and dependency. We empirically demonstrate the prevalence of these issues in GitHub Actions. Our thematic analysis on GitHub Discussion posts and Stack Overflow questions revealed that Security Vulnerability is the most prevalent issue in the GHA ecosystem, followed by Dependency Issues. Obsolescence and Breaking Changes have a similar number of occurrences. Additionally, we analyzed a dataset of 4.1k GitHub repositories to examine the relationships between repository characteristics and their usage of GitHub Actions, focusing on the preference for locally maintained actions versus marketplace actions in light of ecosystem problems. Our results indicate an overall positive reliability of projects utilizing marketplace actions, with a higher correlation of marketplace actions being employed in larger and more complex projects.Item A New Approach to AD/ADAS Test Scenario Generation Using Open-Source Intelligence and Large Language Models(2024-12-12) Zorin, Aleksey; Mercier, Louis; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringIn the evolving field of Autonomous Driving (AD) and Advanced Driver Assistance Systems (ADAS), the growing necessity for realistic simulation data coupled with the dynamic nature of real-world driving situations challenges traditional test scenario approaches. This is heightened by the increased complexity of AD/ADAS which necessitates rigorous testing to ensure safety and reliability. This paper explores a new practical approach to AD/ADAS test scenario generation using Open-Source Intelligence (OSINT), generative Artificial Intelligence (AI) and Scenario Description Languages (SDL). This new approach utilises a vast array of openly accessible data on the Internet and holds potential for future research and applications. The study was performed following the framework of Design Science Research (DSR). In two DSR cycles, an artefact that generates dynamic scenarios by scraping internet sources and completing the scenarios with Large Language Models (LLMs) has been developed. The developed artefact successfully generated scenarios in an automated manner using collected traffic incident data, demonstrating its practicability for AD/ADAS test scenario generation. In conclusion, the combination of OSINT with generative AI for scenario generation holds the potential to be a viable approach for test scenario generation for AD/ADAS systems, potentially extending the existing scenario generation methods with a novel approach based on openly accessible online data. We have shown that the method can generate scenarios using keywords from online texts and adhere to a given scenario format, yet future research is encouraged to explore further and validate this approach to ensure its applicability in the automotive industry.Item Analyzing Java Microbenchmark Harness (JMH) Performance in Open-Source Systems(2024-12-12) Miqdad, Ayah; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringMicrobenchmarking is widely used in Java software testing, especially for open-source projects. This study examines performance measurement practices in open-source Java projects, analyzing 586 microbenchmarks across 30 projects. We investigate performance test durations, stability, and variability, revealing insights through exploratory data analysis and statistical modeling. Our findings offer guidance for achieving steady-state performance and understanding performance measurement patterns. Additionally, we explore performance metric variability, emphasizing the impact of outliers. Our study contributes actionable insights for enhancing software quality and performance in opensource projects. We also employ density plots to visually represent performance metric variability. While acknowledging limitations, our research bridges theory and practice, empowering developers and researchers to optimize Java software performance in real-world scenarios.Item Exposing the gap between Automotive and Cloud Requirements Engineering Practices(2024-10-15) Zsolnai, Georg; Vidackovic, Ivan; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringVehicle-to-Cloud based systems require the engineering of both Automotive and Cloud components working in harmony. On a larger scale, these systems require collaboration between Automotive and Cloud domains or industries; however the problem of compatibility of Requirements Engineering practices, use of prioritisation and outlook on new technology arises as a consequence. Using a Mixed Method study, we interviewed nine professionals within either Cloud or Automotive, to get first hand accounts of Requirement Engineering practices, methods of prioritisation, and their impressions of the effect of future Technologies on Requirements Engineering. Through the use of interviews and subsequent surveys, using Thematic Analysis, we drafted themes to help us conclude on interviewee testimonies. The results showed that both Cloud and Automotive used similar RE practices but differed in the way they prioritised requirements due to a misalignment where Cloud focused on Security and Automotive on Safety. Both however, recognised the possible contribution of new technology on Requirements Engineering but cited the strict regulations in their company and well established Requirements Engineering processes as reasons that new technology will only remain a help to existing processes rather than changing or replacing them.Item How well can ChatGPT create user stories compared to humans?(2024-02-29) Akin, Enes; Meattle, Himank; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringUser stories are widely used in Agile software development yet in practice they are usually poorly written. Researchers have been conducting studies to explore ways to improve user stories and evaluate their quality, but none of them focuses on the newly released ChatGPT’s abilities to create user stories yet. INVEST grid method suggests using a 0-3 rating to evaluate user stories based on each INVEST attribute. This study seeks to identify ChatGPT’s (GPT-3.5) abilities to create user stories, its strengths and weaknesses. We conducted an experiment to gather user stories from six participants and handed out a survey (survey 1) to gain insights from their experiences. 60 user stories were created during the experiment and rated by 27 respondents in survey 2. Based on survey 1 responses, we identified that ease of use, time efficiency and providing a good starting point are some of ChatGPT’s strengths, and lack of creativity and creating incomplete user stories are some of its weaknesses. Ratings gathered from survey 2 showed that ChatGPT can generate user stories of similar quality to those created by humans while taking less time. Our findings suggest that ChatGPT has the potential to improve the user story creation process.Item On Expressing Automotive Maneuvers with SFC(2023-10-05) Cui, Zizhuang; Li, Jiacheng; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringConventional methods for testing autonomous driving software often involve dealing with a large number of dimensions, which can complicate the processing and analysis of test datasets. Therefore, there is a pressing need to develop a more efficient approach that is both time and cost-effective. In response to this challenge, our research aims to utilize space-filling curves to effectively represent possible maneuvers within high-dimensional autonomous driving data. This study begins by conducting a comprehensive literature survey to explore the existing applications of spacefilling curves in the automotive domain. This investigation helps us gain insights into the current state of the field and understand how space-filling curves can be applied to address the complexities of autonomous driving. Additionally, we also review the literature concerning autonomous driving taxonomies to comprehend how existing taxonomies define various autonomous driving maneuvers, events, and scenarios.Item A study on Fault Identification in Continuous Integration Pipelines using Machine Learning(2023-09-27) Maruf, Zubeen; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringItem Comparing the impact of using different platforms to test embedded systems: a case study(2023-09-27) Ismail Mohammad, Asiya; Yosofi, Kamila; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringEmbedded systems testing is a vital step in the development and production of embedded devices. This process can assure developers that the embedded device performs as expected and there will be no harm brought to the user. Debugging embedded firmware is a very tricky and complicated process that engineers will undergo during development. Having the right tools and environments to achieve maximum efficiency in performance, and quality in test reports and log messages are important and can be a game changer for engineers going through these processes. This study is conducted as a single case study with Scionova AB, an embedded system company, by interviewing the company’s practitioners and running test cases on a virtual and hardware device. Therefore, the purpose of this study is to observe, analyze, compare, and discuss the different ways a chosen virtual device and its respective hardware device impact the testing andndebugging of embedded systems.Item Performance Evaluation of HTTP/3 as an Interservice Communication Mechanism(2023-09-27) Milicevic, Mislav; Sjöblad, Sofia; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringThe HTTP protocol is widely used for communication and data transfer on the internet. HTTP requests are sent from clients to servers, and the servers respond with the requested data. HTTP is not limited to web pages, but can be used for any service that provides resources when requested. The most recent version of HTTP, HTTP/3, uses a new transport protocol called QUIC, which provides increased performance by improving on the connection handshake and multiplexing processes. This paper aims to perform a performance analysis of HTTP/3 in an interservice communication system, focusing on latency and throughput. The research will compare HTTP/3 to HTTP/2, and also explore the practical implications of the performance analysis. To gain real-world insight, the study will partner with WirelessCar, an automotive software company that maintains high throughput services built on HTTP.Item A Case Study on the Limitations of Automated Duplicate Bug Report Detection(2023-09-26) Götharsson, Malte; Stahre, Karl; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringIdentifying duplicate bug reports is crucial in software development as it helps streamline the debugging process, reduce redundancy, and enhance overall efficiency. By addressing the challenges associated with existing automated techniques and leveraging testers’ expertise, the tool proposed in this study aims to improve the accuracy of duplicate detection, saving valuable time and resources while ensuring that potential duplicates are not overlooked. While various automated techniques for identifying duplicate bug reports have been previously described in literature, they often result in false positives or identified duplicates that testers would not consider as such [8]. To address this we propose Bugle, a software tool that incorporates a state-of-the-art large language model and involves the opinions of testers when evaluating potential duplicate bug reports in real-time. Our approach leverages testers’ tacit knowledge and intuition to improve the accuracy of duplicate detection and reduces the amount of false positives by letting the tester evaluate a ranked list of recommended duplicates with the highest semantic textual similarity. We evaluate the tool in a case study at TestScouts, a testing consulting company, and analyze the recommendations of the tool against the judgement of a group of testers at the company. Besides Bugle, we contribute to the state-of-the-art by incorporating testers’ opinions and provide insights into the limitations of automated techniques for duplicate bug report detection.Item Digital Twins for Verification and Validation of CPS(2023-09-21) Yasser, Ahmed; Broberg, Axel; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringThis paper proposes standardizing the usage and practices of Digital Twins (DTs) for the seamless digital-tophysical transition of Cyber-Physical Systems (CPS) to assure their safety. It recommends adopting Artificial Intelligence (AI) methods and following Requirements Engineering principles (RE) for strong Verification and Validation (V&V) processes. DTs offer numerous advantages in various industries, but there is significant ambiguity over their definitions and meanings, leading to a lack of knowledge about standards and best practices. The research aims to identify potential areas for development by examining current practices along with challenges encountered by practitioners via interviews when employing DTS with CPS, and proposing better practices or guidelines for building and maintaining DTs. This study can significantly elevate DT adaptation in many work environments by preventing safety, ethical or privacy gaps and ensuring successful performance and widespread acceptability across various sectors with this standardization step.Item End User Study of an Engineering Design Tool(2023-09-21) Johnson, Ina; Eriksson, Ann-Sofie; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and Engineering[Context and Motivation] PROSIT+ Designer is a Volvo Group-developed application focused on operational development for vehicle production. Since its launch, 15 years ago, PROSIT+ Designer has not had any major revisions or updates. [Question/problem] The frustrations from end users are, as a result, piling up. The purpose of this study is to develop solutions to help solve or at least minimize these frustrations amongst the end users. This research contributes to filling a gap in the literature in the field of user satisfaction relating to engineering design tools. [Results] By conducting and analyzing interviews using thematic content analysis, common patterns, and problem areas within the application were identified and solutions to those were presented in user flows and a lo-fi prototype. [Contribution] In conclusion, performing this end-user study unveiled problems with the UI, system functionalities, and testing in PROSIT+ Designer. Whilst suggested solutions were presented, there is still more work to be done to prove that these solutions make a difference for the end-users at Volvo Group.Item A Software Process Workflow for Smart Anomaly Detection Systems(2023-08-16) Gouws, Vernita; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringThe use of smart anomaly detection systems is set to increase at organisations during the Industry 4.0 era, for use in Predictive Maintenance (PdM). The European Spallation Source (ESS) serves as a representative organization in this study where a novel software process workflow is proposed to facilitate the effective implementation of robust anomaly detection systems. The research addresses the software engineering (SE) aspects of these systems, offering valuable insights for software engineers and researchers interested in predictive anomaly detection (PAD). Employing a design science research approach, the study identifies current challenges and proposes potential solutions for developing these systems at the ESS facility. The proposed SE workflow aims to modularize engineering efforts, thereby enabling the creation of highquality systems, and contributing to the advancement of rigorous software systems for anomaly detection.Item Achieving Cost-Effective Testing for Serverless Based Applications(2023-08-07) Danielsson, Edvin; Sastrawidjaya, Gregory; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringTesting serverless applications poses unique challenges compared to traditional applications, such as the abstraction of its inner workings and how the pay-per-usage model means tests incur monetary costs. With the goal of studying practitioner’s approaches on this topic of cost-efficiency, we conducted five interviews and distributed a survey which received six responses. The questions were around testing practices, cost factors, and evaluation of cost-efficiency. After an inductive thematic analysis, the results revealed that the importance of unit tests increases as the development of serverless applications progresses. Participants emphasized the significance of monitoring metrics, particularly response time, to ensure optimal performance and validity. To mitigate costs, they employed strategies such as the incorporation of observability tools, granularity, wherein they reduced the size and scope of functions, and utilized local emulation for smaller tasks. Additionally, the choice of serverless provider emerged as a topic of discussion, as participants faced challenges in smoothly transitioning between vendors due to the varying advantages offered by each provider. These results provide insight into the challenges of achieving cost-effective testing for serverless-based applications — though we believe the topic should receive further attention in research due to how new this field is.Item Prompt engineering guidelines for LLMs in Requirements Engineering(2023-08-07) Arvidsson, Simon; Axell, Johan; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringThe rapid emergence of large generative AI models has demonstrated their utility across a multitude of tasks. Ensuring the quality and accuracy of the models’ output is done in different ways. In this study, we focused on prompt engineering. Prompt engineering guidelines for how to utilize large generative AI models in the field of requirements engineering are limited in the literature.The objective of this study was to explore the potential advantages and limitations of the possible application of existing prompt engineering guidelines from the literature in requirements engineering. To achieve this goal, we conducted a systematic literature review on prompt engineering guidelines to gather guidelines which could be applicable to various tasks. Subsequently, we considered different requirements engineering activities and their characteristics before proposing a mapping of our gathered guidelines to requirements engineering activities. Furthermore, we conducted interviews with three requirements engineering experts to gain further perspectives on our findings and mapping suggestions. Through thematic analysis, we extracted the advantages and limitations of the mapping. While our review shows how prompt guidelines for domain-specific tasks still are limited in literature, we did identify prompt guidelines in the current literature which show promise when working with an LLM in the practice of requirements specification. Additionally, we draw the conclusion that large generative AI models as we know them might not be fully ready for certain tasks in requirements engineering and suggest future work to explore how guidelines could be adapted to fit other requirements engineering tasks better.Item On Systematically Exploring the State Space for Events with SFCs(2023-08-07) Akel, Younis; Iachella, Gianmarco; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringIn the process of developing autonomous driving systems (AD systems), ensuring safety remains a constant and continuous priority. Scenario-based testing is a popular approach to guarantee the safety of AD systems, which however meets challenges in terms of diversity and efficiency of generation, as well as evaluating existing test case datasets in terms of their coverage of the different variations of a particular maneuver. This research aims to support approaches for diverse and efficient scenario-based testing generation through the application of space-filling curves in determining the state space of specific vehicle maneuvers. The research goal is addressed through the use of design science, in which we produce an artifact consisting of a theoretical approach that acts as an initial foundation for an algorithm that efficiently generates diverse variations of specific maneuvers. An important discovery made in this research is understanding how SFC encoding impacts the way permutations are generated, and the implications of this in terms of what is required to ensure plausible maneuvers are permuted. This research mainly provides an initial theoretical approach to generate permutations of a limited subset of lane change maneuvers based on defined constraints.Item Comparing the Locality Preservation of Z-order Curves and Hilbert Curves(2023-08-03) Nordin, Alex; Telles, Adam; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringDeveloping and testing software in the automotive industry and in the research of autonomous vehicles requires the costly querying of multidimensional data recorded from such a vehicle’s various sensors. Through encoding such data using space filling curves, faster queries could be achieved by reducing multiple dimensions into a singular dimension, while exploiting the patterns that emerge in the one-dimensional representation to still get accurate search results. The aim of our study is to systematically compare key behaviors of Hilbert and Morton space-filling curves when applied to realistic automotive sensor data. We applied design science research to develop an experimental environment to investigate the proposed querying method and the comparative results in using either Morton or Hilbert curves with this method. This allowed us to establish some design heuristics for future applications employing this method. We found that asymmetry in data can have a strong deleterious or advantageous effect on event querying, and surprisingly little difference in the True Positive to False Positive ratio of search results between Morton and Hilbert curves. Overall, we prove the viability of this use of both Morton and Hilbert curves for up to eight dimensions of data.Item Managing Software Development in a Small Non-IT Company – A Case Study(2023-08-03) Puerto Gutiérrez, Markus Emilio; Järveläinen, Markus; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and EngineeringWe have done a case study on a small sheet metal construction company in Sweden that is developing their own software that will be beneficial for their business. We interviewed staff from different roles in the company and performed thematic analysis on the data we collected. This study might show what is needed from the management of a small non-IT company to be able to manage both their main business and the additional activity of software development. It might also show beneficial habits in the software development process in a company like this. We could not come across many examples of very similar cases, which made us believe that this topic needed to be studied. We found that in this company there are many things that contribute to making it possible for the dual activity to take place. For example, the varied skills that some of the staff members had made it easier for them to take on different tasks, and also that the managers had the will to see the software succeed despite several drawbacks. We hope that our findings might be useful for other companies that want to develop software, or for future research work that includes more companies.