首页 > 最新文献

Science of Computer Programming最新文献

英文 中文
An overview of research with Slco on seamless integration of formal verification into model-driven software engineering 与Slco一起对形式化验证与模型驱动软件工程无缝集成的研究概述
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-09-09 DOI: 10.1016/j.scico.2025.103386
Anton Wijs
In 2009, the Simple Language of Communicating Objects (Slco) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, all related to the construction of complex, component-based software, with formal verification being applied in every development step. This addresses our vision that formal verification should be seamlessly integrated into Model-Driven Software Engineering, to effectively develop correct software. In this article, we present this range of topics, and draw connections between the various, at first glance disparate, research results. We discuss the current status of the Slco framework, i.e., the language in combination with the tools, related work w.r.t. each of the topics, and plans for future work.
2009年,设计了简单对象通信语言(Slco)领域特定语言。从那时起,围绕这种语言开发了一系列工具,用于对广泛的主题进行研究,这些主题都与复杂的、基于组件的软件的构建有关,并且在每个开发步骤中都应用了正式的验证。这说明了我们的愿景,即正式的验证应该无缝地集成到模型驱动的软件工程中,以有效地开发正确的软件。在这篇文章中,我们提出了这一系列的主题,并在各种各样的,乍一看完全不同的研究结果之间建立联系。我们讨论了Slco框架的当前状态,即语言与工具的结合,每个主题的相关工作,以及未来工作的计划。
{"title":"An overview of research with Slco on seamless integration of formal verification into model-driven software engineering","authors":"Anton Wijs","doi":"10.1016/j.scico.2025.103386","DOIUrl":"10.1016/j.scico.2025.103386","url":null,"abstract":"<div><div>In 2009, the Simple Language of Communicating Objects (<span>Slco</span>) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, all related to the construction of complex, component-based software, with formal verification being applied in every development step. This addresses our vision that formal verification should be seamlessly integrated into Model-Driven Software Engineering, to effectively develop correct software. In this article, we present this range of topics, and draw connections between the various, at first glance disparate, research results. We discuss the current status of the <span>Slco</span> framework, i.e., the language in combination with the tools, related work w.r.t. each of the topics, and plans for future work.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103386"},"PeriodicalIF":1.4,"publicationDate":"2025-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145048851","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Preface for “Selected Papers from the 27th Ibero-American Conference on Software Engineering (CIbSE 2024)” “第27届伊比利亚-美洲软件工程会议(CIbSE 2024)论文选集”前言
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-31 DOI: 10.1016/j.scico.2025.103388
Edson Oliveira Jr (Guest Editors) , Ignacio García Rodríguez de Guzmán (Guest Editors) , Marcela Genero (Guest Editors) , Beatriz Marín (Guest Editors) , Guilherme Travassos (Guest Editors)
{"title":"Preface for “Selected Papers from the 27th Ibero-American Conference on Software Engineering (CIbSE 2024)”","authors":"Edson Oliveira Jr (Guest Editors) ,&nbsp;Ignacio García Rodríguez de Guzmán (Guest Editors) ,&nbsp;Marcela Genero (Guest Editors) ,&nbsp;Beatriz Marín (Guest Editors) ,&nbsp;Guilherme Travassos (Guest Editors)","doi":"10.1016/j.scico.2025.103388","DOIUrl":"10.1016/j.scico.2025.103388","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103388"},"PeriodicalIF":1.4,"publicationDate":"2025-08-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145415842","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Enhancing automated loop invariant generation for complex programs with large language models 增强具有大型语言模型的复杂程序的自动循环不变量生成
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-29 DOI: 10.1016/j.scico.2025.103387
Ruibang Liu, Minyu Chen, Ling-I Wu, Jingyu Ke, Guoqiang Li
Automated program verification has always been an important component of building trustworthy software. While the analysis of loops remains a theoretical challenge, the automation of loop invariant analysis has effectively resolved the problem. However, existing invariant generation tools are predominantly effective for programs with purely numerical or purely pointer-based structures. Real-world programs often mix complex data structures and control flows. These structures can include arrays, pointers, and recursive definitions, while control flows may involve multiple nested or concurrent loops. Traditional methods generally only generate invariants for simple numerical programs or specific segments, lacking broad applicability. In order to automatically generate loop invariants for real-world programs, we proposed ACInv, an Automated Complex program loop Invariant generation tool, which combines static analysis with prompting with Large Language Models (LLM) to generate the proper loop invariants. We employ static analysis to systematically decompose the program's data structures and loops. This involves layer-by-layer transmission of structural information about variables, numerical data, and the complete loop structure to the LLM, enabling the generation of corresponding invariants. In comparison to prior work on AutoSpec, we delve deeper into the variable information within each loop. We conducted experiments on ACInv, which showed that ACInv outperformed previous tools on data sets with data structures and maintained similar performance to the state-of-the-art tool AutoSpec on numerical programs without data structures. For the total data set, ACInv can solve 21% more examples than AutoSpec, and can generate reference data structure templates.
自动程序验证一直是构建可靠软件的重要组成部分。虽然循环分析仍然是一个理论挑战,但循环不变量分析的自动化有效地解决了这个问题。然而,现有的不变量生成工具主要对纯数值结构或纯基于指针结构的程序有效。现实世界的程序经常混合复杂的数据结构和控制流。这些结构可以包括数组、指针和递归定义,而控制流可能涉及多个嵌套或并发循环。传统方法一般只对简单的数值程序或特定的段生成不变量,缺乏广泛的适用性。为了自动生成现实世界程序的循环不变量,我们提出了ACInv,一个自动复杂程序循环不变量生成工具,它结合了静态分析和大型语言模型(LLM)的提示来生成适当的循环不变量。我们采用静态分析系统地分解程序的数据结构和循环。这涉及到将有关变量、数值数据和完整循环结构的结构信息逐层传输到LLM,从而能够生成相应的不变量。与AutoSpec之前的工作相比,我们更深入地研究了每个循环中的变量信息。我们在ACInv上进行了实验,结果表明ACInv在具有数据结构的数据集上优于以前的工具,并且在没有数据结构的数值程序上保持与最先进的工具AutoSpec相似的性能。对于整个数据集,ACInv可以比AutoSpec多解决21%的示例,并且可以生成参考数据结构模板。
{"title":"Enhancing automated loop invariant generation for complex programs with large language models","authors":"Ruibang Liu,&nbsp;Minyu Chen,&nbsp;Ling-I Wu,&nbsp;Jingyu Ke,&nbsp;Guoqiang Li","doi":"10.1016/j.scico.2025.103387","DOIUrl":"10.1016/j.scico.2025.103387","url":null,"abstract":"<div><div>Automated program verification has always been an important component of building trustworthy software. While the analysis of loops remains a theoretical challenge, the automation of loop invariant analysis has effectively resolved the problem. However, existing invariant generation tools are predominantly effective for programs with purely numerical or purely pointer-based structures. Real-world programs often mix complex data structures and control flows. These structures can include arrays, pointers, and recursive definitions, while control flows may involve multiple nested or concurrent loops. Traditional methods generally only generate invariants for simple numerical programs or specific segments, lacking broad applicability. In order to automatically generate loop invariants for real-world programs, we proposed <em>ACInv</em>, an Automated Complex program loop Invariant generation tool, which combines static analysis with prompting with Large Language Models (LLM) to generate the proper loop invariants. We employ static analysis to systematically decompose the program's data structures and loops. This involves layer-by-layer transmission of structural information about variables, numerical data, and the complete loop structure to the LLM, enabling the generation of corresponding invariants. In comparison to prior work on AutoSpec, we delve deeper into the variable information within each loop. We conducted experiments on ACInv, which showed that ACInv outperformed previous tools on data sets with data structures and maintained similar performance to the state-of-the-art tool AutoSpec on numerical programs without data structures. For the total data set, ACInv can solve 21% more examples than AutoSpec, and can generate reference data structure templates.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103387"},"PeriodicalIF":1.4,"publicationDate":"2025-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144922168","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Research software from the integrated Formal Methods (iFM) conference 2023 来自2023年综合形式方法(iFM)会议的研究软件
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-25 DOI: 10.1016/j.scico.2025.103384
Paula Herber (Editors of the Special Issue) , Muhammad Osama , Anton Wijs
{"title":"Research software from the integrated Formal Methods (iFM) conference 2023","authors":"Paula Herber (Editors of the Special Issue) ,&nbsp;Muhammad Osama ,&nbsp;Anton Wijs","doi":"10.1016/j.scico.2025.103384","DOIUrl":"10.1016/j.scico.2025.103384","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103384"},"PeriodicalIF":1.4,"publicationDate":"2025-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145412779","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Machine learning models for predicting software design effort 用于预测软件设计工作的机器学习模型
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-25 DOI: 10.1016/j.scico.2025.103385
Cuauhtémoc López-Martín
Software design is a distinctive activity within the software development life cycle (SDLC). It is typically undertaken by an independent, specialized team, whose budget relies on the required person-hours prediction (i.e., effort). An over-prediction could cause project rejection before starting, whereas an under-prediction may result project cancellation before completion. A common practice for predicting the effort percentage by activity involves calculating it from the total SDLC effort. However, the reported design effort using this method varies widely from 0.62% to 50.35%. Another practice involves using prediction models; however, systematic literature reviews published up to 2025 indicate the absence of models specifically applied for software design effort prediction (SDEP) by existing only models addressing the total SDLC effort. Thus, the present study applies two models to SDEP reported as most accurate in the effort prediction field: support vector regression (SVR), and Multi-layer perceptron (MLP) neural network. Their parameters are optimized through genetic algorithms, and their performance is compared to that of a statistical regression model (SRM). All models were trained on seven data sets selected from an international public repository of software projects used in dozens of studies on software effort prediction. Results show that SVR performed statistically better than SRM in five data sets and equally on the remaining two. MLP outperformed SRM on three data sets and equally on the resting four. Consequently, both MLP and SVR can be used to SDEP.
软件设计是软件开发生命周期(SDLC)中的一项独特活动。它通常由一个独立的、专门的团队承担,其预算依赖于所需的人-小时预测(即工作量)。过度预测可能导致项目在开始之前被拒绝,而预测不足可能导致项目在完成之前取消。通过活动预测工作量百分比的常见做法包括从总SDLC工作量中计算工作量百分比。然而,使用这种方法报道的设计努力从0.62%到50.35%不等。另一种做法是使用预测模型;然而,直到2025年发表的系统文献综述表明,通过解决全部SDLC工作的现有模型,缺乏专门应用于软件设计工作预测(SDEP)的模型。因此,本研究将支持向量回归(SVR)和多层感知器(MLP)神经网络两种模型应用于SDEP,这两种模型在努力预测领域中被认为是最准确的。通过遗传算法对其参数进行优化,并与统计回归模型(SRM)的性能进行比较。所有的模型都是在七个数据集上进行训练的,这些数据集是从软件项目的国际公共存储库中选择的,这些存储库用于几十项软件工作预测的研究。结果表明,SVR在五个数据集上的表现优于SRM,在其余两个数据集上表现相同。MLP在三个数据集上优于SRM,在其余四个数据集上表现相同。因此,MLP和SVR都可以用于SDEP。
{"title":"Machine learning models for predicting software design effort","authors":"Cuauhtémoc López-Martín","doi":"10.1016/j.scico.2025.103385","DOIUrl":"10.1016/j.scico.2025.103385","url":null,"abstract":"<div><div>Software design is a distinctive activity within the software development life cycle (SDLC). It is typically undertaken by an independent, specialized team, whose budget relies on the required person-hours prediction (i.e., effort). An over-prediction could cause project rejection before starting, whereas an under-prediction may result project cancellation before completion. A common practice for predicting the effort percentage by activity involves calculating it from the total SDLC effort. However, the reported design effort using this method varies widely from 0.62% to 50.35%. Another practice involves using prediction models; however, systematic literature reviews published up to 2025 indicate the absence of models specifically applied for software design effort prediction (SDEP) by existing only models addressing the total SDLC effort. Thus, the present study applies two models to SDEP reported as most accurate in the effort prediction field: support vector regression (SVR), and Multi-layer perceptron (MLP) neural network. Their parameters are optimized through genetic algorithms, and their performance is compared to that of a statistical regression model (SRM). All models were trained on seven data sets selected from an international public repository of software projects used in dozens of studies on software effort prediction. Results show that SVR performed statistically better than SRM in five data sets and equally on the remaining two. MLP outperformed SRM on three data sets and equally on the resting four. Consequently, both MLP and SVR can be used to SDEP.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103385"},"PeriodicalIF":1.4,"publicationDate":"2025-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144913043","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Enhancing decision-making for software architects: selecting appropriate architectural patterns based on quality attribute requirements 增强软件架构师的决策:根据质量属性需求选择合适的架构模式
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-19 DOI: 10.1016/j.scico.2025.103383
Maryam Gholami , Jafar Habibi , Maziar Goudarzi
Decision-making in software architecture is complex and requires expertise across domains. A key challenge is balancing software quality attributes. Architectural patterns, as knowledge repositories, offer solutions to recurring design problems. Thus, a structured approach to selecting patterns based on quality requirements is essential.
This paper presents an approach to improve decision-making in selecting architectural patterns concerning software quality attributes. Our method helps architects choose suitable patterns to achieve desired quality outcomes. For new or evolving systems, it recommends patterns aligned with target attributes, while for existing systems, it suggests improvements to enhance architecture.
We use Case-Based Reasoning (CBR) to achieve this goal. Eight architectural patterns were selected as cases, and relevant features were identified using the Repertory Grid Technique (RGT), with feature extraction performed by five experts. By computing similarity between RGT vectors and CBR cases, our method predicts the most appropriate pattern. The proposed approach achieves 83 % accuracy, demonstrating its effectiveness.
软件架构中的决策是复杂的,需要跨领域的专业知识。一个关键的挑战是平衡软件质量属性。架构模式作为知识库,为反复出现的设计问题提供解决方案。因此,基于质量需求选择模式的结构化方法是必不可少的。本文提出了一种改进基于软件质量属性的体系结构模式选择决策的方法。我们的方法帮助架构师选择合适的模式来实现期望的质量结果。对于新的或发展中的系统,它推荐与目标属性一致的模式,而对于现有的系统,它建议改进以增强体系结构。我们使用基于案例的推理(CBR)来实现这个目标。选择8种建筑模式作为案例,利用储备网格技术(RGT)识别相关特征,并由5名专家进行特征提取。通过计算RGT向量与CBR案例之间的相似性,我们的方法预测出最合适的模式。该方法的准确率达到83%,证明了其有效性。
{"title":"Enhancing decision-making for software architects: selecting appropriate architectural patterns based on quality attribute requirements","authors":"Maryam Gholami ,&nbsp;Jafar Habibi ,&nbsp;Maziar Goudarzi","doi":"10.1016/j.scico.2025.103383","DOIUrl":"10.1016/j.scico.2025.103383","url":null,"abstract":"<div><div>Decision-making in software architecture is complex and requires expertise across domains. A key challenge is balancing software quality attributes. Architectural patterns, as knowledge repositories, offer solutions to recurring design problems. Thus, a structured approach to selecting patterns based on quality requirements is essential.</div><div>This paper presents an approach to improve decision-making in selecting architectural patterns concerning software quality attributes. Our method helps architects choose suitable patterns to achieve desired quality outcomes. For new or evolving systems, it recommends patterns aligned with target attributes, while for existing systems, it suggests improvements to enhance architecture.</div><div>We use Case-Based Reasoning (CBR) to achieve this goal. Eight architectural patterns were selected as cases, and relevant features were identified using the Repertory Grid Technique (RGT), with feature extraction performed by five experts. By computing similarity between RGT vectors and CBR cases, our method predicts the most appropriate pattern. The proposed approach achieves 83 % accuracy, demonstrating its effectiveness.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103383"},"PeriodicalIF":1.4,"publicationDate":"2025-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144895138","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Type soundness of functional languages with subtyping in Lang-n-Prove Lang-n-Prove中子类型函数语言的类型稳健性
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-13 DOI: 10.1016/j.scico.2025.103380
Matteo Cimini, Joan Montas
Language verification is an important aspect in the cycle of programming language development, especially when such endeavor establishes properties of programming languages with mathematical proofs. Prior work proposed
, which is a domain-specific language for expressing language-parameterized proofs, that is, proofs that apply to classes of languages rather than a single language. Such work developed the language-parameterized proofs of type soundness (excluding the substitution lemmas) for a certain class of functional languages. In this paper, we extend that work to include subtyping. We have added new operations to
for expressing the proofs that are related to subtyping more naturally. We provide a semantics of our new system based on a compilation into proofs of the Abella proof assistant. Next, we develop language-parameterized proofs of type soundness (excluding the substitution lemmas) for the class of functional languages mentioned above, and of the equivalence between algorithmic and declarative subtyping. Our extended
generates Abella proofs that machine-check the type soundness of a nontrivial class of functional languages with declarative and algorithmic subtyping, when just a few simple lemmas are admitted.
语言验证是程序设计语言开发周期中的一个重要方面,特别是当这种努力通过数学证明来建立程序设计语言的特性时。先前提出的工作是,这是一种用于表达语言参数化证明的领域特定语言,也就是说,适用于语言类而不是单一语言的证明。这样的工作为某类函数式语言发展了类型稳健性的语言参数化证明(不包括代换引理)。在本文中,我们将这项工作扩展到包括子类型。我们添加了新的操作来更自然地表达与子类型相关的证明。我们提供了一个语义我们的新系统的基础上编译成证明的Abella证明助理。接下来,我们为上面提到的函数语言类开发类型稳健性(不包括替换引理)的语言参数化证明,以及算法子类型和声明子类型之间的等价性。我们的扩展生成了Abella证明,当只允许一些简单的引理时,机器检查具有声明性和算法子类型的非平凡函数语言类的类型合理性。
{"title":"Type soundness of functional languages with subtyping in Lang-n-Prove","authors":"Matteo Cimini,&nbsp;Joan Montas","doi":"10.1016/j.scico.2025.103380","DOIUrl":"10.1016/j.scico.2025.103380","url":null,"abstract":"<div><div>Language verification is an important aspect in the cycle of programming language development, especially when such endeavor establishes properties of programming languages with mathematical proofs. Prior work proposed <figure><img></figure>, which is a domain-specific language for expressing language-parameterized proofs, that is, proofs that apply to classes of languages rather than a single language. Such work developed the language-parameterized proofs of type soundness (excluding the substitution lemmas) for a certain class of functional languages. In this paper, we extend that work to include subtyping. We have added new operations to <figure><img></figure> for expressing the proofs that are related to subtyping more naturally. We provide a semantics of our new system based on a compilation into proofs of the Abella proof assistant. Next, we develop language-parameterized proofs of type soundness (excluding the substitution lemmas) for the class of functional languages mentioned above, and of the equivalence between algorithmic and declarative subtyping. Our extended <figure><img></figure> generates Abella proofs that machine-check the type soundness of a nontrivial class of functional languages with declarative and algorithmic subtyping, when just a few simple lemmas are admitted.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103380"},"PeriodicalIF":1.4,"publicationDate":"2025-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144867123","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Metric information mining with metric attention to boost software defect prediction performance 利用度量关注进行度量信息挖掘,提高软件缺陷预测性能
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-13 DOI: 10.1016/j.scico.2025.103381
Yongchang Ding , Wei Han , Zhiqiang Li , Haowen Chen , Linjun Chen , Rong Peng , Xiao-Yuan Jing
In the field of software engineering, defect prediction has always been a popular research direction. Currently, the research on traditional software defect prediction mainly focuses on metric features, which are derived from various descriptive rules. Many researchers have proposed a large number of defect prediction models based on these metric features and various framework models. However, the problem of data scarcity has severely hindered the development of the field. Therefore, this work proposes a new method, namely the Metric Attention Module (MAM), which excavates the correlations within the metric data features, between features, within modules, and between modules. By learning new data representations, MAM guides the model's learning process and ultimately improves the model's performance without changing the network framework structure. Additionally, the method is interpretable.
In this work, experiments were conducted in various task environments and on different datasets, all resulting in varying degrees of improvement. In the context of within-project defect prediction (WPDP), experiments with the MAM data model showed an average improvement of 14.7% in Accuracy, 15.9% in F1 score, 23.7% in AUC, and 65.1% in MCC. In cross-project defect prediction (CPDP), under more complex task environments, the model demonstrated excellent performance across multiple standard datasets. Compared to the baseline models and training results, the F1, Accuracy, and MCC scores improved by approximately 40%, 20%, and 50%, respectively.
在软件工程领域,缺陷预测一直是一个热门的研究方向。目前,传统的软件缺陷预测研究主要集中在度量特征上,度量特征是由各种描述规则派生出来的。许多研究者基于这些度量特征和各种框架模型提出了大量的缺陷预测模型。然而,数据稀缺问题严重阻碍了该领域的发展。因此,本文提出了一种新的方法,即度量关注模块(Metric Attention Module, MAM),该方法挖掘度量数据特征内部、特征之间、模块内以及模块之间的相关性。通过学习新的数据表示,MAM引导模型的学习过程,最终在不改变网络框架结构的情况下提高模型的性能。此外,该方法是可解释的。在这项工作中,在不同的任务环境和不同的数据集上进行了实验,都取得了不同程度的改进。在项目内缺陷预测(WPDP)的背景下,使用MAM数据模型的实验显示,准确率平均提高14.7%,F1评分提高15.9%,AUC提高23.7%,MCC提高65.1%。在跨项目缺陷预测(CPDP)中,在更复杂的任务环境下,该模型跨多个标准数据集表现出优异的性能。与基线模型和训练结果相比,F1、Accuracy和MCC得分分别提高了约40%、20%和50%。
{"title":"Metric information mining with metric attention to boost software defect prediction performance","authors":"Yongchang Ding ,&nbsp;Wei Han ,&nbsp;Zhiqiang Li ,&nbsp;Haowen Chen ,&nbsp;Linjun Chen ,&nbsp;Rong Peng ,&nbsp;Xiao-Yuan Jing","doi":"10.1016/j.scico.2025.103381","DOIUrl":"10.1016/j.scico.2025.103381","url":null,"abstract":"<div><div>In the field of software engineering, defect prediction has always been a popular research direction. Currently, the research on traditional software defect prediction mainly focuses on metric features, which are derived from various descriptive rules. Many researchers have proposed a large number of defect prediction models based on these metric features and various framework models. However, the problem of data scarcity has severely hindered the development of the field. Therefore, this work proposes a new method, namely the Metric Attention Module (MAM), which excavates the correlations within the metric data features, between features, within modules, and between modules. By learning new data representations, MAM guides the model's learning process and ultimately improves the model's performance without changing the network framework structure. Additionally, the method is interpretable.</div><div>In this work, experiments were conducted in various task environments and on different datasets, all resulting in varying degrees of improvement. In the context of within-project defect prediction (WPDP), experiments with the MAM data model showed an average improvement of 14.7% in Accuracy, 15.9% in F1 score, 23.7% in AUC, and 65.1% in MCC. In cross-project defect prediction (CPDP), under more complex task environments, the model demonstrated excellent performance across multiple standard datasets. Compared to the baseline models and training results, the F1, Accuracy, and MCC scores improved by approximately 40%, 20%, and 50%, respectively.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103381"},"PeriodicalIF":1.4,"publicationDate":"2025-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144861269","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Exact and sufficient schedulability tests for adaptive weakly-hard real-time mixed-criticality systems 自适应弱硬实时混合临界系统的精确和充分的可调度性测试
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-11 DOI: 10.1016/j.scico.2025.103382
Hossein Rabbiun , Mahmoud Shirazi , Jamal Mohammadi
This paper presents enhanced schedulability analysis techniques for Adaptive Mixed-Criticality systems with Weakly-Hard constraints (AMC-WH), where the low-criticality (LO) task jobs can continue to execute when the system switches to high-criticality (HI) mode. Prior AMC-WH studies typically adopt the skip-over model, in which up to s out of m consecutive LO task deadlines may be missed without violating system constraints. These approaches evaluate the Worst-Case Response Times (WCRT) of LO tasks under a fixed job execution pattern. In contrast, this work introduces a novel schedulability analysis framework based on the more general (m,k)-firm model, where each LO task must meet at least m out of any k consecutive deadlines. This extension allows for more flexible and configurable execution patterns for LO tasks after a mode transition, improving the adaptability of the system to varying operational conditions. Additionally, we propose an exact schedulability test for AMC-WH based on Response Time Analysis (RTA), which incorporates the (m,k)-firm model to precisely analyze schedulability by dynamically managing LO task execution patterns post-mode switch. Comprehensive experimental evaluations confirm the effectiveness and practicality of the proposed tests. In particular, our approach achieves an 18% improvement in schedulability compared to the AMC-WH skip-over baseline, while also optimizing resource utilization. By leveraging the flexibility of the (m,k)-firm model, our method supports a wide range of real-time applications with diverse tolerance levels for deadline misses, offering enhanced adaptability in LO task execution strategies.
本文提出了具有弱硬约束(AMC-WH)的自适应混合临界系统的增强可调度性分析技术,当系统切换到高临界(HI)模式时,低临界(LO)任务作业可以继续执行。先前的AMC-WH研究通常采用跳过模型,在不违反系统约束的情况下,可能会错过m个连续LO任务截止日期中的5个。这些方法在固定作业执行模式下评估LO任务的最坏情况响应时间(WCRT)。相比之下,这项工作引入了一种基于更一般的(m,k)公司模型的新颖可调度性分析框架,其中每个LO任务必须满足任意k个连续截止日期中的至少m个。此扩展允许在模式转换后为LO任务提供更灵活和可配置的执行模式,从而提高系统对不同操作条件的适应性。此外,我们提出了一种基于响应时间分析(RTA)的精确可调度性测试,该测试结合了(m,k) firm模型,通过动态管理LO任务执行模式后模式切换来精确分析可调度性。综合实验评价证实了所提测试的有效性和实用性。特别是,与AMC-WH跳过基线相比,我们的方法在可调度性方面提高了18%,同时还优化了资源利用率。通过利用(m,k)-firm模型的灵活性,我们的方法支持广泛的实时应用程序,具有对截止日期错过的不同容忍度,增强了LO任务执行策略的适应性。
{"title":"Exact and sufficient schedulability tests for adaptive weakly-hard real-time mixed-criticality systems","authors":"Hossein Rabbiun ,&nbsp;Mahmoud Shirazi ,&nbsp;Jamal Mohammadi","doi":"10.1016/j.scico.2025.103382","DOIUrl":"10.1016/j.scico.2025.103382","url":null,"abstract":"<div><div>This paper presents enhanced schedulability analysis techniques for Adaptive Mixed-Criticality systems with Weakly-Hard constraints (AMC-WH), where the low-criticality (LO) task jobs can continue to execute when the system switches to high-criticality (HI) mode. Prior AMC-WH studies typically adopt the skip-over model, in which up to <em>s</em> out of <em>m</em> consecutive LO task deadlines may be missed without violating system constraints. These approaches evaluate the Worst-Case Response Times (WCRT) of LO tasks under a fixed job execution pattern. In contrast, this work introduces a novel schedulability analysis framework based on the more general <span><math><mo>(</mo><mi>m</mi><mo>,</mo><mi>k</mi><mo>)</mo></math></span>-firm model, where each LO task must meet at least <em>m</em> out of any <em>k</em> consecutive deadlines. This extension allows for more flexible and configurable execution patterns for LO tasks after a mode transition, improving the adaptability of the system to varying operational conditions. Additionally, we propose an exact schedulability test for AMC-WH based on Response Time Analysis (RTA), which incorporates the <span><math><mo>(</mo><mi>m</mi><mo>,</mo><mi>k</mi><mo>)</mo></math></span>-firm model to precisely analyze schedulability by dynamically managing LO task execution patterns post-mode switch. Comprehensive experimental evaluations confirm the effectiveness and practicality of the proposed tests. In particular, our approach achieves an 18% improvement in schedulability compared to the AMC-WH skip-over baseline, while also optimizing resource utilization. By leveraging the flexibility of the <span><math><mo>(</mo><mi>m</mi><mo>,</mo><mi>k</mi><mo>)</mo></math></span>-firm model, our method supports a wide range of real-time applications with diverse tolerance levels for deadline misses, offering enhanced adaptability in LO task execution strategies.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103382"},"PeriodicalIF":1.4,"publicationDate":"2025-08-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144830040","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An ML-style module system for cross-stage type abstraction in multi-stage programming 一种面向多阶段编程跨阶段类型抽象的ml风格模块系统
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-11 DOI: 10.1016/j.scico.2025.103379
Takashi Suwa , Atsushi Igarashi
We propose MetaFM, a novel ML-style module system that enables users to decompose multi-stage programs (i.e., programs written in a typed multi-stage programming language) into loosely coupled components in a manner natural with respect to type abstraction. The distinctive aspect of MetaFM is that it allows values at different stages to be bound in a single structure (i.e., structend). This feature is crucial, for example, for defining a function and a macro that use one abstract type in common without revealing the implementation detail of that type. MetaFM also accommodates staging with full-fledged module-related features such as functors, higher-kinded types, and the with type-construct. We give two separate formalizations of MetaFM's semantics by employing the technique of elaborations, i.e., type-directed translations to target languages. Specifically, we first define F-ing Modules-based semantics as a set of elaboration rules that convert MetaFM programs into System Fω, a multi-stage extension of System Fω, and prove that the elaboration preserves typing. The existential quantification offered by System Fω demonstrates that a type abstraction mechanism is properly formalized in our language. Then, because our F-ing Modules-based semantics of staging has some issues as to the evaluation order, we give another elaboration by utilizing a method called static interpretation, which flattens nested structures into arrays of bindings and inlines functor applications through type-checking. While our F-ing Modules-based semantics cannot be naturally extended with effectful computations, the static interpretation-based one can easily accommodate effectful features such as mutable references, though this is achieved with the limitation that functors must be first-order for the moment. As a sideline, we develop a technique that simplifies the correctness proof of the static interpretation for first-order functors. Additionally, our language supports cross-stage persistence (CSP), a feature for code reuse spanning more than one stage, without breaking type safety. We also implemented a module system for a language of real-world use based on the latter semantics to demonstrate the utility of our formalization.
我们提出了MetaFM,一个新颖的ml风格的模块系统,它使用户能够将多阶段程序(即,用类型化的多阶段编程语言编写的程序)以一种与类型抽象相关的自然方式分解成松散耦合的组件。MetaFM的独特之处在于,它允许将不同阶段的值绑定在单个结构中(即struct⋯end)。例如,对于定义一个共用一个抽象类型的函数和宏,而不透露该类型的实现细节,这个特性是至关重要的。MetaFM还支持与成熟的模块相关的特性,如函子、高级类型和with类型构造。我们通过使用精化技术,即向目标语言进行类型导向翻译,给出了MetaFM语义的两种独立形式化形式。具体来说,我们首先将基于F-ing模块的语义定义为一组精化规则,该规则将MetaFM程序转换为System Fω < > (System Fω的多阶段扩展),并证明精化保留了类型化。System Fω < >提供的存在量化表明,在我们的语言中,类型抽象机制是正确形式化的。然后,由于我们的基于F-ing模块的分段语义在求值顺序方面存在一些问题,我们通过使用一种称为静态解释的方法进行了另一种阐述,该方法通过类型检查将嵌套结构扁平化为绑定数组和内联函子应用程序。虽然我们基于F-ing模块的语义不能自然地扩展为有效的计算,但基于静态解释的语义可以很容易地容纳有效的特性,如可变引用,尽管这是通过限制函子目前必须是一阶的来实现的。作为副业,我们开发了一种简化一阶函子静态解释正确性证明的技术。此外,我们的语言支持跨阶段持久性(CSP),这是一种跨多个阶段的代码重用功能,而不会破坏类型安全。我们还为基于后一种语义的实际使用的语言实现了一个模块系统,以演示我们的形式化的实用性。
{"title":"An ML-style module system for cross-stage type abstraction in multi-stage programming","authors":"Takashi Suwa ,&nbsp;Atsushi Igarashi","doi":"10.1016/j.scico.2025.103379","DOIUrl":"10.1016/j.scico.2025.103379","url":null,"abstract":"<div><div>We propose <em>MetaFM</em>, a novel ML-style module system that enables users to decompose <em>multi-stage programs</em> (i.e., programs written in a typed <em>multi-stage programming</em> language) into loosely coupled components in a manner natural with respect to type abstraction. The distinctive aspect of MetaFM is that it allows values at different stages to be bound in a single structure (i.e., <span><math><mrow><mi>struct</mi></mrow><mspace></mspace><mo>⋯</mo><mspace></mspace><mrow><mi>end</mi></mrow></math></span>). This feature is crucial, for example, for defining a function and a macro that use one abstract type in common without revealing the implementation detail of that type. MetaFM also accommodates staging with full-fledged module-related features such as <em>functors</em>, <em>higher-kinded types</em>, and the <strong>with type</strong><em>-construct</em>. We give two separate formalizations of MetaFM's semantics by employing the technique of <em>elaborations</em>, i.e., type-directed translations to target languages. Specifically, we first define <em>F-ing Modules</em>-based semantics as a set of elaboration rules that convert MetaFM programs into <em>System F</em><span><math><msup><mrow><mi>ω</mi></mrow><mrow><mo>〈</mo><mo>〉</mo></mrow></msup></math></span>, a multi-stage extension of System F<em>ω</em>, and prove that the elaboration preserves typing. The existential quantification offered by System F<span><math><msup><mrow><mi>ω</mi></mrow><mrow><mo>〈</mo><mo>〉</mo></mrow></msup></math></span> demonstrates that a type abstraction mechanism is properly formalized in our language. Then, because our F-ing Modules-based semantics of staging has some issues as to the evaluation order, we give another elaboration by utilizing a method called <em>static interpretation</em>, which flattens nested structures into arrays of bindings and inlines functor applications through type-checking. While our F-ing Modules-based semantics cannot be naturally extended with effectful computations, the static interpretation-based one can easily accommodate effectful features such as mutable references, though this is achieved with the limitation that functors must be first-order for the moment. As a sideline, we develop a technique that simplifies the correctness proof of the static interpretation for first-order functors. Additionally, our language supports <em>cross-stage persistence</em> (<em>CSP</em>), a feature for code reuse spanning more than one stage, without breaking type safety. We also implemented a module system for a language of real-world use based on the latter semantics to demonstrate the utility of our formalization.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103379"},"PeriodicalIF":1.4,"publicationDate":"2025-08-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144830041","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Science of Computer Programming
全部 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