{"title":"Navigating the DevOps landscape","authors":"Xinrui Zhang , Pincan Zhao , Jason Jaskolka","doi":"10.1016/j.jss.2024.112331","DOIUrl":"10.1016/j.jss.2024.112331","url":null,"abstract":"<div><h3>Context:</h3><div>DevOps, with its increasing prevalence in both industry and academia, has evolved into various DevOps variants (namely XOps) to address emerging technological and operational challenges. However, this proliferation has created confusion and a lack of clarity about the systematic understanding of these XOps and their interrelationship in the DevOps landscape, leading to fragmented knowledge and application.</div></div><div><h3>Objective:</h3><div>This research seeks to construct a comprehensive picture of the existing DevOps landscape, clarifying the nature and nuances of various XOps, to guide effective future studies and implementations.</div></div><div><h3>Method:</h3><div>Utilizing Multivocal Literature Review (MLR), 80 gathered documents are thoroughly examined from throughout the whole community, encompassing both white and grey literature, to map the DevOps landscape.</div></div><div><h3>Results:</h3><div>Our review systematically discovered 38 XOps terms and 13 well-studied XOps including AIOps, BizDevOps, CloudOps, DataOps, DevSecOps, FinOps, GitOps, MLOps, ModelOps, NetDevOps, NoOps, SecDevOps and TwinOps. We provided dictionary-like resource that elucidates the core concepts and main ideas associated with each XOps. An in-depth understanding of intricate evolution from DevOps to XOps is delved into, supplemented by the research of relationships between XOps and various technological enablers as well as relationships between XOps and organizational teams, contributing to the ongoing dialogue surrounding their application and evolution.</div></div><div><h3>Implications:</h3><div>This paper provides a foundational understanding of the DevOps landscape including open issues and challenges, current and future trends, assisting both researchers and practitioners in navigating this complex field. It establishes a platform for further research and practical applications in the evolving field of DevOps and XOps.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"223 ","pages":"Article 112331"},"PeriodicalIF":3.7,"publicationDate":"2025-01-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143386682","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Shuo Li , Haocheng Gao , Wei Chen , Yi Li , Haoxiang Tian , Chengwei Liu , Dan Ye
{"title":"Characterizing and detecting Python version incompatibilities caused by inconsistent version specifications","authors":"Shuo Li , Haocheng Gao , Wei Chen , Yi Li , Haoxiang Tian , Chengwei Liu , Dan Ye","doi":"10.1016/j.jss.2025.112337","DOIUrl":"10.1016/j.jss.2025.112337","url":null,"abstract":"<div><div>Python interpreter serves as the foundation for developing Python projects. Configuring compatible Python version is essential for packaging and reusing third-party libraries (TPLs) in the Python ecosystem. When the Python distribution version range constraint of a third-party library is incorrectly declared, it may lead to installation failures or runtime errors when the library is used by a client project. We call such errors Python Distribution Version Specification Error (PDSpecErr). PDSpecErrs are not studied adequately and there still lacks a method to guarantee the correctness of Python version specifications. To combat PDSpecErrs and mitigate their adverse impacts on downstream applications, we conducted the first exploratory study on 3000 real-world TPLs to investigate PDSpecErrs about their prevalence, symptom categories, and diagnostic patterns. Based on the comprehensive study, we designed and implemented <strong>PyChecker</strong>, a tool to automatically detect PDSpecErrs in TPLs, locate root causes, and generate fixing solutions. We evaluated PyChecker on 3000 TPL releases and PyChecker detected 842 PDSpecErrs, reporting their root causes and recommending fixing solutions. We have reported 52 PDSpecErrs to the concerned developers. So far, 32 issues have been confirmed and fixed according to our suggestions.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112337"},"PeriodicalIF":3.7,"publicationDate":"2025-01-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104112","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mona Nashaat, Reem Amin, Ahmad Hosny Eid, Rabab F. Abdel-Kader
{"title":"An enhanced transformer-based framework for interpretable code clone detection","authors":"Mona Nashaat, Reem Amin, Ahmad Hosny Eid, Rabab F. Abdel-Kader","doi":"10.1016/j.jss.2025.112347","DOIUrl":"10.1016/j.jss.2025.112347","url":null,"abstract":"<div><div>In software development, the replication of specific source code segments is known as code cloning. This practice allows reusing source code instead of developing these segments from scratch, enhancing software productivity. However, code cloning can introduce bugs, complicate code refactoring, and increase maintenance costs. Consequently, code clone detection (CCD) is an essential concern for the software industry. While various techniques have been proposed for detecting code clones, many existing tools generate a high ratio of false positives/negatives and a need for more contextual awareness. Therefore, this paper introduces CloneXformer, an innovative framework for code clone detection. The framework adopts a collaborative approach that harnesses multiple large language models for code understanding. The framework employs a preliminary phase to preprocess the input code, which helps the models understand and represent the code efficiently. Then, it captures the semantic level of the code and the syntactic level as it relies on a set of transformer-based models. Afterward, these models are finetuned to detect code clones with interpretable results that explain the detected clone types. Finally, the output of these models is combined to provide a unified final prediction. The empirical evaluation indicates that the framework improves detection performance, achieving an approximately 16.88 % higher F1 score than the state-of-the-art techniques.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112347"},"PeriodicalIF":3.7,"publicationDate":"2025-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104113","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Amr S. Abdelfattah , Tomas Cerny , Md Showkat Hossain Chy , Md Arfan Uddin , Samantha Perry , Cameron Brown , Lauren Goodrich , Miguel Hurtado , Muhid Hassan , Yuanfang Cai , Rick Kazman
{"title":"Multivocal study on microservice dependencies","authors":"Amr S. Abdelfattah , Tomas Cerny , Md Showkat Hossain Chy , Md Arfan Uddin , Samantha Perry , Cameron Brown , Lauren Goodrich , Miguel Hurtado , Muhid Hassan , Yuanfang Cai , Rick Kazman","doi":"10.1016/j.jss.2025.112334","DOIUrl":"10.1016/j.jss.2025.112334","url":null,"abstract":"<div><h3>Background:</h3><div>Understanding dependencies within microservices is essential for maintaining and evolving scalable and efficient software architectures. Dependencies influence how changes in one microservice might propagate to other microservices. With the decentralized nature of microservices, these dependencies might not be explicit to developers and lead to unique challenges in modern software development environments.</div></div><div><h3>Objective:</h3><div>The objective of this study is to synthesize existing literature on microservice dependencies, identify the types of dependencies, and examine the strategies employed to manage and analyze these relationships. This effort aims to elucidate how dependencies affect microservice systems and to provide a comprehensive overview of dependency management within microservices.</div></div><div><h3>Method:</h3><div>We conducted a multivocal literature review, starting with an initial dataset of 1,733 papers from academic literature (white literature). This corpus was narrowed down through a rigorous filtering process to 45 key publications that address the identification, management, and impacts of dependencies in microservices. Additionally, we incorporated 926 articles from grey literature sources such as Google, Stack Overflow, and Stack Exchange, expanding the scope beyond traditional academic research. After the filtration process, 45 articles were fully synthesized to integrate practical insights and professional experiences into our review.</div></div><div><h3>Results:</h3><div>The review identifies several types of dependencies in microservice systems and synthesizes this information into a unified dependency taxonomy. This review highlights a range of approaches to dependency management, revealing a significant gap in systematic catering approaches to generate taxonomies for dependencies and the need for integrated management tools. The findings underscore the fragmented nature of existing dependency management practices and the potential for more holistic approaches.</div></div><div><h3>Conclusion:</h3><div>This study provides valuable insights for researchers and practitioners, outlining effective strategies and pointing out areas needing improvement in dependency management. By offering a structured overview of the topic, the study serves as a roadmap for future research and development efforts to enhance the robustness and maintainability of microservices.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112334"},"PeriodicalIF":3.7,"publicationDate":"2025-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104118","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elena Pretel, Luis Zhinin-Vera, Elena Navarro, Víctor López-Jaquero, Pascual González
{"title":"MAS4DT: A novel proposal for developing Digital Twins following a Multi-Agent system approach","authors":"Elena Pretel, Luis Zhinin-Vera, Elena Navarro, Víctor López-Jaquero, Pascual González","doi":"10.1016/j.jss.2025.112344","DOIUrl":"10.1016/j.jss.2025.112344","url":null,"abstract":"<div><div>The Digital Twin (DT) concept has evolved into its current definition since its creation in 2003. It now comprises a physical entity and its virtual counterpart, plus their interrelated data connections and uses the virtual counterpart to monitor, simulate, control, and predict the physical entity's behaviour. Most of the proposals in this field have focused on specific use cases rather than on describing the proper guidelines for designing DTs. This paper addresses a significant research challenge by means of a domain-agnostic proposal for DT design. Our new proposal, <em>MAS4DT</em>, is a method for guiding stakeholders in their DT designs following the Multi-Agent Systems (MAS) paradigm, so that the MAS provides the support for the development of the virtual counterpart of the DT. In this work, the application of MAS4DT is illustrated by a DT wind turbine design. We also describe MAS4DT's evaluation in a controlled experiment of its understandability with regard to the 5 dimensions model, another well-known proposal for this type of design. The evaluation was designed considering the properties that a DT should support. The results show that MAS4DT outperforms the 5 dimensions model and indicates its potential use for DT design. Finally, this controlled experiment represents the first empirical validation of proposals for developing DT. The design of this controlled experiment can be used in subsequent similar evaluations.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112344"},"PeriodicalIF":3.7,"publicationDate":"2025-01-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104088","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Valtteri Siitonen , Saima Ritonummi , Markus Salo , Henri Pirkkalainen , Saija Mauno
{"title":"Coping with technostress in the software industry: Coping strategies and factors underlying their selection","authors":"Valtteri Siitonen , Saima Ritonummi , Markus Salo , Henri Pirkkalainen , Saija Mauno","doi":"10.1016/j.jss.2025.112341","DOIUrl":"10.1016/j.jss.2025.112341","url":null,"abstract":"<div><h3>Background</h3><div>Software industry employees are subject to the harmful effects of technostress, which is caused by information technology use.</div></div><div><h3>Aim</h3><div>The aim of the current study is to understand how software industry employees cope with technostress and how their employers can best support these coping efforts.</div></div><div><h3>Method</h3><div>We employed the critical incident technique using a qualitative approach and collected our data through a questionnaire. In total, we collected and analyzed 715 real-life accounts of coping with critical technostress incidents from employees working in the industry.</div></div><div><h3>Results</h3><div>We identified 27 strategies for coping with technostress and provided a comprehensive categorization of them. Additionally, we uncovered novel coping strategies and highlighted the contextual (organizational and personal) factors that influence the selection of coping strategies.</div></div><div><h3>Conclusions</h3><div>Our findings help in explaining the reasons and motives for up-taking specific coping strategies in the software industry. Based on our findings, employees invest considerable effort into coping with technostress, but do not receive enough support for their coping efforts. We offer insightful suggestions for support mechanisms that could be used by software organizations to enhance employees’ coping efforts and well-being.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"225 ","pages":"Article 112341"},"PeriodicalIF":3.7,"publicationDate":"2025-01-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143479177","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pyry Kotilainen , Niko Mäkitalo , Kari Systä , Ali Mehraj , Muhammad Waseem , Tommi Mikkonen , Juan Manuel Murillo
{"title":"Allocating distributed AI/ML applications to cloud–edge continuum based on privacy, regulatory, and ethical constraints","authors":"Pyry Kotilainen , Niko Mäkitalo , Kari Systä , Ali Mehraj , Muhammad Waseem , Tommi Mikkonen , Juan Manuel Murillo","doi":"10.1016/j.jss.2025.112333","DOIUrl":"10.1016/j.jss.2025.112333","url":null,"abstract":"<div><div>There is an increasing need for practitioners to address legislative and ethical issues in both the development and deployment of data-driven applications with AI/ML due to growing concerns and regulations, such as GDPR and the EU AI Act. Thus, the field needs a systematic framework for assessing risks and helping to stay compliant with regulations in designing and deploying software systems. Clear and concise descriptions of risks associated with each model and data source are needed to guide the design without acquiring deep knowledge of the regulations. In this paper, we propose a reference architecture for an ethical orchestration system that manages distributed AI/ML applications on the cloud–edge continuum and present a proof-of-concept implementation of the main ideas of the architecture. Our starting point is the methods already in use in the industry, such as model cards, and we extend the idea of model cards to data source cards and software component cards, which provide practitioners and the automated system with relevant information in actionable form. With the metadata card based orchestration system and information about the risk levels of the target infrastructure, the users can create deployments of distributed AI/ML systems that fulfill the regulatory and other requirements.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112333"},"PeriodicalIF":3.7,"publicationDate":"2025-01-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104090","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Understanding comment practices in Scratch: A study of comments in a block-based visual programming language","authors":"Wahiduzzaman Akanda, James Clause","doi":"10.1016/j.jss.2024.112329","DOIUrl":"10.1016/j.jss.2024.112329","url":null,"abstract":"<div><div>Comments are vital for software documentation. They provide necessary insights and assist developers in understanding and maintaining the software. Due to their importance, comments have been extensively studied, and much has been learned about them. These existing studies have predominantly focused on text-based languages. Conversely, block-based visual programming languages, particularly Scratch, are becoming increasingly popular. Some studies regarding comments related to the Scratch online community focus on topics such as fostering online community and engagement, sentiment analysis, etc. However, they overlook the visual aspects and the qualitative analysis of comments within code in Scratch projects. This is a meaningful limitation, and this research project studies comments and their pattern in Scratch projects from both textual and visual perspectives. We examined comments collected from different Scratch projects. Each comment was manually annotated based on textual and visual attributes, producing a taxonomy model of comments for a visual programming language. The classification results were analyzed to understand better the practice of commenting in Scratch. Our result revealed that Scratch projects produced noisier(i.e., less understandable) comments than text-based programming languages like Java. In addition, the study also revealed several limitations and shortcomings that could be addressed to improve the commenting experience in Scratch.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112329"},"PeriodicalIF":3.7,"publicationDate":"2025-01-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104095","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Kentaro Yoshimura , Yuta Yamauchi , Hideo Takahashi
{"title":"Managing the variability of a logistics robotic system","authors":"Kentaro Yoshimura , Yuta Yamauchi , Hideo Takahashi","doi":"10.1016/j.jss.2024.112328","DOIUrl":"10.1016/j.jss.2024.112328","url":null,"abstract":"<div><div>This paper reports an industrial experience of managing the variability of a logistics robotic system. Logistics centers need to dispatch products rapidly and accurately from huge inventories in accordance with the daily flow of orders, and autonomous logistics robotic systems provide a solution that can handle a wide variety of products without relying on manual tasks. However, the development of such systems can be challenging due to the many different operating and product characteristics that must be considered. We have therefore developed a variability management approach that models the variability of robotic systems and the items to be handled in such a way that the software components can be reused and expanded across different products and environments. This paper presents the motivation, challenges, and benefits of applying the variability management approach to a logistics robotic system.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112328"},"PeriodicalIF":3.7,"publicationDate":"2025-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104067","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Hafiyyan Sayyid Fadhlillah , Kristof Meixner , Sandra Greiner , Antonio Manuel Gutiérrez-Fernández , Rick Rabiser
{"title":"Managing control software variability in Cyber-Physical Production Systems: The V4rdiac approach","authors":"Hafiyyan Sayyid Fadhlillah , Kristof Meixner , Sandra Greiner , Antonio Manuel Gutiérrez-Fernández , Rick Rabiser","doi":"10.1016/j.jss.2024.112325","DOIUrl":"10.1016/j.jss.2024.112325","url":null,"abstract":"<div><div>Cyber-Physical Production Systems (CPPSs) are highly configurable and versatile production systems that utilize diverse hardware components through control software. Managing control software variants in CPPS development is challenging as variation points in the control software stem from multiple engineering disciplines. Furthermore, there is a lack of mechanisms to explicitly describe control software variants as part of the software. In this paper, we present an extension of the Variability for 4diac (V4rdiac) approach and investigate its usefulness in managing control software variants based on multidisciplinary variability in CPPS development and delta modeling. We extend the approach by considering its application engineering activities to produce client-specific control software variants. We also present a novel mechanism to visualize deltas in control software to reduce the effort of implementing and maintaining deltas. We apply V4rdiac in two case studies and conduct an additional user study with four participants from industry to evaluate its usefulness. The evaluation results confirm that the engineers were able to successfully manage the control software variants. The results also show that V4rdiac can be easily learned and increases industrial practitioners’ productivity in managing control software.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112325"},"PeriodicalIF":3.7,"publicationDate":"2024-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104066","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}