Rafael José Moura , Maria Gizele Nascimento , Fumio Machida , Domenico Cotroneo , Ermeson Andrade
{"title":"Machine learning for software aging detection: A systematic mapping study","authors":"Rafael José Moura , Maria Gizele Nascimento , Fumio Machida , Domenico Cotroneo , Ermeson Andrade","doi":"10.1016/j.jss.2025.112715","DOIUrl":"10.1016/j.jss.2025.112715","url":null,"abstract":"<div><div>Software aging is characterized by the gradual degradation of system reliability and performance due to software issues such as memory leaks, resource exhaustion, or the accumulation of numerical errors over time. This phenomenon can lead to critical failures in production environments, making efficient aging detection essential to ensure system reliability. Several existing studies have explored methods for identifying software aging, with a particular focus on the use of Machine Learning (ML) algorithms. As a variety of ML algorithms has been used recently, it is necessary to understand the state of the art and the main trends in this domain. This study aims to classify software aging detection approaches and techniques that use ML through a Systematic Mapping Study (SMS). As key outcomes, we identify the most commonly used algorithms, the most popular aging indicators, the open datasets available for software aging detection research, the challenges faced by the field, and new directions for future investigations. We expect this work to contribute meaningfully to the software aging field by providing new research perspectives, practical insights, and guidance applicable to real-world scenarios, supporting both researchers and software practitioners.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112715"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145685639","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}
{"title":"Assessing UML diagrams by GPT: Implications for education","authors":"Chong Wang , Beian Wang , Peng Liang , Jie Liang","doi":"10.1016/j.jss.2025.112709","DOIUrl":"10.1016/j.jss.2025.112709","url":null,"abstract":"<div><div>In software engineering (SE) research and practice, UML is well known as an essential modeling methodology for requirements analysis and software modeling in both academia and industry. In particular, fundamental knowledge of UML modeling and practice in creating high-quality UML diagrams are included in SE-relevant courses in the undergraduate programs of many universities. This leads to a time-consuming and labor-intensive task for educators to review and grade a large number of UML diagrams created by the students. Recent advances in generative AI techniques, such as GPT, have paved new ways to automate many SE tasks. However, current research or tools seldom explore the capabilities of GPT in evaluating the quality of UML diagrams. This paper aims to investigate the feasibility and performance of GPT in assessing the quality of UML use case diagrams, class diagrams, and sequence diagrams. First, 11 evaluation criteria with grading details were proposed for these UML diagrams. Next, a series of experiments was designed and conducted on 40 students’ UML modeling reports to explore the performance of GPT in evaluating and grading these UML diagrams. The research findings reveal that GPT can complete this assessment task, but it cannot replace human experts yet. Meanwhile, there are five evaluation discrepancies between GPT and human experts. These discrepancies vary in the use of different evaluation criteria in different types of UML diagrams, presenting GPT’s strengths and weaknesses in this automatic evaluation task.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112709"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145738077","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}
{"title":"EISM: an interactive and collaborative approach for software modularization","authors":"Chenxing Zhong , Chao Li , He Zhang","doi":"10.1016/j.jss.2025.112726","DOIUrl":"10.1016/j.jss.2025.112726","url":null,"abstract":"<div><div>To address the increasing complexity of modern software systems, modularization techniques are used to restructure a system into meaningful <em>modules</em>, helping relieve the burden of understanding the system (and thus build trust between different modules). However, many current modularization approaches may suffer from two limitations due to restricted information. First, they often derive modules simply based on structural and semantic dependencies from the source code without sufficient attention to evolutionary information, by which the resulting modules might be difficult to evolve independently. Second, although some previous researchers have explored integrating architect knowledge into the modularization process to address the issue of limited information, they often overlooked the possibility that this integration might compromise the quality of the final solutions.</div><div>To bridge these gaps, we propose EISM (<u><strong>E</strong></u>volutionary dependencies-based <u><strong>I</strong></u>nteractive <u><strong>S</strong></u>oftware <u><strong>M</strong></u>odularization), an approach to modularize a tangled software system that takes advantage not only algorithm efficiency but developers’ knowledge. Our approach enables an effective collaboration between the modularization algorithm and developers; where the former takes the responsibility for (re-)optimizing the solution quality via the structural, semantic, and evolutionary dependencies, the latter is responsible for adjusting the solutions in terms of reasonability. To evaluate the effectiveness of our approach, we conducted a series of controlled experiments on five diverse open-source projects. The results show that EISM could improve the evolvability of software modules by at least 95 % compared to the existing techniques, and effectively help developers to interactively adjust the solutions by proactively and significantly re-optimizing the adjusted solutions with an average of 12.87 % in quality improvement.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112726"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145738080","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}
Dewen Suo , Lei Xue , Weihao Huang , Runze Tan , Guozi Sun
{"title":"Assessing the capability of android dynamic analysis tools to combat anti-runtime analysis techniques","authors":"Dewen Suo , Lei Xue , Weihao Huang , Runze Tan , Guozi Sun","doi":"10.1016/j.jss.2025.112747","DOIUrl":"10.1016/j.jss.2025.112747","url":null,"abstract":"<div><div>As the dominant mobile operating system, Android continues to attract a substantial influx of new applications each year. However, this growth is accompanied by increased attention from malicious actors, resulting in a significant rise in security threats to the Android ecosystem. Among these threats, the adoption of Anti-Runtime Analysis (ARA) techniques by malicious applications poses a serious challenge, as it hinders security professionals from effectively analyzing malicious behaviors using dynamic analysis tools. ARA technologies are designed to prevent the dynamic examination of applications, thus complicating efforts to ensure platform security. This paper presents a comprehensive empirical study that assesses the ability of widely-used Android dynamic analysis tools to bypass various ARA techniques. Our findings reveal a critical gap in the effectiveness of existing dynamic analysis tools to counter ARA mechanisms, highlighting an urgent need for more robust solutions. This work provides valuable insights into the limitations of existing tools and highlights the need for improved methods to counteract ARA technologies, thus advancing the field of software security and dynamic analysis.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112747"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145840748","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}
{"title":"Improving the ability of pre-trained language model by imparting large language model’s experience","authors":"Xin Yin, Chao Ni , Xinrui Li, Xiaohu Yang","doi":"10.1016/j.jss.2025.112744","DOIUrl":"10.1016/j.jss.2025.112744","url":null,"abstract":"<div><div>Large Language Models (LLMs) and pre-trained Language Models (LMs) have achieved impressive success on many software engineering tasks (e.g., code completion and code generation). By leveraging huge existing code corpora (e.g., GitHub), these models can understand the patterns in source code and use these patterns to predict code properties. However, LLMs under few-shot learning perform poorly on non-generative tasks (e.g., fault localization and vulnerability localization), and fine-tuning LLMs is time-consuming and costly for end users and small organizations. Furthermore, the performance of fine-tuning LMs for non-generative tasks is impressive, yet it heavily depends on the amount and quality of data. As a result, the current lack of data and the high cost of collecting it in real-world scenarios further limit the applicability of LMs. In this paper, we leverage the powerful generation capabilities of LLMs to enhance pre-trained LMs. Specifically, we use LLMs to generate domain-specific data, thereby improving the performance of pre-trained LMs on the target tasks. We conduct experiments by combining different LLMs in our generation phase and introducing various LMs to learn from the LLM-generated data. Then, we compare the performance of these LMs before and after learning the data. We find that LLM-generated data significantly enhances the performance of LMs. The improvement can reach up to 58.36 % for fault localization and up to 6.09 % for clone detection.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112744"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145840750","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}
{"title":"MENTOR: Fixing introductory programming assignments with formula-based fault localization and LLM-driven program repair","authors":"Pedro Orvalho , Mikoláš Janota , Vasco Manquinho","doi":"10.1016/j.jss.2025.112690","DOIUrl":"10.1016/j.jss.2025.112690","url":null,"abstract":"<div><div>The increasing demand for programming education has led to online evaluations like MOOCs, which rely on introductory programming assignments (IPAs). A major challenge in these courses is providing personalized feedback at scale. This paper introduces <span>MENTOR</span>, a semantic automated program repair (APR) framework designed to fix faulty student programs. <span>MENTOR</span> validates repairs through execution on a test suite, and returns the repaired program or highlights faulty statements.</div><div>Unlike symbolic repair tools like <span>Clara</span> and <span>Verifix</span>, which require correct implementations with identical control flow graphs (CFGs), <span>MENTOR</span>’s <span>LLM</span>-based approach enables flexible repairs without strict structural alignment. <span>MENTOR</span> clusters successful submissions regardless of CFGs, and employs a Graph Neural Network (<span>GNN</span>)-based variable alignment module for enhanced accuracy. Next, <span>MENTOR</span>’s fault localization module leverages MaxSAT techniques to pinpoint buggy code segments precisely. Finally, <span>MENTOR</span>’s program fixer integrates Formal Methods (FM) and Large Language Models (<span>LLMs</span>) through a Counterexample Guided Inductive Synthesis (CEGIS) loop, iteratively refining repairs. Experimental results show that <span>MENTOR</span> significantly improves repair success rates, achieving 64.4 %, far surpassing Verifix (6.3 %) and Clara (34.6 %). By merging formula-based fault localization, and <span>LLM</span>-driven repair, <span>MENTOR</span> provides an innovative, scalable framework for programming education.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112690"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145790882","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}
Soroush Javdan , Pragash Krishnamoorthy , Olga Baysal
{"title":"CREST: Improving interpretability and effectiveness of troubleshooting at ericsson through criterion-Specific trouble report retrieval","authors":"Soroush Javdan , Pragash Krishnamoorthy , Olga Baysal","doi":"10.1016/j.jss.2025.112714","DOIUrl":"10.1016/j.jss.2025.112714","url":null,"abstract":"<div><div>The rapid evolution of the telecommunication industry necessitates efficient troubleshooting processes to maintain network reliability, software maintainability, and service quality. Trouble Reports (TRs), which document issues in Ericsson’s production system, play a critical role in facilitating the timely resolution of software faults. However, the complexity and volume of textual TR data present challenges for retrieval models, often leading to information loss due to the input size limitation of Large Language Models (LLMs). However, the complexity and volume of TR data, along with the presence of diverse criteria that reflect different aspects of each fault, present challenges for retrieval systems.Moreover, each TR includes distinct criteria that capture different aspects of the fault, impacting retrieval model performance. Building on prior work at Ericsson, which utilized a two-stage workflow, comprising Initial Retrieval (IR) and Re-Ranking (RR) stages, this study investigates different TR observation criteria and their impact on the performance of retrieval models. This study proposesWe propose <strong>CREST</strong> (<strong>C</strong>riteria-specific <strong>R</strong>etrieval via <strong>E</strong>nsemble of <strong>S</strong>pecialized <strong>T</strong>R models), a criterion-driven retrieval approach that leverages specialized models for different TR fields to improve both effectiveness and interpretability, thereby enabling quicker fault resolution and supporting software maintenance.Utilizing these dedicated retrieval models, trained on specific TR criteria, the overall retrieval performance of the CREST improves. CREST utilizes specialized models trained on specific TR criteria and aggregates their outputs to capture diverse and complementary signals. This approach leads to enhanced retrieval accuracy, better calibration of predicted scores, and improved interpretability by providing relevance scores for each criterion, helping users understand why specific TRs were retrieved. Using a subset of Ericsson’s internal TRs, this research demonstrates that criterion-specific models significantly outperform a single model approach across key evaluation metrics. This highlights the importance of all targeted criteria used in this study for optimizing the performance of retrieval systems.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112714"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145685640","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}
{"title":"Leveraging syntactic dual-graph representations for security patch identification via structural latent alignment","authors":"Jiajun Tong, Zhixiao Wang, Xiaobin Rui","doi":"10.1016/j.jss.2025.112742","DOIUrl":"10.1016/j.jss.2025.112742","url":null,"abstract":"<div><div>Security patch identification is to automatically detect security-relevant commits from a vast number of code diffs. Previous works significantly improve the performance of automatic security patch identification by introducing pre-trained models. However, most existing approaches fail to capture the structural evolution across code diffs which is essential for understanding how code behavior changes during patching. Furthermore, the changes in code diffs are usually subtles, resulting in sparse representation of structural changes and making difficulty in distinguishing the effects of different structural changes. Finally, none of existing methods can fully capture the syntactic and semantic information from code diffs and commit message. In this work, we propose DualGraphPatcher, a framework designed to learn a well-structured and discriminative feature in the latent space by jointly modeling semantic information and structural code evolution. To capture fine-grained code structural changes, instead of relying on a single snapshot of a function, we construct two independent Abstract Syntax Tree (AST) structures for the pre-change and post-change versions from the original code diffs to model the entire graph topology of each version, enabling explicit modeling of structural evolution across code diffs. To alleviate the sparse representation of structural changes, we propose a latent structural alignment module, which performs soft clustering over the representations of pre-change and post-change ASTs and minimizes their distributional divergence in the shared latent space. To jointly learn syntactic and semantic information from code diffs and commit messages, we design a tri-encoder architecture, where CodeBERT and BERT extract semantic embeddings from code diffs and commit messages, and GCN encodes the syntactic structures of pre-change and post-change ASTs. Experiments on three real-world datasets demonstrate that DualGraphPatcher consistently outperforms state-of-the-art baselines in security patch identification, validating the effectiveness of both dual-graph modeling, latent structural alignment and tri-encoder. The code and data are shared in <span><span>https://github.com/AppleMax1992/DualGraphPatcher</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112742"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145790959","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}
Yannick Lindebauer , Richard von Esebeck , Thomas Vietor
{"title":"Automotive software product lines for ECU software configuration: A systematic literature review","authors":"Yannick Lindebauer , Richard von Esebeck , Thomas Vietor","doi":"10.1016/j.jss.2025.112716","DOIUrl":"10.1016/j.jss.2025.112716","url":null,"abstract":"<div><div>In the automotive industry, vehicles are increasingly configured by software to accommodate individual customer preferences. This leads to a growing number of software variants and calibration parameters that must be managed consistently. Efficient handling of this variability benefits from the application of (systems and) software product line engineering (SPLE), as it offers structured mechanisms for reuse, traceability, and systematic variability management. These benefits are particularly relevant for electronic control unit (ECU) configuration, where maintaining consistency across features, parameters, and vehicle variants is crucial. However, existing approaches in industry, e.g. those relying on configurable bills of materials, indicate that SPLE has yet to see widespread adoption in the configuration of ECUs. Instead, proprietary approaches dominate, often lacking integration, transparency, and scalability. This study investigates the reasons why SPLE is not widely adopted for this use case. The underlying hypothesis suggests that industrial requirements are not accurately captured in academic research, making the implementation of scientific SPLE concepts difficult. To examine this assumption, a systematic literature review was conducted, analyzing relevant publications. The findings indicate a pressing need for closer collaboration between industry and academia to better identify challenges and requirements. Furthermore, current and emerging developments, such as software-defined vehicles (SDVs), require greater consideration in ECU configuration research. Our hypothesis was largely confirmed, indicating that SPLE research must be further extended and refined to meet practical ECU configuration needs. Accordingly, a concise, end-to-end methodology is needed to support SPLE-based calibration processes in SDV environments with increasingly decoupled hardware and software.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112716"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145645683","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}
Wenlong Mu, Ning Li, Zimo Ji, Jianmei Guo, Bo Huang
{"title":"FlexInstru: A flexible instrumentation framework for tracing long-running native workloads","authors":"Wenlong Mu, Ning Li, Zimo Ji, Jianmei Guo, Bo Huang","doi":"10.1016/j.jss.2025.112739","DOIUrl":"10.1016/j.jss.2025.112739","url":null,"abstract":"<div><div>Understanding program runtime characteristics is crucial for tasks such as optimization and workload characterization. For long-running server-side workloads that execute as native binaries, effective profiling is essential to trace their complex runtime behaviors, enabling further optimizations to improve the reliability and efficiency of the delivered services. Widely adopted techniques for profiling these workloads include binary instrumentation and hardware-based profiling. Binary instrumentation is typically accurate but incurs high overhead and lacks flexibility for tracing long-running native workloads. Hardware-based profiling brings low overhead while requiring hardware support. To overcome these limitations, we present FlexInstru, a hardware-independent dynamic instrumentation framework based on the process attachment/detachment mechanism. FlexInstru can flexibly instrument a native application at any time and for any duration when the application is running, and achieve a good balance between instrumentation accuracy and overhead, which makes it particularly effective in tracing long-running native workloads.</div><div>FlexInstru provides a process attachment/detachment mechanism on Linux, allowing attaching an instrumentation engine to a long-running native workload and detaching it at any time. To mitigate overhead, FlexInstru also enables flexible control of instrumentation through multiple attachments/detachments, allowing the workload to alternate between instrumented execution and native execution. Moreover, during instrumented execution, FlexInstru supports a sampling mechanism to collect data only during the sampling period, further reducing the overhead. We evaluate FlexInstru on AArch64 and X86-64 using real-world workloads. For MySQL’s branch recording tasks, FlexInstru substantially reduces instrumentation overhead, with reductions of 415.60 × on AArch64 and 1223.02 × on X86-64 compared to traditional dynamic instrumentation, while maintaining sufficient accuracy.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"234 ","pages":"Article 112739"},"PeriodicalIF":4.1,"publicationDate":"2026-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145738082","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}