首页 > 最新文献

Journal of Systems and Software最新文献

英文 中文
SARG: Software application resiliency prediction using graph neural networks SARG:使用图神经网络的软件应用程序弹性预测
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-10 DOI: 10.1016/j.jss.2025.112697
Mohammad Reza Pirayesh, Mohsen Raji, Mohammad Reza Moosavi
Accurate analysis of software applications resiliency to soft errors is crucial for ensuring reliable operation in computing systems, particularly in safety-critical applications where failures can result in significant consequences. Machine Learning (ML) methods have been investigated as effective tools for evaluating software application resiliency. The core idea is to leverage patterns in historical data, system behavior, and dynamic runtime features to build predictive models. However, current approaches often suffer from capturing the intricate structure of source code, leading to models that lack the acceptable accuracy needed for resiliency prediction in software applications. This paper introduces a novel ML-based approach, named SARG, that leverages graph neural networks to predict software resiliency in the presence of soft errors. By incorporating both control flow and data flow graphs, dynamic runtime information, and code sequence signatures, SARG captures the syntactic and semantic features of software applications that are vital for accurate resiliency prediction. Experimental results demonstrate that the proposed approach outperforms existing ML-based approaches, achieving 43 % higher prediction accuracy while being 3x faster. The results show the potential of SARG as an efficient, generalizable, and accurate solution for evaluating software resiliency in the presence of soft errors.
准确分析软件应用程序对软错误的弹性对于确保计算系统的可靠运行至关重要,特别是在故障可能导致严重后果的安全关键型应用程序中。机器学习(ML)方法已被研究作为评估软件应用程序弹性的有效工具。其核心思想是利用历史数据、系统行为和动态运行时特性中的模式来构建预测模型。然而,当前的方法往往难以捕获源代码的复杂结构,从而导致模型缺乏软件应用程序中弹性预测所需的可接受的准确性。本文介绍了一种新的基于机器学习的方法,称为SARG,它利用图神经网络来预测存在软错误时的软件弹性。通过结合控制流和数据流图、动态运行时信息和代码序列签名,SARG捕获了软件应用程序的语法和语义特征,这些特征对于准确的弹性预测至关重要。实验结果表明,该方法优于现有的基于机器学习的方法,预测精度提高43%,速度提高3倍。结果表明,SARG作为评估存在软错误时软件弹性的有效、可推广和准确的解决方案的潜力。
{"title":"SARG: Software application resiliency prediction using graph neural networks","authors":"Mohammad Reza Pirayesh,&nbsp;Mohsen Raji,&nbsp;Mohammad Reza Moosavi","doi":"10.1016/j.jss.2025.112697","DOIUrl":"10.1016/j.jss.2025.112697","url":null,"abstract":"<div><div>Accurate analysis of software applications resiliency to soft errors is crucial for ensuring reliable operation in computing systems, particularly in safety-critical applications where failures can result in significant consequences. Machine Learning (ML) methods have been investigated as effective tools for evaluating software application resiliency. The core idea is to leverage patterns in historical data, system behavior, and dynamic runtime features to build predictive models. However, current approaches often suffer from capturing the intricate structure of source code, leading to models that lack the acceptable accuracy needed for resiliency prediction in software applications. This paper introduces a novel ML-based approach, named SARG, that leverages graph neural networks to predict software resiliency in the presence of soft errors. By incorporating both control flow and data flow graphs, dynamic runtime information, and code sequence signatures, SARG captures the syntactic and semantic features of software applications that are vital for accurate resiliency prediction. Experimental results demonstrate that the proposed approach outperforms existing ML-based approaches, achieving 43 % higher prediction accuracy while being 3x faster. The results show the potential of SARG as an efficient, generalizable, and accurate solution for evaluating software resiliency in the presence of soft errors.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112697"},"PeriodicalIF":4.1,"publicationDate":"2025-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145520687","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}
引用次数: 0
From engineering models to digital twins: Generating AAS from SysML v2 models 从工程模型到数字孪生:从SysML v2模型生成AAS
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-06 DOI: 10.1016/j.jss.2025.112688
Enxhi Ferko , Luca Berardinelli , Alessio Bucaioni , Moris Behnam , Manuel Wimmer
Context: Digital twins serve as virtual representations of systems, enabling capabilities such as intelligent monitoring, real-time control, decision-making, and predictive analytics. The Asset Administration Shell (AAS) is the pivotal Industry 4.0 standard for digital twin engineering. In parallel, the Systems Modeling Language (SysML) has emerged as a modeling standard for systems engineering, providing a formalized and semantically rich approach to system modeling. SysML v2 is its recent evolution. With its growing adoption, multiple models are expected to be widely available, each capturing different facets of the modeled system by leveraging diverse engineering capabilities offered by various tool ecosystems. Problem: Instead of manually re-creating models for digital twinning, existing system models should be leveraged to relieve repetitive modeling tasks. While SysML v2 and AAS are prominent standards in DT engineering, they lack direct integration, necessitating a dedicated approach for their seamless interoperability. Purpose: This paper presents a practical investigation into the conceptual alignment between the SysML v2 and AAS specifications, with a focus on their structural and behavioral modeling aspects. It proposes an implementable approach for mapping SysML v2 to AAS, enabling the automated generation of AAS models from SysML v2 models. Method: To realize this approach, we employ model-driven engineering techniques leveraging the Eclipse Modeling Framework (EMF) and model transformations based on the Query View Transformation (QVT) language. The proposed model transformation incorporates query mechanisms for extracting structured elements, preserving information and structural integrity, and ensuring static semantic consistency at design-time and seamless integration between the two investigated standards. We develop and validate the model transformation following an iterative test-driven development approach using an existing set of 24 SysML v2 examples, sourced from the official SysML v2 repository. Result: We deliver a QVT-based, EMF-compliant transformation that automatically generates AAS submodel templates from SysML v2 models, preserving structural hierarchies and behavioral semantics via dedicated AAS concepts and their extension. Through an iterative, test-driven development process, we validate metamodel conformance, information preservation, and structural integrity. The current mapping addresses design-time concepts, and the implementation supports forward transformation. All conceptual mappings, QVT scripts, and example artifacts are publicly available in a dedicated repository.
背景:数字孪生作为系统的虚拟表示,支持智能监控、实时控制、决策和预测分析等功能。资产管理外壳(AAS)是数字孪生工程的关键工业4.0标准。与此同时,系统建模语言(SysML)已经成为系统工程的建模标准,为系统建模提供了形式化和语义丰富的方法。SysML v2是它的最新发展。随着它被越来越多地采用,多个模型有望被广泛使用,每个模型通过利用各种工具生态系统提供的不同工程功能来捕获建模系统的不同方面。问题:应该利用现有的系统模型来减轻重复的建模任务,而不是为数字孪生手工重新创建模型。虽然SysML v2和AAS是DT工程中的重要标准,但它们缺乏直接集成,因此需要专门的方法来实现无缝互操作性。目的:本文对SysML v2和AAS规范之间的概念一致性进行了实际调查,重点关注它们的结构和行为建模方面。它提出了一种将SysML v2映射到AAS的可实现方法,支持从SysML v2模型自动生成AAS模型。方法:为了实现这种方法,我们采用模型驱动的工程技术,利用Eclipse建模框架(EMF)和基于查询视图转换(QVT)语言的模型转换。所提出的模型转换包含了用于提取结构化元素、保持信息和结构完整性、确保设计时静态语义一致性和两个所研究标准之间无缝集成的查询机制。我们使用来自官方SysML v2存储库的一组现有的24个SysML v2示例,按照迭代测试驱动的开发方法开发和验证模型转换。结果:我们交付了一个基于qvt的、符合emf的转换,它可以从SysML v2模型自动生成AAS子模型模板,通过专用的AAS概念及其扩展保留结构层次结构和行为语义。通过迭代的、测试驱动的开发过程,我们验证元模型一致性、信息保存和结构完整性。当前映射处理设计时概念,实现支持前向转换。所有概念映射、QVT脚本和示例工件都可以在专用存储库中公开获得。
{"title":"From engineering models to digital twins: Generating AAS from SysML v2 models","authors":"Enxhi Ferko ,&nbsp;Luca Berardinelli ,&nbsp;Alessio Bucaioni ,&nbsp;Moris Behnam ,&nbsp;Manuel Wimmer","doi":"10.1016/j.jss.2025.112688","DOIUrl":"10.1016/j.jss.2025.112688","url":null,"abstract":"<div><div><strong>Context:</strong> Digital twins serve as virtual representations of systems, enabling capabilities such as intelligent monitoring, real-time control, decision-making, and predictive analytics. The Asset Administration Shell (AAS) is the pivotal Industry 4.0 standard for digital twin engineering. In parallel, the Systems Modeling Language (SysML) has emerged as a modeling standard for systems engineering, providing a formalized and semantically rich approach to system modeling. SysML v2 is its recent evolution. With its growing adoption, multiple models are expected to be widely available, each capturing different facets of the modeled system by leveraging diverse engineering capabilities offered by various tool ecosystems. <strong>Problem:</strong> Instead of manually re-creating models for digital twinning, existing system models should be leveraged to relieve repetitive modeling tasks. While SysML v2 and AAS are prominent standards in DT engineering, they lack direct integration, necessitating a dedicated approach for their seamless interoperability. <strong>Purpose:</strong> This paper presents a practical investigation into the conceptual alignment between the SysML v2 and AAS specifications, with a focus on their structural and behavioral modeling aspects. It proposes an implementable approach for mapping SysML v2 to AAS, enabling the automated generation of AAS models from SysML v2 models. <strong>Method:</strong> To realize this approach, we employ model-driven engineering techniques leveraging the Eclipse Modeling Framework (EMF) and model transformations based on the Query View Transformation (QVT) language. The proposed model transformation incorporates query mechanisms for extracting structured elements, preserving information and structural integrity, and ensuring static semantic consistency at design-time and seamless integration between the two investigated standards. We develop and validate the model transformation following an iterative test-driven development approach using an existing set of 24 SysML v2 examples, sourced from the official SysML v2 repository. <strong>Result:</strong> We deliver a QVT-based, EMF-compliant transformation that automatically generates AAS submodel templates from SysML v2 models, preserving structural hierarchies and behavioral semantics via dedicated AAS concepts and their extension. Through an iterative, test-driven development process, we validate metamodel conformance, information preservation, and structural integrity. The current mapping addresses design-time concepts, and the implementation supports forward transformation. All conceptual mappings, QVT scripts, and example artifacts are publicly available in a dedicated repository.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"233 ","pages":"Article 112688"},"PeriodicalIF":4.1,"publicationDate":"2025-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145618392","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}
引用次数: 0
Causal models for specifying requirements in industrial ML-based software: A case study 在工业基于ml的软件中指定需求的因果模型:一个案例研究
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-05 DOI: 10.1016/j.jss.2025.112691
Hans-Martin Heyn , Yufei Mao , Roland Weiß , Eric Knauss
Unlike conventional software systems, where rules are explicitly defined to specify the desired behaviour, software components that incorporate machine learning (ML) infer such rules as associations from data. Requirements Engineering (RE) provides methods and tools for specifying the desired behaviour as structured natural language. However, the inherent ambiguity of natural language can make these specifications difficult to interpret. Moreover, it is challenging in RE to establish a clear link between the specified desired behaviour and data requirements necessary for training and validating ML models.
In this paper, we explore the use of causal models to address this gap in RE. Through an exploratory case study, we found that causal models, represented as directed acyclic graphs (DAGs), support the collaborative discovery of an ML system’s operational context from a causal perspective. We also found that causal models can serve as part of the requirements specification for ML models because they encapsulate both data and model requirements needed to achieve the desired causal behaviour. We introduce a concept for causality-driven development, in which we show that data and model requirements, as well as a causal description of the operational context, can be discovered iteratively using graphical causal models. We demonstrate this approach using an industrial use case on anomaly detection with ML.
与传统的软件系统不同,在传统的软件系统中,规则是明确定义的,以指定所需的行为,而结合了机器学习(ML)的软件组件从数据中推断出这些规则作为关联。需求工程(RE)提供了方法和工具,以结构化的自然语言来指定期望的行为。然而,自然语言固有的模糊性会使这些规范难以解释。此外,在RE中,在指定的期望行为和训练和验证ML模型所需的数据需求之间建立明确的联系是具有挑战性的。在本文中,我们探索了使用因果模型来解决RE中的这一差距。通过探索性案例研究,我们发现因果模型(表示为有向无环图(dag))支持从因果角度协作发现ML系统的操作上下文。我们还发现,因果模型可以作为ML模型需求规范的一部分,因为它们封装了实现期望的因果行为所需的数据和模型需求。我们介绍了因果关系驱动开发的概念,其中我们展示了数据和模型需求,以及操作上下文的因果描述,可以使用图形因果模型迭代地发现。我们用一个用机器学习进行异常检测的工业用例来演示这种方法。
{"title":"Causal models for specifying requirements in industrial ML-based software: A case study","authors":"Hans-Martin Heyn ,&nbsp;Yufei Mao ,&nbsp;Roland Weiß ,&nbsp;Eric Knauss","doi":"10.1016/j.jss.2025.112691","DOIUrl":"10.1016/j.jss.2025.112691","url":null,"abstract":"<div><div>Unlike conventional software systems, where rules are explicitly defined to specify the desired behaviour, software components that incorporate machine learning (ML) infer such rules as associations from data. Requirements Engineering (RE) provides methods and tools for specifying the desired behaviour as structured natural language. However, the inherent ambiguity of natural language can make these specifications difficult to interpret. Moreover, it is challenging in RE to establish a clear link between the specified desired behaviour and data requirements necessary for training and validating ML models.</div><div>In this paper, we explore the use of causal models to address this gap in RE. Through an exploratory case study, we found that causal models, represented as directed acyclic graphs (DAGs), support the collaborative discovery of an ML system’s operational context from a causal perspective. We also found that causal models can serve as part of the requirements specification for ML models because they encapsulate both data and model requirements needed to achieve the desired causal behaviour. We introduce a concept for <em>causality-driven development</em>, in which we show that data and model requirements, as well as a causal description of the operational context, can be discovered iteratively using graphical causal models. We demonstrate this approach using an industrial use case on anomaly detection with ML.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112691"},"PeriodicalIF":4.1,"publicationDate":"2025-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145520688","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}
引用次数: 0
Domain-specific conflict resolution and model merge 特定于领域的冲突解决和模型合并
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-04 DOI: 10.1016/j.jss.2025.112694
Manouchehr Zadahmad Jafarlou, Eugene Syriani
Software developers often collaborate by contributing to different branches in a version control system. However, merging the changes from the different branches often leads to conflicts, and resolving these conflicts is a tedious task. This challenge is exacerbated when the software to merge are domain-specific models, since they follow a graph-like structure rather than linear text. DSMCompare is a tool for comparing domain-specific models, detecting differences, and visualizing conflicts using the concrete syntax of the domain-specific language. In this paper, we enhance DSMCompare with conflict resolution capabilities to reduce the effort of merging model versions. Our evaluation demonstrates that DSMCompare is effective in achieving highly accurate automatic conflict resolution with minimal manual intervention. A user study further validates the tool, revealing a significant decrease in resolution time coupled with higher accuracy and user satisfaction.
软件开发人员通常通过对版本控制系统中的不同分支进行贡献来进行协作。然而,合并来自不同分支的更改经常会导致冲突,解决这些冲突是一项乏味的任务。当要合并的软件是特定于领域的模型时,因为它们遵循类似图的结构而不是线性文本,这一挑战就会加剧。DSMCompare是一个工具,用于比较特定于领域的模型,检测差异,并使用特定于领域的语言的具体语法可视化冲突。在本文中,我们增强了DSMCompare与冲突解决能力,以减少合并模型版本的工作量。我们的评估表明,DSMCompare可以有效地以最少的人工干预实现高度精确的自动冲突解决。用户研究进一步验证了该工具,揭示了分辨率时间的显着减少以及更高的精度和用户满意度。
{"title":"Domain-specific conflict resolution and model merge","authors":"Manouchehr Zadahmad Jafarlou,&nbsp;Eugene Syriani","doi":"10.1016/j.jss.2025.112694","DOIUrl":"10.1016/j.jss.2025.112694","url":null,"abstract":"<div><div>Software developers often collaborate by contributing to different branches in a version control system. However, merging the changes from the different branches often leads to conflicts, and resolving these conflicts is a tedious task. This challenge is exacerbated when the software to merge are domain-specific models, since they follow a graph-like structure rather than linear text. DSMCompare is a tool for comparing domain-specific models, detecting differences, and visualizing conflicts using the concrete syntax of the domain-specific language. In this paper, we enhance DSMCompare with conflict resolution capabilities to reduce the effort of merging model versions. Our evaluation demonstrates that DSMCompare is effective in achieving highly accurate automatic conflict resolution with minimal manual intervention. A user study further validates the tool, revealing a significant decrease in resolution time coupled with higher accuracy and user satisfaction.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112694"},"PeriodicalIF":4.1,"publicationDate":"2025-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145520558","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}
引用次数: 0
Architectural patterns for blockchain-enabled federated learning: A systematic literature review 支持区块链的联邦学习的架构模式:系统的文献综述
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-04 DOI: 10.1016/j.jss.2025.112695
Jiaxin Wang , Dongying Shi , Shanshan Li , Jiaqi Yan , Yanze Wang , Qian’ang Mao , Ya Liu , Li Zhu , He Zhang
Federated learning (FL) has gained popularity but faces inherent challenges such as privacy, security, and reliability. As a novel framework, blockchain-enabled federated learning (BFL) has emerged, exhibiting promise in utilizing blockchain technology (BT) to enhance FL systems. However, existing research on BFL ignores software architecture concerns, which largely hinders practical deployment in real-world environments. Prior surveys mainly focus on design workflows, causing unsatisfying reusability for adopters. This study conducted a systematic literature review on BFL to examine how patterns from general FL systems are re-architected when integrated with BT. Through rigorous data extraction and synthesis, we eventually formalized 12 architectural patterns unique to the BFL context, including two Participant Management Patterns, two Task Management Patterns, two Model Management Patterns, three Incentive Patterns, two Model Evaluation Patterns, and one Aggregation Pattern. Each pattern is analyzed by its context, problem, forces, solutions, consequences, and known uses. The relationship between data and patterns in BFL systems and the complex dependencies among patterns are explored in detail. We also discuss the specific challenges associated with applying these patterns in real-world development. These architectural patterns can serve as valuable guidance for practitioners and researchers, facilitating the adoption of BFL best practices.
联邦学习(FL)越来越受欢迎,但也面临着诸如隐私、安全性和可靠性等固有挑战。作为一个新的框架,支持区块链的联邦学习(BFL)已经出现,显示出利用区块链技术(BT)增强FL系统的前景。然而,关于BFL的现有研究忽略了软件架构问题,这在很大程度上阻碍了在现实环境中的实际部署。之前的调查主要集中在设计工作流上,导致采用者的可重用性不尽如人意。本研究对BFL进行了系统的文献综述,以研究一般FL系统的模式在与BT集成时是如何重新架构的。通过严格的数据提取和综合,我们最终确定了BFL环境特有的12种架构模式,包括两个参与者管理模式、两个任务管理模式、两个模型管理模式、三个激励模式、两个模型评估模式和一个聚合模式。每个模式都根据其上下文、问题、力量、解决方案、结果和已知用途进行分析。详细探讨了BFL系统中数据与模式之间的关系以及模式之间的复杂依赖关系。我们还讨论了与在实际开发中应用这些模式相关的具体挑战。这些体系结构模式可以作为实践者和研究人员的有价值的指导,促进BFL最佳实践的采用。
{"title":"Architectural patterns for blockchain-enabled federated learning: A systematic literature review","authors":"Jiaxin Wang ,&nbsp;Dongying Shi ,&nbsp;Shanshan Li ,&nbsp;Jiaqi Yan ,&nbsp;Yanze Wang ,&nbsp;Qian’ang Mao ,&nbsp;Ya Liu ,&nbsp;Li Zhu ,&nbsp;He Zhang","doi":"10.1016/j.jss.2025.112695","DOIUrl":"10.1016/j.jss.2025.112695","url":null,"abstract":"<div><div>Federated learning (FL) has gained popularity but faces inherent challenges such as privacy, security, and reliability. As a novel framework, blockchain-enabled federated learning (BFL) has emerged, exhibiting promise in utilizing blockchain technology (BT) to enhance FL systems. However, existing research on BFL ignores software architecture concerns, which largely hinders practical deployment in real-world environments. Prior surveys mainly focus on design workflows, causing unsatisfying reusability for adopters. This study conducted a systematic literature review on BFL to examine how patterns from general FL systems are re-architected when integrated with BT. Through rigorous data extraction and synthesis, we eventually formalized 12 architectural patterns unique to the BFL context, including two <em>Participant Management</em> Patterns, two <em>Task Management</em> Patterns, two <em>Model Management</em> Patterns, three <em>Incentive</em> Patterns, two <em>Model Evaluation</em> Patterns, and one <em>Aggregation</em> Pattern. Each pattern is analyzed by its context, problem, forces, solutions, consequences, and known uses. The relationship between data and patterns in BFL systems and the complex dependencies among patterns are explored in detail. We also discuss the specific challenges associated with applying these patterns in real-world development. These architectural patterns can serve as valuable guidance for practitioners and researchers, facilitating the adoption of BFL best practices.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112695"},"PeriodicalIF":4.1,"publicationDate":"2025-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145520557","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}
引用次数: 0
Editorial of the special issue in the journal of systems and software on reliable and secure large language models for software engineering 《系统与软件》杂志关于软件工程中可靠和安全的大型语言模型的专刊编辑
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-04 DOI: 10.1016/j.jss.2025.112683
Antonio Mastropaolo , Pietro Liguori , Gabriele Bavota
{"title":"Editorial of the special issue in the journal of systems and software on reliable and secure large language models for software engineering","authors":"Antonio Mastropaolo ,&nbsp;Pietro Liguori ,&nbsp;Gabriele Bavota","doi":"10.1016/j.jss.2025.112683","DOIUrl":"10.1016/j.jss.2025.112683","url":null,"abstract":"","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"233 ","pages":"Article 112683"},"PeriodicalIF":4.1,"publicationDate":"2025-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145685130","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}
引用次数: 0
Editorial of the special issue in the journal of systems and software on managing technical debt in software-intensive products and services 系统和软件杂志关于管理软件密集型产品和服务中的技术债务的特刊编辑
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-03 DOI: 10.1016/j.jss.2025.112687
Zadia Codabux , Rodrigo Spinola , Carolyn Seaman , Matthias Galster
{"title":"Editorial of the special issue in the journal of systems and software on managing technical debt in software-intensive products and services","authors":"Zadia Codabux ,&nbsp;Rodrigo Spinola ,&nbsp;Carolyn Seaman ,&nbsp;Matthias Galster","doi":"10.1016/j.jss.2025.112687","DOIUrl":"10.1016/j.jss.2025.112687","url":null,"abstract":"","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"233 ","pages":"Article 112687"},"PeriodicalIF":4.1,"publicationDate":"2025-11-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145685131","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}
引用次数: 0
Spectrum-based fault diagnosis with partial traces 基于谱的部分迹线故障诊断
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-02 DOI: 10.1016/j.jss.2025.112689
Bruno Sotto-Mayor, Roni Stern, Meir Kalech
Finding the root cause of observed software bugs, also referred to as software fault diagnosis, is a challenging problem that often must be solved in order to maintain software reliability. Spectrum-Based Fault Localization (SFL) is a powerful technique for automated software fault diagnosis that leverages execution traces. However, having the exact trace of every executed function is not common in real-world software projects, since tracing incurs significant overhead. Instead, many projects maintain log files to track execution, from which only partial execution traces may be extracted. This raises a key challenge: how can we diagnose fault faults (bugs) correctly given only partial execution traces?One way to do so is to run SFL using only the available partial traces. This approach is very limited, as it ignores all components that are not in the partial trace, which may even include the buggy components we are looking for. To overcome this limitation, we propose to use trace reconstruction techniques to synthetically add components to the given partial traces. These techniques analyze possible execution paths, which are extracted via static code analysis. In this work, we consider three trace reconstruction techniques: Rec-Min, Rec-Max, and Rec-Weighted. Rec-Min adds to the partial traces components present in all possible execution paths. Rec-Max adds to the partial trace components that exists in at least one execution path. Rec-Weighted applies a more refined approach. It assigns likelihood scores to the missing components based on the number of execution paths that pass through them. Then, it adapts SFL to intelligently consider these likelihood scores. Empirical evaluation on 109 faulty versions of 10 projects from the Defects4J dataset demonstrates that using our trace reconstruction techniques significantly enhances fault localization compared to the baseline SFL that only uses the partial traces. In some cases, using Rec-Weighted enabled reducing the wasted effort by 34.4 %.
找到观察到的软件错误的根本原因,也称为软件故障诊断,是一个具有挑战性的问题,为了保持软件的可靠性,经常必须解决这个问题。基于频谱的故障定位(SFL)是一种利用执行轨迹进行自动软件故障诊断的强大技术。然而,在实际的软件项目中,对每个执行的函数进行精确的跟踪并不常见,因为跟踪会产生大量的开销。相反,许多项目维护日志文件来跟踪执行,从中只能提取部分执行跟踪。这提出了一个关键的挑战:我们如何在只给出部分执行跟踪的情况下正确诊断错误(bug) ?这样做的一种方法是仅使用可用的部分迹线运行SFL。这种方法非常有限,因为它忽略了部分跟踪之外的所有组件,其中甚至可能包括我们正在寻找的有bug的组件。为了克服这一限制,我们建议使用轨迹重建技术来综合地向给定的部分轨迹添加分量。这些技术分析可能的执行路径,这些路径通过静态代码分析提取。在这项工作中,我们考虑了三种痕量重建技术:Rec-Min, Rec-Max和Rec-Weighted。Rec-Min将部分跟踪组件添加到所有可能的执行路径中。Rec-Max将添加到至少存在于一个执行路径中的部分跟踪组件中。Rec-Weighted采用了一种更精细的方法。它根据经过它们的执行路径的数量为缺失的组件分配可能性分数。然后,它调整SFL来智能地考虑这些似然分数。对来自Defects4J数据集的10个项目的109个错误版本的经验评估表明,与仅使用部分跟踪的基线SFL相比,使用我们的跟踪重建技术显著增强了故障定位。在某些情况下,使用Rec-Weighted可以减少34.4%的工作浪费。
{"title":"Spectrum-based fault diagnosis with partial traces","authors":"Bruno Sotto-Mayor,&nbsp;Roni Stern,&nbsp;Meir Kalech","doi":"10.1016/j.jss.2025.112689","DOIUrl":"10.1016/j.jss.2025.112689","url":null,"abstract":"<div><div>Finding the root cause of observed software bugs, also referred to as software fault diagnosis, is a challenging problem that often must be solved in order to maintain software reliability. Spectrum-Based Fault Localization (SFL) is a powerful technique for automated software fault diagnosis that leverages execution traces. However, having the exact trace of every executed function is not common in real-world software projects, since tracing incurs significant overhead. Instead, many projects maintain log files to track execution, from which only partial execution traces may be extracted. This raises a key challenge: <em>how can we diagnose fault faults (bugs) correctly given only partial execution traces?</em>One way to do so is to run SFL using only the available partial traces. This approach is very limited, as it ignores all components that are not in the partial trace, which may even include the buggy components we are looking for. To overcome this limitation, we propose to use <em>trace reconstruction</em> techniques to synthetically add components to the given partial traces. These techniques analyze possible execution paths, which are extracted via static code analysis. In this work, we consider three trace reconstruction techniques: Rec-Min, Rec-Max, and Rec-Weighted. Rec-Min adds to the partial traces components present in all possible execution paths. Rec-Max adds to the partial trace components that exists in at least one execution path. Rec-Weighted applies a more refined approach. It assigns likelihood scores to the missing components based on the number of execution paths that pass through them. Then, it adapts SFL to intelligently consider these likelihood scores. Empirical evaluation on <span>109</span> faulty versions of <span>10</span> projects from the Defects4J dataset demonstrates that using our trace reconstruction techniques significantly enhances fault localization compared to the baseline SFL that only uses the partial traces. In some cases, using Rec-Weighted enabled reducing the wasted effort by 34.4 %.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112689"},"PeriodicalIF":4.1,"publicationDate":"2025-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145520686","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}
引用次数: 0
Experimenting Architectural Patterns in Federated Learning Systems 在联邦学习系统中试验体系结构模式
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-01 DOI: 10.1016/j.jss.2025.112655
Ivan Compagnucci , Riccardo Pinciroli , Catia Trubiani
Federated Learning has emerged as a promising paradigm that enables collaborative model training while preserving data privacy, thus contributing to enhance user trust. However, the design of Federated Learning systems requires non-trivial architectural choices to address several challenges, such as system efficiency and learning accuracy. Architectural patterns for Federated Learning systems have been defined in the literature to handle these challenges, but their experimentation is limited. The objective of this paper is to empower software architects in their task of evaluating the design of FL systems while deciding which architectural alternatives are more beneficial in their context of adoption. Our methodology consists of a tool-based approach that embeds the implementation of six architectural patterns defined in the literature. The advantage is that software architects can select design alternatives either in isolation or in a combined fashion, and the subsequent analysis provides the evaluation of some metrics of interest. The experimental results indicate that architectural patterns can enhance system efficiency, although we found a combination of patterns that added overhead and turned to limit its benefit. By quantifying these trade-offs, we aim to support software architects in designing Federated Learning systems by evaluating the benefits and drawbacks of applying architectural patterns.
联邦学习已经成为一种很有前途的范例,它可以在保护数据隐私的同时实现协作模型训练,从而有助于增强用户信任。然而,联邦学习系统的设计需要重要的架构选择来解决几个挑战,比如系统效率和学习准确性。在文献中已经定义了联邦学习系统的架构模式来处理这些挑战,但是它们的实验是有限的。本文的目标是授权软件架构师评估FL系统的设计,同时决定哪种架构选择在其采用的环境中更有益。我们的方法由一个基于工具的方法组成,该方法嵌入了文献中定义的六个体系结构模式的实现。这样做的好处是,软件架构师可以单独或组合地选择设计方案,随后的分析提供了一些感兴趣的度量的评估。实验结果表明,体系结构模式可以提高系统效率,尽管我们发现模式的组合会增加开销并限制其效益。通过量化这些权衡,我们的目标是通过评估应用体系结构模式的优点和缺点来支持软件架构师设计联邦学习系统。
{"title":"Experimenting Architectural Patterns in Federated Learning Systems","authors":"Ivan Compagnucci ,&nbsp;Riccardo Pinciroli ,&nbsp;Catia Trubiani","doi":"10.1016/j.jss.2025.112655","DOIUrl":"10.1016/j.jss.2025.112655","url":null,"abstract":"<div><div>Federated Learning has emerged as a promising paradigm that enables collaborative model training while preserving data privacy, thus contributing to enhance user trust. However, the design of Federated Learning systems requires non-trivial architectural choices to address several challenges, such as system efficiency and learning accuracy. Architectural patterns for Federated Learning systems have been defined in the literature to handle these challenges, but their experimentation is limited. The objective of this paper is to empower software architects in their task of evaluating the design of FL systems while deciding which architectural alternatives are more beneficial in their context of adoption. Our methodology consists of a tool-based approach that embeds the implementation of six architectural patterns defined in the literature. The advantage is that software architects can select design alternatives either in isolation or in a combined fashion, and the subsequent analysis provides the evaluation of some metrics of interest. The experimental results indicate that architectural patterns can enhance system efficiency, although we found a combination of patterns that added overhead and turned to limit its benefit. By quantifying these trade-offs, we aim to support software architects in designing Federated Learning systems by evaluating the benefits and drawbacks of applying architectural patterns.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112655"},"PeriodicalIF":4.1,"publicationDate":"2025-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145466803","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}
引用次数: 0
Complementarity in software code complexity metrics 软件代码复杂性度量的互补性
IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-11-01 DOI: 10.1016/j.jss.2025.112679
Gao Hao , Haytham Hijazi , Júlio Medeiros , João Durães , Chan Tong Lam , Paulo De Carvalho , Henrique Madeira
Despite the widely accepted notion that software metrics like classic McCabe cyclomatic complexity (V(g)) or those provided by tools such as SonarQube (CC Sonar) represent code understandability from the perspective of a typical programmer, the accuracy of these metrics in reflecting perceived code understandability remains uncertain. This paper investigates the complementarity of code complexity metrics using a data-driven approach that incorporates linear and non-linear regression models.
To evaluate the complementarity of code metrics, a controlled experiment was conducted with 35 programmers of varying expertise, who read and comprehended a set of programs with varying levels of complexity. The complexity of the programs was initially measured using established metrics, and the cognitive load (CL) of the programmers was captured through electroencephalography (EEG) while they understood the code. Given the controlled conditions of the experiment (free from interruptions or distractions), the cognitive load measured by EEG accurately indicates the mental effort involved in understanding the code.
The study found that Halstead metrics (Effort and Difficulty) have a higher correlation with EEG-measured cognitive load (Spearman correlation rs=0.66 and 0.64, respectively) compared to V(g) (rs=0.33) and CC Sonar (rs=0.35). However, no single metric fully captured the complexity perceived by programmers, emphasizing the need for complementary metrics.
The results of combining multiple metrics through data-driven regression models significantly improved predictive accuracy, with Gaussian Process Regression achieving a maximum R² of 0.8742. These findings suggest that bridging the gap between static complexity metrics and the cognitive demands of code comprehension requires a hybrid approach that integrates complementary metrics, offering a more holistic view of code understandability.
尽管像经典McCabe圈复杂度(V(g))这样的软件度量标准或像SonarQube (CC Sonar)这样的工具提供的度量标准从典型程序员的角度表示代码的可理解性这一概念被广泛接受,但这些度量标准在反映感知到的代码可理解性方面的准确性仍然不确定。本文使用数据驱动的方法,结合线性和非线性回归模型,研究了代码复杂性度量的互补性。为了评估代码度量的互补性,对35名具有不同专业知识的程序员进行了控制实验,他们阅读并理解了一组具有不同复杂程度的程序。程序的复杂性最初是用既定的指标来衡量的,程序员在理解代码时的认知负荷(CL)是通过脑电图(EEG)来捕捉的。考虑到实验的受控条件(没有中断或干扰),脑电图测量的认知负荷准确地表明了理解代码所涉及的精神努力。研究发现,与V(g) (rs=0.33)和CC Sonar (rs=0.35)相比,Halstead指标(Effort和Difficulty)与脑电图测量的认知负荷具有更高的相关性(Spearman相关rs分别为0.66和0.64)。然而,没有一个度量标准能够完全捕捉到程序员所感知到的复杂性,这就强调了补充度量标准的必要性。通过数据驱动回归模型组合多个指标的结果显著提高了预测精度,其中高斯过程回归的最大R²为0.8742。这些发现表明,弥合静态复杂性度量和代码理解的认知需求之间的差距需要一种混合的方法,它集成了互补的度量,提供了一个更全面的代码可理解性视图。
{"title":"Complementarity in software code complexity metrics","authors":"Gao Hao ,&nbsp;Haytham Hijazi ,&nbsp;Júlio Medeiros ,&nbsp;João Durães ,&nbsp;Chan Tong Lam ,&nbsp;Paulo De Carvalho ,&nbsp;Henrique Madeira","doi":"10.1016/j.jss.2025.112679","DOIUrl":"10.1016/j.jss.2025.112679","url":null,"abstract":"<div><div>Despite the widely accepted notion that software metrics like classic McCabe cyclomatic complexity (V(g)) or those provided by tools such as SonarQube (CC Sonar) represent code understandability from the perspective of a typical programmer, the accuracy of these metrics in reflecting perceived code understandability remains uncertain. This paper investigates the complementarity of code complexity metrics using a data-driven approach that incorporates linear and non-linear regression models.</div><div>To evaluate the complementarity of code metrics, a controlled experiment was conducted with 35 programmers of varying expertise, who read and comprehended a set of programs with varying levels of complexity. The complexity of the programs was initially measured using established metrics, and the cognitive load (CL) of the programmers was captured through electroencephalography (EEG) while they understood the code. Given the controlled conditions of the experiment (free from interruptions or distractions), the cognitive load measured by EEG accurately indicates the mental effort involved in understanding the code.</div><div>The study found that Halstead metrics (Effort and Difficulty) have a higher correlation with EEG-measured cognitive load (Spearman correlation <span><math><mrow><msub><mi>r</mi><mi>s</mi></msub><mo>=</mo><mn>0.66</mn></mrow></math></span> and 0.64, respectively) compared to V(g) (<span><math><mrow><msub><mi>r</mi><mi>s</mi></msub><mo>=</mo><mn>0.33</mn></mrow></math></span>) and CC Sonar (<span><math><mrow><msub><mi>r</mi><mi>s</mi></msub><mo>=</mo><mn>0.35</mn></mrow></math></span>). However, no single metric fully captured the complexity perceived by programmers, emphasizing the need for complementary metrics.</div><div>The results of combining multiple metrics through data-driven regression models significantly improved predictive accuracy, with Gaussian Process Regression achieving a maximum R² of 0.8742. These findings suggest that bridging the gap between static complexity metrics and the cognitive demands of code comprehension requires a hybrid approach that integrates complementary metrics, offering a more holistic view of code understandability.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"232 ","pages":"Article 112679"},"PeriodicalIF":4.1,"publicationDate":"2025-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145466804","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}
引用次数: 0
期刊
Journal of Systems and Software
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1