首页 > 最新文献

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 : 2026-03-01 Epub 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":"2026-03-01","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
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 : 2026-03-01 Epub 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":"2026-03-01","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
Preface Special Issue SCICO on HSCC2024-software 特别发行SCICO on HSCC2024-software
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub Date: 2025-07-11 DOI: 10.1016/j.scico.2025.103364
Erika Abraham (The Guest Editor) , Manuel Mazo Espinosa (The Guest Editor)
{"title":"Preface Special Issue SCICO on HSCC2024-software","authors":"Erika Abraham (The Guest Editor) ,&nbsp;Manuel Mazo Espinosa (The Guest Editor)","doi":"10.1016/j.scico.2025.103364","DOIUrl":"10.1016/j.scico.2025.103364","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103364"},"PeriodicalIF":1.4,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145415937","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
The sampling threat when mining generalizable inter-library usage patterns 挖掘通用库间使用模式时的抽样威胁
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub Date: 2025-09-27 DOI: 10.1016/j.scico.2025.103393
Yunior Pacheco Correa , Coen De Roover , Johannes Härtel
Tool support in software engineering often relies on relationships, regularities, patterns, or rules mined from other users’ code. Examples include approaches to bug prediction, code recommendation, and code autocompletion. Mining is typically performed on samples of code rather than the entirety of available software projects. While sampling is crucial for scaling data analysis, it can affect the generalization of the mined patterns.
This paper focuses on sampling software projects filtered for specific libraries and frameworks, and on mining patterns that connect different libraries. We call these inter-library patterns. We observe that limiting the sample to a specific library may hinder the generalization of inter-library patterns, posing a threat to their use or interpretation. Using a simulation and a real case study, we show this threat for different sampling methods. Our simulation shows that only when sampling for the disjunction of both libraries involved in the implication of a pattern, the implication generalizes well. Additionally, we show that real empirical data sampled using the GitHub search API does not behave as expected from our simulation. This identifies a potential threat relevant for many studies that use the GitHub search API for studying inter-library patterns.
软件工程中的工具支持通常依赖于从其他用户代码中挖掘的关系、规则、模式或规则。示例包括bug预测、代码推荐和代码自动完成的方法。挖掘通常在代码样本上执行,而不是在整个可用的软件项目上执行。虽然采样对于扩展数据分析至关重要,但它会影响挖掘模式的泛化。本文关注的是为特定库和框架筛选的软件项目抽样,以及挖掘连接不同库的模式。我们称之为库间模式。我们观察到,将样本限制在特定的库中可能会阻碍库间模式的推广,对它们的使用或解释构成威胁。通过模拟和实际案例研究,我们展示了不同采样方法的这种威胁。我们的模拟表明,只有在对两个库的分离进行采样时,隐含的模式才能很好地泛化。此外,我们表明,使用GitHub搜索API采样的真实经验数据并不像我们的模拟所期望的那样。这对许多使用GitHub搜索API研究库间模式的研究来说是一个潜在的威胁。
{"title":"The sampling threat when mining generalizable inter-library usage patterns","authors":"Yunior Pacheco Correa ,&nbsp;Coen De Roover ,&nbsp;Johannes Härtel","doi":"10.1016/j.scico.2025.103393","DOIUrl":"10.1016/j.scico.2025.103393","url":null,"abstract":"<div><div>Tool support in software engineering often relies on relationships, regularities, patterns, or rules mined from other users’ code. Examples include approaches to bug prediction, code recommendation, and code autocompletion. Mining is typically performed on samples of code rather than the entirety of available software projects. While sampling is crucial for scaling data analysis, it can affect the generalization of the mined patterns.</div><div>This paper focuses on sampling software projects filtered for specific libraries and frameworks, and on mining patterns that connect different libraries. We call these inter-library patterns. We observe that limiting the sample to a specific library may hinder the generalization of inter-library patterns, posing a threat to their use or interpretation. Using a simulation and a real case study, we show this threat for different sampling methods. Our simulation shows that only when sampling for the disjunction of both libraries involved in the implication of a pattern, the implication generalizes well. Additionally, we show that real empirical data sampled using the GitHub search API does not behave as expected from our simulation. This identifies a potential threat relevant for many studies that use the GitHub search API for studying inter-library patterns.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103393"},"PeriodicalIF":1.4,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145219185","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 : 2026-03-01 Epub 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":"2026-03-01","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
Research software from the integrated Formal Methods (iFM) conference 2023 来自2023年综合形式方法(iFM)会议的研究软件
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub 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":"2026-03-01","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
A programming framework for distributed computing continuum systems 分布式计算连续体系统的编程框架
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub Date: 2025-07-24 DOI: 10.1016/j.scico.2025.103366
Zhehao Zhao, Yifeng Chen
Distributed Computing Continuum Systems (DCCS) integrate a large-scale cloud side and a wide-area heterogeneous edge side within the same network environment and is therefore a more general computing paradigm than cloud or edge computing. There are currently no programming technologies suitable for the support of DCCS application development. In this paper, we introduce a programming framework called Wolfs, which uses only basic programming constructs from programming-language theories. The framework is communication-centric in the sense that high-level communication models and lower-level communication protocols are organised in a hierarchy. Data-processing computations are inserted in the hierarchy as actions. This design allows application-level information to influence network routing and connection management. Wolfs programming is demonstrated in two case studies.
分布式计算连续系统(DCCS)在相同的网络环境中集成了大规模的云计算端和广域异构边缘计算端,因此是比云计算或边缘计算更通用的计算范式。目前还没有适合支持DCCS应用程序开发的编程技术。在本文中,我们介绍了一个称为Wolfs的编程框架,它只使用编程语言理论中的基本编程结构。该框架是以通信为中心的,因为高层通信模型和低层通信协议在层次结构中组织。数据处理计算作为操作插入到层次结构中。这种设计允许应用程序级信息影响网络路由和连接管理。Wolfs编程在两个案例研究中进行了演示。
{"title":"A programming framework for distributed computing continuum systems","authors":"Zhehao Zhao,&nbsp;Yifeng Chen","doi":"10.1016/j.scico.2025.103366","DOIUrl":"10.1016/j.scico.2025.103366","url":null,"abstract":"<div><div>Distributed Computing Continuum Systems (DCCS) integrate a large-scale cloud side and a wide-area heterogeneous edge side within the same network environment and is therefore a more general computing paradigm than cloud or edge computing. There are currently no programming technologies suitable for the support of DCCS application development. In this paper, we introduce a programming framework called <span>Wolfs</span>, which uses only basic programming constructs from programming-language theories. The framework is communication-centric in the sense that high-level communication models and lower-level communication protocols are organised in a hierarchy. Data-processing computations are inserted in the hierarchy as actions. This design allows application-level information to influence network routing and connection management. <span>Wolfs</span> programming is demonstrated in two case studies.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103366"},"PeriodicalIF":1.4,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144723776","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
Intrathread method orders based adaptive testing of concurrent objects 基于线程内方法顺序的并发对象自适应测试
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub Date: 2025-07-15 DOI: 10.1016/j.scico.2025.103362
Yibo Dai , Li Xie , Peng Wu , Shecheng Cui , Linhai Ma
Concurrent data structures or classes are designed to provide safe accesses and simultaneous updates by multiple threads to shared objects in a concurrent environment, with the goal of enhancing parallelism and throughput. However, testing concurrent objects poses significant challenges due to the potential explosion of concurrency test spaces, the variety of programming vulnerabilities, and the inherent nondeterminism of concurrent test executions. In this paper, we propose an Intrathread Method Orders based Adaptive Concurrency Testing (IMOACT) framework for concurrent objects. IMOACT can capture diverse behaviors of interthread method pairs through characterizing concurrent execution contexts with intrathread method orders. Moreover, IMOACT can adaptively optimize concurrent test executions by generating scheduling sequences based on the key scheduling points visited so far, streamlining test generation and execution organically across multiple tests. Experimental case studies with typical C/C++ concurrent classes demonstrate that IMOACT outperforms baseline approaches. On average, IMOACT promotes the effectiveness of detecting concurrency bugs by 65%, and achieves a speedup of 2.43x compared to the underlying state-of-the-art concurrency testing approach.
并发数据结构或类旨在为多线程对并发环境中的共享对象提供安全访问和同步更新,其目标是增强并行性和吞吐量。然而,由于并发测试空间的潜在爆炸、编程漏洞的多样性以及并发测试执行固有的不确定性,测试并发对象带来了重大挑战。本文提出了一种基于线程内方法顺序的自适应并发测试(IMOACT)框架。IMOACT可以通过用线程内方法顺序描述并发执行上下文来捕获线程间方法对的各种行为。此外,IMOACT可以通过基于目前访问的关键调度点生成调度序列来自适应地优化并发测试执行,从而跨多个测试有机地简化测试生成和执行。典型C/ c++并发类的实验案例研究表明,IMOACT优于基线方法。平均而言,IMOACT将并发bug检测的效率提高了65%,与底层最先进的并发测试方法相比,速度提高了2.43倍。
{"title":"Intrathread method orders based adaptive testing of concurrent objects","authors":"Yibo Dai ,&nbsp;Li Xie ,&nbsp;Peng Wu ,&nbsp;Shecheng Cui ,&nbsp;Linhai Ma","doi":"10.1016/j.scico.2025.103362","DOIUrl":"10.1016/j.scico.2025.103362","url":null,"abstract":"<div><div>Concurrent data structures or classes are designed to provide safe accesses and simultaneous updates by multiple threads to shared objects in a concurrent environment, with the goal of enhancing parallelism and throughput. However, testing concurrent objects poses significant challenges due to the potential explosion of concurrency test spaces, the variety of programming vulnerabilities, and the inherent nondeterminism of concurrent test executions. In this paper, we propose an Intrathread Method Orders based Adaptive Concurrency Testing (IMOACT) framework for concurrent objects. IMOACT can capture diverse behaviors of interthread method pairs through characterizing concurrent execution contexts with intrathread method orders. Moreover, IMOACT can adaptively optimize concurrent test executions by generating scheduling sequences based on the key scheduling points visited so far, streamlining test generation and execution organically across multiple tests. Experimental case studies with typical C/C++ concurrent classes demonstrate that IMOACT outperforms baseline approaches. On average, IMOACT promotes the effectiveness of detecting concurrency bugs by 65%, and achieves a speedup of 2.43x compared to the underlying state-of-the-art concurrency testing approach.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103362"},"PeriodicalIF":1.5,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144663008","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
PANTHER: Pluginizable testing environment for network protocols PANTHER:可插入的网络协议测试环境
IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2026-03-01 Epub Date: 2025-09-20 DOI: 10.1016/j.scico.2025.103389
Christophe Crochet , John Aoga , Axel Legay
We propose PANTHER, a modular and extensible framework for automated testing and verification of network protocols. PANTHER lets researchers plug in arbitrary protocol implementations, tester scripts, and network topologies to conduct experiments. Internally, it combines Microsoft’s Ivy tool for formal specification with the Shadow network simulator to handle time-varying behavior and real network conditions with reproducibility. Experiments are configured via simple YAML files and executed in Docker containers, ensuring easy deployment. We demonstrate PANTHER with a case study on the Quick UDP Internet Connections (QUIC) protocol. All code and experiment setups are publicly available for replication.
我们提出PANTHER,一个模块化和可扩展的框架,用于自动测试和验证网络协议。PANTHER允许研究人员插入任意协议实现、测试脚本和网络拓扑来进行实验。在内部,它将微软的Ivy工具与Shadow网络模拟器结合起来,用于正式规范,以处理时变行为和具有再现性的真实网络条件。通过简单的YAML文件配置实验,并在Docker容器中执行,确保易于部署。我们通过快速UDP互联网连接(QUIC)协议的案例研究来演示PANTHER。所有代码和实验设置都是公开的,可用于复制。
{"title":"PANTHER: Pluginizable testing environment for network protocols","authors":"Christophe Crochet ,&nbsp;John Aoga ,&nbsp;Axel Legay","doi":"10.1016/j.scico.2025.103389","DOIUrl":"10.1016/j.scico.2025.103389","url":null,"abstract":"<div><div>We propose PANTHER, a modular and extensible framework for automated testing and verification of network protocols. PANTHER lets researchers plug in arbitrary protocol implementations, tester scripts, and network topologies to conduct experiments. Internally, it combines Microsoft’s Ivy tool for formal specification with the Shadow network simulator to handle time-varying behavior and real network conditions with reproducibility. Experiments are configured via simple YAML files and executed in Docker containers, ensuring easy deployment. We demonstrate PANTHER with a case study on the Quick UDP Internet Connections (QUIC) protocol. All code and experiment setups are publicly available for replication.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103389"},"PeriodicalIF":1.4,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145219184","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 : 2026-03-01 Epub 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":"2026-03-01","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
期刊
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