Software Technology and Software Development
Permanent URI for this collectionhttps://hdl.handle.net/10125/107583
Browse
Recent Submissions
Item type: Item , DRAMA at the PettingZoo: Dynamically Restricted Action Spaces for Multi-Agent Reinforcement Learning Frameworks(2024-01-03) Oesterle, Michael; Grams, Tim; Bartelt, ChristianThe Agent Environment Cycle (AEC) of PettingZoo has been a major paradigm shift in the implementation of Multi-Agent Reinforcement Learning (MARL) frameworks, providing a unified and concise interface for any kind of multi-agent environment. Based on this model, we propose DRAMA, a principled approach for dynamic action space restrictions. DRAMA can be used to add statically computed physical constraints as well as a self-learning multi-agent governance: It generalizes the idea of action masking to continuous action spaces and self-learning restrictions, while being fully compatible with the AEC implementation of PettingZoo—and, by transitivity, with most major MARL frameworks. In this paper, we provide the theoretical background of restricted multi-agent systems, present an extension of PettingZoo via wrapper classes, and show the potential of our approach for various use cases. By treating dynamic restrictions as an additional player of a multi-agent system, our approach offers novel capabilities and flexibility in handling multi-agent environments and thus serves as a valuable tool for researchers and practitioners in the field.Item type: Item , The Low-Code Phenomenon: Mapping the Intellectual Structure of Research(2024-01-03) Naqvi, Syed Asad Ali; Zimmer, Markus; Drews, Paul; Lemmer , Kristina; Basole, RahulThe term low-code has been closely associated with simplifying and accelerating software development. Driven by the idea that low-code can help to meet the increased digitalization demands, the low-code phenomenon is rising in academia and industry. This resulted in an immense increase in publications on low-code, posing the question of what research streams characterize the low-code literature. We conducted a bibliometric analysis based on 725 articles. Out of these 725 articles, we selected 105 articles with the term ”low-code” in the title or abstract. Our contribution is to clarify the conceptual understanding of low-code by identifying six research streams, namely, origins of low-code within software engineering, low-code as an enabler for emerging software engineering trends, workplace transformation, establishing low-code methodologies, understanding low-code adoption and leveraging low-code for digital transformation. We conclude with future research directions that still need to be explored within the low-code literature.Item type: Item , Don't Buy the Pig in a Poke: Benchmarking DNNs Inference Performance before Development(2024-01-03) Völter, Constantin; Koppe, Timo; Rieger, PhillipAs deep neural networks (DNNs) are increasingly used in practical settings, developers often adopt pre-existing DNN architectures from a vast collection of well-established models. However, in industrial environments, factors beyond simply achieving high accuracy are becoming important. The runtime performance is critical, as delays can lead to conveyor stops or equipment damage. Currently, determining the runtime performance of a DNN requires multiple iterations and testing specific configurations, whereas existing methods for benchmarking DNNs mainly compare different hardware or runtime parameters. We present tritonPerf, an approach to obtain and compare the runtime (latency and throughput) for a broad range of settings and existing DNN architectures in the final application environment. It allows data scientists to evaluate the performance and compare the results for a wide range of models before time and resource-intensive hyperparameter tuning is performed. We demonstrate the gain of tritonPerf in an extensive field study using an industrial setting, where we benchmark and compare the runtime of 57 different models.Item type: Item , The Rise of Generative AI in Low Code Development Platforms – An Analysis and Future Directions.(2024-01-03) Bruhin, Olivia; Dickhaut, Ernestine; Elshan, Edona; Li, MaheiThis study investigates the relationship between Generative Artificial Intelligence (GAI) and Low Code Development Platforms (LCDPs), providing preliminary insights into GAI's transformative potential in this context. It is based on expert interviews and provides insight into the changing landscape of LCDPs influenced by GAI. The findings highlight the promising benefits of GAI in LCDPs, such as increased efficiency and decreased errors, while also emphasizing the importance of human oversight and collaboration. The findings also highlight the importance of interpersonal skills in IT, even in an increasingly automated environment. While the economic efficiency and broader implications of GAI are still being investigated, the study lays the groundwork for future research in this rapidly evolving domain.Item type: Item , Investigating an Industry Practical Model for Confidence in Expert Cost Estimation of Feature Enhancement Requests(2024-01-03) Port, Daniel; Taber, BillMONTE is a mission-critical system used by NASA for navigation and design of deep space missions. It has been used in over 40 missions over the last 18 years and is continually evolving. One of the most difficult problems in managing the maintenance of MONTE is estimating cost. For pragmatic reasons, cost estimates for implementing new features are provided by expert judgment. However, to properly manage our resources, we must have a high degree of confidence in these estimates. Historically we used the traditional three-point “best-to-worst” triangular distribution to obtain confidence. Unfortunately, this approach does not provide confidence that match reality. We have discovered that the relative error in expert judgment cost estimates of new features is modeled very well as an exponentially distribution. Now we use this to obtain cost estimates with confidence that is practical, justified, and matches our reality remarkably well. This work presents our investigation of the error in expert judgment cost estimates and how we currently make practical use of it. We also investigate the importance of having experts performing the estimates by comparing their error distribution characteristics with non-expert estimators. We establish the necessary assumptions and conditions for which the model applies so it can be used more generally.Item type: Item , Performance Comparison Analysis of ArangoDB, MySQL, and Neo4j: An Experimental Study of Querying Connected Data(2024-01-03) Sandell, Johan; Asplund, Einar; Ayele, Workneh Yilma; Duneld, MartinChoosing and developing performant database solutions helps organizations optimize their operational practices and decision-making. Since graph data is becoming more common, it is crucial to develop and use them in big data with complex relationships with high and consistent performance. However, legacy database technologies such as MySQL are tailored to store relational databases and need to perform more complex queries to retrieve graph data. Previous research has dealt with performance aspects such as CPU and memory usage. In contrast, energy usage and temperature of the servers are lacking. Thus, this paper evaluates and compares state-of-the-art graphs and relational databases from the performance aspects to allow a more informed selection of technologies. Graph-based big data applications benefit from informed selection database technologies for data retrieval and analytics problems. The results show that Neo4j performs faster in querying connected data than MySQL and ArangoDB, and energy, CPU, and memory usage performances are reported in this paper.Item type: Item , Overcoming Test Debt and Advancing Software Sustainability with Automated Testing: A B2B Trading Platform Case Study(2024-01-03) Zhang, Xiaoge; Sharma, Bhavika; Koppe, TimoThis paper explores the current state of software quality assurance (SQA) practices with a focus on test automation. It applies these practices to a B2B online trading platform and builds a conceptual framework to implement automated end-to-end (E2E) tests for a critical business process and develop a test debt payback approach to increase unit test coverage. Our research follows the Design Science Research (DSR) methodology and offers deep insights through collaboration with the business and development team. The paper concludes by providing strategical and operational recommendations for organizations looking to improve their SQA processes. Overall, the study highlights the importance of SQA and test automation for long-lasting software and demonstrates concrete approaches for solving common challenges in the field.Item type: Item , Enhanced Transport Mode Recognition on Mobile Devices(2024-01-03) Skretting, Anders; Grønli, Tor-Morten; Majchrzak, Tim A.; Mateos, Cristian; Hirsch, MatiasEstablishing the context of users of mobile applications is essential to provide the users with relevant information and functionality associated with the user's location or situation. Context aware solutions adapt its behaviour to fit the situation the user is situated in by making certain information or functions available. They are applicable to most kinds of modern systems; public transportation systems are no exception. To achieve intelligent transportation, it is vital to determine contextual information related to travelers, such as which vehicle is currently used and where the travelers boarded or disembarked. This contributes towards more seamless public transport ticketing and provides public transport operators with enriched data. In this paper, we suggest an approach, using machine learning, to determine a traveler's mode of transport using mobile sensor data from the traveler's smartphone. The trained machine learning models can infer the mode of transport with high accuracy using off-the-shelf technology.Item type: Item , Energy Efficiency and Classification Locality: Pareto-optimal trade-offs in multi-class sensor-based Human Activity Recognition(2024-01-03) Hoof, Thomas; Buchwitz, BenjaminHuman Activity Recognition (HAR) is one of the central analytical workloads on wearable devices and effective solutions often require methods from machine learning or artificial intelligence to perform activity classification. Contrary to the hardware in wearable devices, these algorithms have mainly been developed without strict constraints on processing power, memory footprint, or storage space. Wearable applications, therefore, need to simultaneously balance at least the energy consumption of the device and the predictive performance of the algorithms. A plethora of software development kits and frameworks aim to bring those algorithms to smaller ultra-low power Systems-on-Chip (SoCs) and promise efficient execution of analytical workloads. In this study, we provide a holistic view of hardware, algorithms, and software that is useful to build smart wearable devices and provide guidance to researchers and practitioners for the selection of algorithms, configurations, and toolsets that, in combination, provide a Pareto-optimal trade-off between energy consumption and classification performance.Item type: Item , Behavioral Aspects of Agile Software Development: A Case Study on Meeting Practices(2024-01-03) Stray, Viktoria; Moe, Nils Brede; Bergersen, Gunnar; Kirkerud, JeanetteIn FinTech organizations, there are trends toward employing agile methods, moving away from legacy monolithic technical architecture to microservices architecture, and focusing on collaboration and autonomy to boost innovation. When software teams have end-to-end responsibility and decision-making authority, they avoid handovers between teams and can develop software more quickly. Furthermore, effective coordination through meetings and digital collaboration tools is important for the success of the development of software applications. We conducted a case study in a large FinTech organization to understand behavioral aspects of software development and, specifically, their meeting practices. The results show that employees spend nearly half of their workday in meetings, posing challenges to productivity and availability. Strategies to reduce interruptions include blocking time in calendars, grouping meetings, and using digital tools such as Slack. Our findings indicate that achieving a balance between collaborative activities and uninterrupted work is not only challenging but essential in software development organizations. Consequently, it is important that team members discuss and actively experiment with various strategies to optimize this balance.Item type: Item , PosEmo – An automated system for measuring user interest and attitude in real time(2024-01-03) Buchwald, Mikolaj; Kupinski, Szymon; Nowak, Jan; Biadala, Magdalena; Behnke, MaciejGiven the increasing prevalence of digital services across various aspects of life, it has become crucial to understand and recognize the mental states of individuals interacting with artificial systems. To address this concern, we aimed to develop the PosEmo – an automated application that can assess individuals' affective states using a video web camera. While studying affective states, we focused on two kinds of emotional behavior: approach/avoidance behavior and behavioral freezing/activation. To measure these behaviors, we use computer vision techniques to track the movement of the participant's head in video recordings, as well as in real-time video streaming. This method offered the seated research participant convenience, replicability, and non-intrusiveness. Drawing from established theoretical frameworks and supported by initial empirical findings, we developed the software and validated it in the online experiment. We found that PosEmo recognized whether people watched negative, neutral, or positive videos. Thus, our innovative approach enables us to accurately estimate people's affective states. In sum, by adopting a human-centered approach, we combined artificial intelligence methodologies to create an innovative system supporting human-computer interaction. Our system's potential research applications span various domains, such as psychology, cognitive science, usability studies, psychotherapy sessions, content quality assessment, and education.Item type: Item , Making Team Projects with Novices More Effective: An Experience Report(2024-01-03) Paradis, Carlos; Kazman, Rick; Peruma, AnthonyComputer Science Capstone projects have shifted to offer more opportunities for students to engage with stakeholders as a team to simulate a real-life work scenario. Most works focus on the class design modifications and requirements for both students and stakeholders. However, discussions on how said requirements are instantiated in a concrete software development process that can accommodate both students and stakeholders are only briefly presented, and challenges are presented from a class standpoint. This work provides an experience report of one project in the Information and Computer Sciences --- ICS 496 --- at the University of Hawaii at Manoa.Item type: Item , Introduction to the Minitrack on Software Technology and Software Development(2024-01-03) Majchrzak, Tim A.; Grønli, Tor-Morten; Kaindl, Hermann
