{"title":"Best practices for evaluating IRFL approaches","authors":"Thomas Hirsch, Birgit Hofer","doi":"10.1016/j.jss.2025.112342","DOIUrl":"10.1016/j.jss.2025.112342","url":null,"abstract":"<div><div>Information retrieval fault localization (IRFL) is a popular research field and many IRFL approaches have been proposed recently. Unfortunately, the evaluation of some of these IRFL approaches is often too simplistic, which can cause an overestimation of performance of these approaches. In this paper, we discuss evaluation pitfalls and problems. Furthermore, we propose best practices to avoid them. In detail, we discuss evaluation strategies such as parameter tuning and temporal dependencies in the data, dataset issues, metrics, statistical significance testing, and the unavailability of supplemental material. To support our claim of the poor status quo of current evaluation practices in some research papers, we have performed a literature survey on 135 papers. We hope that this paper will help researchers to avoid the described pitfalls in their evaluation of IRFL approaches.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112342"},"PeriodicalIF":3.7,"publicationDate":"2025-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143171457","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}
Tomas Gustavsson , Muhammad Ovais Ahmad , Hina Saeeda
{"title":"Job satisfaction at risk: Measuring the role of process debt in agile software development","authors":"Tomas Gustavsson , Muhammad Ovais Ahmad , Hina Saeeda","doi":"10.1016/j.jss.2025.112350","DOIUrl":"10.1016/j.jss.2025.112350","url":null,"abstract":"<div><div>Process debt (PD) in agile software development represents inefficiencies that undermine team performance and job satisfaction. This study investigates the quantitative impact of PD on job satisfaction within agile teams, surveying 191 participants from two software development organizations. Our research examines five PD types: Process Unsuitability, Roles Debt, Synchronization Debt, Documentation Debt, and Infrastructure Debt. Using multiple regression analysis, our model explains approximately 33.8 % of the variance in job satisfaction. Among the five PD types, Process Unsuitability and Roles Debt emerged as statistically significant predictors of reduced job satisfaction. These findings indicate that certain forms of PD have a measurable negative impact on developers’ perceptions of their work environment. By identifying which PD types most strongly influence job satisfaction, this research offers empirically grounded insights that can inform targeted interventions. Understanding and addressing the most impactful PD categories may help organizations refine agile processes, thereby mitigating the detrimental effects of process inefficiencies on job satisfaction.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112350"},"PeriodicalIF":3.7,"publicationDate":"2025-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104064","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}
Thomas Bock , Niklas Schneider , Angelika Schmid , Sven Apel , Janet Siegmund
{"title":"Understanding the low inter-rater agreement on aggressiveness on the Linux Kernel Mailing List","authors":"Thomas Bock , Niklas Schneider , Angelika Schmid , Sven Apel , Janet Siegmund","doi":"10.1016/j.jss.2025.112339","DOIUrl":"10.1016/j.jss.2025.112339","url":null,"abstract":"<div><div>Communication among software developers plays an essential role in open-source software (OSS) projects. Not unexpectedly, previous studies have shown that the conversational tone and, in particular, aggressiveness influence the participation of developers in OSS projects. Therefore, we aimed at studying aggressive communication behavior on the Linux Kernel Mailing List (LKML), which is known for aggressive e-mails of some of its contributors. To that aim, we attempted to assess the extent of aggressiveness of 720 e-mails from the LKML with a human annotation study, involving multiple annotators, to select a suitable sentiment analysis tool.</div><div>The results of our annotation study revealed that there is substantial disagreement, even among humans, which uncovers a deeper methodological challenge of studying aggressiveness in the software-engineering domain. Adjusting our focus, we dug deeper and investigated why the agreement among humans is generally low, based on manual investigations of ambiguously rated e-mails. Our results illustrate that human perception is individual and context dependent, especially when it comes to technical content. Thus, when identifying aggressiveness in software-engineering texts, it is not sufficient to rely on aggregated measures of human annotations. Hence, sentiment analysis tools specifically trained on human-annotated data do not necessarily match human perception of aggressiveness, and corresponding results need to be taken with a grain of salt. By reporting our results and experience, we aim at confirming and raising additional awareness of this methodological challenge when studying aggressiveness (and sentiment, in general) in the software-engineering domain.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112339"},"PeriodicalIF":3.7,"publicationDate":"2025-01-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104111","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}
Geoffrey Cramer, William P. Maxam III, James C. Davis
{"title":"Engineering patterns for Trust and Safety on social media platforms: A case study of Mastodon and Diaspora","authors":"Geoffrey Cramer, William P. Maxam III, James C. Davis","doi":"10.1016/j.jss.2024.112322","DOIUrl":"10.1016/j.jss.2024.112322","url":null,"abstract":"<div><h3>Context:</h3><div>Trust & Safety (T&S) Engineering is an emerging area of software engineering that mitigates the risks of harmful interactions in online platforms. Numerous studies have explored T&S risks on social media platforms, taxonomizing threats and investigating individual issues. However, there is limited empirical knowledge about engineering efforts to promote T&S.</div></div><div><h3>Methods:</h3><div>This study examines T&S risks and the engineering patterns to resolve them. We conducted a case study of the two largest decentralized SMPs: Mastodon and Diaspora. These SMPs are open-source, so we analyzed T&S discussions within 60 GitHub issues. We analyzed T&S discussions that took place in their online repository and extracted T&S risks, T&S engineering patterns, and resolution rationales considered by the engineers. We integrate our findings by mapping T&S engineering patterns onto a general model of SMPs, to give SMP engineers a systematic understanding of their T&S risk treatment options.</div></div><div><h3>Results:</h3><div>T&S issues are a challenge throughout the feature set and lifespan of an SMP. A taxonomy of 12 solution patterns are developed, paving the way for academia and industry to standardize Trust & Safety solutions. We conclude with future directions to study and improve T&S Engineering, spanning software design, decision-making, and validation. We conclude with future directions to study and improve T&S Engineering, spanning software design, decision-making, and validation.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112322"},"PeriodicalIF":3.7,"publicationDate":"2025-01-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143104114","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}
Max Nijholt , Giovanni Quattrocchi , Damian Andrew Tamburri
{"title":"Runtime defect prediction of industrial business processes: A focused look at real-life SAP systems","authors":"Max Nijholt , Giovanni Quattrocchi , Damian Andrew Tamburri","doi":"10.1016/j.jss.2024.112306","DOIUrl":"10.1016/j.jss.2024.112306","url":null,"abstract":"<div><div>Business process operations are the dominant logic underpinning most of the service-based applications currently in use. Situated in the field of SAP business processes — commonly referred to as iFlows — and their integration, this paper looks into the defectiveness of such flows with a Machine-Learning approach. We propose to cluster and classify at runtime the Integration Flows of business processes during their orchestration; we do so by using metrics extracted from the Integration of 400+ complex business interaction and service orchestration Flows along with their metadata. Through a combined ensemble-based, clustering, and supervised learning exercise, we conclude that an AI-based approach for runtime defect prediction of iFlows shows considerable promise in providing actionable insights for better orchestration intelligence, especially in sight of self-aware business processes of the future.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112306"},"PeriodicalIF":3.7,"publicationDate":"2025-01-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143171511","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":"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}