首页 > 最新文献

Science of Computer Programming最新文献

英文 中文
Toward a prioritization approach for third-party software library updates 面向第三方软件库更新的优先级方法
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-12-01 Epub Date: 2025-05-08 DOI: 10.1016/j.scico.2025.103331
Abdalrahman Aburakhia , Mohammad Alshayeb
Third-party libraries (TPLs) have been widely used in software development. Recent studies showed that software developers struggle to manage the dependencies between third-party libraries for many reasons, such as unknown update efforts and the lack of awareness about related security issues. To overcome these limitations, in this paper, we propose a TPL update prioritization approach, which provides valuable insights for mobile app developers to help improve the decision-making process. We investigate mobile app developers’ behavior while updating TPLs through a survey with 39 practitioners. The results clearly show the need for a prioritization approach. To gain more insight into TPL, we propose five TPL categories (Compatibility, Accessibility, Maintenance, Business Value, and Security) and propose metrics to measure the related factors of each category. We utilize the Analytical Hierarchy Process (AHP) and the Simple Additive Weighting (SAW) methods to rank the libraries for the update and automate the approach via a chatbot. We conducted a case study with 7 participants. Most participants (82 %) found the bot’s results useful; moreover, the bot can save software developers around 4 min per task, with an average of 18 s per task compared to 243 s by the baseline.
第三方库(tpl)在软件开发中得到了广泛的应用。最近的研究表明,由于许多原因,软件开发人员难以管理第三方库之间的依赖关系,例如未知的更新工作和缺乏对相关安全问题的认识。为了克服这些限制,在本文中,我们提出了一种TPL更新优先级方法,为移动应用程序开发人员提供了有价值的见解,以帮助改进决策过程。通过对39名从业者的调查,我们调查了移动应用程序开发人员在更新tpl时的行为。结果清楚地表明需要一个优先排序的方法。为了更深入地了解TPL,我们提出了五个TPL类别(兼容性、可访问性、维护、业务价值和安全性),并提出了度量每个类别相关因素的指标。我们利用分析层次过程(AHP)和简单加性加权(SAW)方法对库进行更新排名,并通过聊天机器人自动化该方法。我们对7名参与者进行了案例研究。大多数参与者(82%)认为机器人的结果有用;此外,机器人可以为软件开发人员每个任务节省大约4分钟,平均每个任务节省18秒,而基线为243秒。
{"title":"Toward a prioritization approach for third-party software library updates","authors":"Abdalrahman Aburakhia ,&nbsp;Mohammad Alshayeb","doi":"10.1016/j.scico.2025.103331","DOIUrl":"10.1016/j.scico.2025.103331","url":null,"abstract":"<div><div>Third-party libraries (TPLs) have been widely used in software development. Recent studies showed that software developers struggle to manage the dependencies between third-party libraries for many reasons, such as unknown update efforts and the lack of awareness about related security issues. To overcome these limitations, in this paper, we propose a TPL update prioritization approach, which provides valuable insights for mobile app developers to help improve the decision-making process. We investigate mobile app developers’ behavior while updating TPLs through a survey with 39 practitioners. The results clearly show the need for a prioritization approach. To gain more insight into TPL, we propose five TPL categories (Compatibility, Accessibility, Maintenance, Business Value, and Security) and propose metrics to measure the related factors of each category. We utilize the Analytical Hierarchy Process (AHP) and the Simple Additive Weighting (SAW) methods to rank the libraries for the update and automate the approach via a chatbot. We conducted a case study with 7 participants. Most participants (82 %) found the bot’s results useful; moreover, the bot can save software developers around 4 min per task, with an average of 18 s per task compared to 243 s by the baseline.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103331"},"PeriodicalIF":1.5,"publicationDate":"2025-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144068895","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
Fuzzing microservices: A series of user studies in industry on industrial systems with EvoMaster 模糊微服务:使用EvoMaster对工业系统进行一系列用户研究
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-12-01 Epub Date: 2025-05-14 DOI: 10.1016/j.scico.2025.103322
Man Zhang , Andrea Arcuri , Yonggang Li , Yang Liu , Kaiming Xue , Zhao Wang , Jian Huo , Weiwei Huang
With several microservice architectures comprising thousands of web services in total, used to serve 630 million customers, companies like Meituan face several challenges in the verification and validation of their software. The use of automated techniques, especially advanced AI-based ones, could bring significant benefits here. EvoMaster is an open-source test case generation tool for web services, that exploits the latest advances in the field of Search-Based Software Testing research. This paper reports on our experience of integrating the EvoMaster tool in the testing processes at Meituan over almost 2 years (i.e., between October 2021 and July 2023). Two user studies were carried out in 2021 (with two industrial APIs) and in 2023 (with three industrial APIs) to evaluate two versions of EvoMaster (i.e., v1.3.0 and v1.6.1), respectively, in tackling the test generation for industrial web services which are parts of a large e-commerce microservice system. The two user studies involve in total 321,131 lines of code from these five APIs and 27 industrial participants at Meituan. Questionnaires and interviews were carried out in both user studies with the engineers and managers at Meituan. The two user studies demonstrate clear advantages of EvoMaster (in terms of code coverage and fault detection) and the urgent need to have such a fuzzer in industrial microservices testing. Given its clear advantages, EvoMaster now has been integrated into the industrial testing pipelines at Meituan. To study how these results could generalize, a follow up user study was done in 2024 (with EvoMaster v2.0.0) with five engineers in the five different companies. Our results show that, besides their clear usefulness, there are still many critical challenges that the research community needs to investigate to improve performance further.
有几个微服务架构,总共包含数千个web服务,用于服务6.3亿客户,像美团这样的公司在软件的验证和验证方面面临着一些挑战。自动化技术的使用,尤其是先进的基于人工智能的技术,可以在这方面带来显著的好处。EvoMaster是一个用于web服务的开源测试用例生成工具,它利用了基于搜索的软件测试研究领域的最新进展。本文报告了我们将EvoMaster工具集成到美团近2年(即2021年10月至2023年7月)的测试过程中的经验。在2021年(有两个工业api)和2023年(有三个工业api)进行了两项用户研究,分别评估了两个版本的EvoMaster(即v1.3.0和v1.6.1),以解决作为大型电子商务微服务系统一部分的工业web服务的测试生成。这两项用户研究共涉及来自这五个api的321,131行代码和美团的27个行业参与者。在用户研究中,对美团的工程师和管理人员进行了问卷调查和访谈。这两个用户研究证明了EvoMaster的明显优势(在代码覆盖和故障检测方面),以及在工业微服务测试中迫切需要这样一个模糊器。鉴于其明显的优势,EvoMaster现已被整合到美团的工业测试管道中。为了研究这些结果如何推广,我们在2024年(使用EvoMaster v2.0.0)对五家不同公司的五名工程师进行了后续用户研究。我们的研究结果表明,除了它们明显的有用性之外,研究界仍然需要研究许多关键的挑战,以进一步提高性能。
{"title":"Fuzzing microservices: A series of user studies in industry on industrial systems with EvoMaster","authors":"Man Zhang ,&nbsp;Andrea Arcuri ,&nbsp;Yonggang Li ,&nbsp;Yang Liu ,&nbsp;Kaiming Xue ,&nbsp;Zhao Wang ,&nbsp;Jian Huo ,&nbsp;Weiwei Huang","doi":"10.1016/j.scico.2025.103322","DOIUrl":"10.1016/j.scico.2025.103322","url":null,"abstract":"<div><div>With several microservice architectures comprising thousands of web services in total, used to serve 630 million customers, companies like Meituan face several challenges in the verification and validation of their software. The use of automated techniques, especially advanced AI-based ones, could bring significant benefits here. <span>EvoMaster</span> is an open-source test case generation tool for web services, that exploits the latest advances in the field of Search-Based Software Testing research. This paper reports on our experience of integrating the <span>EvoMaster</span> tool in the testing processes at Meituan over almost 2 years (i.e., between October 2021 and July 2023). Two user studies were carried out in 2021 (with two industrial APIs) and in 2023 (with three industrial APIs) to evaluate two versions of <span>EvoMaster</span> (i.e., v1.3.0 and v1.6.1), respectively, in tackling the test generation for industrial web services which are parts of a large e-commerce microservice system. The two user studies involve in total 321,131 lines of code from these five APIs and 27 industrial participants at Meituan. Questionnaires and interviews were carried out in both user studies with the engineers and managers at Meituan. The two user studies demonstrate clear advantages of <span>EvoMaster</span> (in terms of code coverage and fault detection) and the urgent need to have such a fuzzer in industrial microservices testing. Given its clear advantages, <span>EvoMaster</span> now has been integrated into the industrial testing pipelines at Meituan. To study how these results could generalize, a follow up user study was done in 2024 (with <span>EvoMaster</span> v2.0.0) with five engineers in the five different companies. Our results show that, besides their clear usefulness, there are still many critical challenges that the research community needs to investigate to improve performance further.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103322"},"PeriodicalIF":1.5,"publicationDate":"2025-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144167753","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
ESBMC v7.6: Enhanced model checking of C++ programs with clang AST ESBMC v7.6:使用clang AST增强c++程序的模型检查
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-12-01 Epub Date: 2025-05-26 DOI: 10.1016/j.scico.2025.103336
Xianzhiyu Li , Kunjian Song , Mikhail R. Gadelha , Franz Brauße , Rafael S. Menezes , Konstantin Korovin , Lucas C. Cordeiro
This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. [1]. The v7.3 introduced a new Clang-based C++ front-end to address the challenges posed by modern C++ programs. Although the new front-end has demonstrated significant potential in previous studies, it remains in the developmental stage and lacks several essential features. ESBMC v7.6 further enhanced this foundation by adding and extending features based on the Clang AST, such as
exception handling,
extended memory management and memory safety verification, including dangling pointers, duplicate deallocation, memory leaks and rvalue references and
new operational models for STL updating the outdated C++ operational models. Our extensive experiments demonstrate that ESBMC v7.6 can handle a significantly broader range of C++ features introduced in recent versions of the C++ standard.
本文介绍了高效的基于smt的上下文边界模型检查器(ESBMC) v7.6,这是K. Song等人基于ESBMC v7.3的先前工作的扩展版本。v7.3引入了一个新的基于clang的c++前端,以解决现代c++程序带来的挑战。虽然新的前端在以往的研究中显示出巨大的潜力,但它仍处于发展阶段,缺乏几个基本特征。ESBMC v7.6通过添加和扩展基于Clang AST的特性进一步增强了这个基础,例如异常处理、扩展内存管理和内存安全验证(包括悬空指针、重复释放、内存泄漏和右值引用),以及用于STL的新操作模型(更新过时的c++操作模型)。我们的大量实验表明,ESBMC v7.6可以处理最近版本的c++标准中引入的更广泛的c++特性。
{"title":"ESBMC v7.6: Enhanced model checking of C++ programs with clang AST","authors":"Xianzhiyu Li ,&nbsp;Kunjian Song ,&nbsp;Mikhail R. Gadelha ,&nbsp;Franz Brauße ,&nbsp;Rafael S. Menezes ,&nbsp;Konstantin Korovin ,&nbsp;Lucas C. Cordeiro","doi":"10.1016/j.scico.2025.103336","DOIUrl":"10.1016/j.scico.2025.103336","url":null,"abstract":"<div><div>This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. <span><span>[1]</span></span>. The v7.3 introduced a new Clang-based C++ front-end to address the challenges posed by modern C++ programs. Although the new front-end has demonstrated significant potential in previous studies, it remains in the developmental stage and lacks several essential features. ESBMC v7.6 further enhanced this foundation by adding and extending features based on the Clang AST, such as <figure><img></figure> exception handling, <figure><img></figure> extended memory management and memory safety verification, including dangling pointers, duplicate deallocation, memory leaks and rvalue references and <figure><img></figure> new operational models for STL updating the outdated C++ operational models. Our extensive experiments demonstrate that ESBMC v7.6 can handle a significantly broader range of C++ features introduced in recent versions of the C++ standard.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103336"},"PeriodicalIF":1.5,"publicationDate":"2025-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144139534","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
DopSteg: Program steganography using data-oriented programming 使用面向数据编程的程序隐写术
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-01 DOI: 10.1016/j.scico.2025.103311
Jianqiang Lv , Cai Fu , Liangheng Chen , Ming Liu , Shuai He , Shuai Jiang , Lansheng Han
Many methods have been proposed to utilize software obfuscation techniques to steganographically embed certain code logic within a program, thereby enhancing the protection of software intellectual property. Currently, the protective effect of software obfuscation primarily focuses on safeguarding the native semantics of the target program, with little attention paid to the obfuscation of steganographic semantics. For instance, in the context of software copyright protection, code watermarks need to be embedded into the target program, and the ability to localize the watermark code becomes a critical means for attackers to bypass copyright protection. However, existing watermark code suffers from several shortcomings, such as low integration with the target program, weak resistance to dynamic reverse analysis, poor concealment, and ease of localization. This paper proposes a novel code semantic steganography scheme, DopSteg. The scheme leverages the principles of data-oriented programming, first determining the data-safe zones and semantic execution zones. Based on the semantic execution zones, the intermediate representation of the target software is partitioned. Through control flow flattening, reusable code fragments are encapsulated within the ‘switch’ branches of loop structures, thereby achieving code semantic steganography. A Turing completeness analysis of DopSteg demonstrates its capability to steganographically embed complex semantics. Experimental evaluations show that DopSteg increases instruction entropy by an average of approximately 140%, enabling deeper semantic steganography. Reverse analysis requires additional effort to analyze the steganographic semantic logic, significantly enhancing resistance to dynamic analysis while maintaining stable overhead. DopSteg provides a novel approach to software copyright protection.
人们提出了许多利用软件混淆技术在程序中隐写嵌入某些代码逻辑的方法,从而增强了对软件知识产权的保护。目前,软件混淆的保护作用主要集中在保护目标程序的原生语义上,很少关注隐写语义的混淆。例如,在软件版权保护的背景下,需要将代码水印嵌入到目标程序中,水印代码的本地化能力成为攻击者绕过版权保护的关键手段。但是,现有的水印代码存在与目标程序集成程度低、抗动态反分析能力弱、隐蔽性差、易定位等缺点。本文提出了一种新的代码语义隐写方案DopSteg。该方案利用面向数据的编程原则,首先确定数据安全区和语义执行区。基于语义执行区,对目标软件的中间表示进行了划分。通过控制流扁平化,可重用代码片段被封装在循环结构的“开关”分支中,从而实现代码语义隐写。对DopSteg的图灵完备性分析证明了其隐写嵌入复杂语义的能力。实验评估表明,DopSteg将指令熵平均提高了约140%,实现了更深层次的语义隐写。反向分析需要额外的工作来分析隐写语义逻辑,这大大增强了对动态分析的抵抗力,同时保持稳定的开销。DopSteg为软件版权保护提供了一种新颖的方法。
{"title":"DopSteg: Program steganography using data-oriented programming","authors":"Jianqiang Lv ,&nbsp;Cai Fu ,&nbsp;Liangheng Chen ,&nbsp;Ming Liu ,&nbsp;Shuai He ,&nbsp;Shuai Jiang ,&nbsp;Lansheng Han","doi":"10.1016/j.scico.2025.103311","DOIUrl":"10.1016/j.scico.2025.103311","url":null,"abstract":"<div><div>Many methods have been proposed to utilize software obfuscation techniques to steganographically embed certain code logic within a program, thereby enhancing the protection of software intellectual property. Currently, the protective effect of software obfuscation primarily focuses on safeguarding the native semantics of the target program, with little attention paid to the obfuscation of steganographic semantics. For instance, in the context of software copyright protection, code watermarks need to be embedded into the target program, and the ability to localize the watermark code becomes a critical means for attackers to bypass copyright protection. However, existing watermark code suffers from several shortcomings, such as low integration with the target program, weak resistance to dynamic reverse analysis, poor concealment, and ease of localization. This paper proposes a novel code semantic steganography scheme, DopSteg. The scheme leverages the principles of data-oriented programming, first determining the data-safe zones and semantic execution zones. Based on the semantic execution zones, the intermediate representation of the target software is partitioned. Through control flow flattening, reusable code fragments are encapsulated within the ‘switch’ branches of loop structures, thereby achieving code semantic steganography. A Turing completeness analysis of DopSteg demonstrates its capability to steganographically embed complex semantics. Experimental evaluations show that DopSteg increases instruction entropy by an average of approximately 140%, enabling deeper semantic steganography. Reverse analysis requires additional effort to analyze the steganographic semantic logic, significantly enhancing resistance to dynamic analysis while maintaining stable overhead. DopSteg provides a novel approach to software copyright protection.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103311"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143791249","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 automation of design model repair 设计模型修复的自动化
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-03 DOI: 10.1016/j.scico.2025.103313
Cheng-Hao Cai , Jing Sun , Gillian Dobbie
A design model is the abstract representation of an actual process or software product. Although some software faults can be found by diagnosing design models before implementation, repairing the design models is time-consuming to software developers. To achieve faster software development, this paper introduces an automated approach to generally repair design models diagnosed by model checking. Model checkers are used to detect faults such as unreachable goals and violated properties in design models. Such faults are eliminated in parallel by insertion, modification and deletion operators found by constraint solving and predictive models. The outcomes of model repair are evaluated using the ISO/IEC 25010 software quality metrics. Experimental results have demonstrated that the proposed approach can eliminate unreachable goals and invariant violations in various design models while preserving their model quality. The effectiveness and performance of such design model repair processes depend mainly on the complexity of design model, the efficiency of constraint solver and the accuracy of predictive model. This study indicates that model-driven software development can be more efficient by automating model diagnosis, fault elimination and quality evaluation.
设计模型是实际过程或软件产品的抽象表示。虽然在实现之前可以通过诊断设计模型来发现一些软件故障,但修复设计模型对于软件开发人员来说是非常耗时的。为了实现更快的软件开发,本文介绍了一种通过模型检查诊断出的设计模型的自动修复方法。模型检查器用于检测设计模型中的错误,例如无法到达的目标和违反的属性。通过约束求解和预测模型找到插入、修改和删除算子,并行地消除这些故障。模型修复的结果使用ISO/IEC 25010软件质量指标进行评估。实验结果表明,该方法可以在保证模型质量的前提下消除各种设计模型中的不可达目标和不变性违例。设计模型修复过程的有效性和性能主要取决于设计模型的复杂性、约束求解器的效率和预测模型的准确性。该研究表明,模型驱动软件开发可以通过模型诊断、故障排除和质量评估的自动化来提高开发效率。
{"title":"The automation of design model repair","authors":"Cheng-Hao Cai ,&nbsp;Jing Sun ,&nbsp;Gillian Dobbie","doi":"10.1016/j.scico.2025.103313","DOIUrl":"10.1016/j.scico.2025.103313","url":null,"abstract":"<div><div>A design model is the abstract representation of an actual process or software product. Although some software faults can be found by diagnosing design models before implementation, repairing the design models is time-consuming to software developers. To achieve faster software development, this paper introduces an automated approach to generally repair design models diagnosed by model checking. Model checkers are used to detect faults such as unreachable goals and violated properties in design models. Such faults are eliminated in parallel by insertion, modification and deletion operators found by constraint solving and predictive models. The outcomes of model repair are evaluated using the ISO/IEC 25010 software quality metrics. Experimental results have demonstrated that the proposed approach can eliminate unreachable goals and invariant violations in various design models while preserving their model quality. The effectiveness and performance of such design model repair processes depend mainly on the complexity of design model, the efficiency of constraint solver and the accuracy of predictive model. This study indicates that model-driven software development can be more efficient by automating model diagnosis, fault elimination and quality evaluation.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103313"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143786229","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Formally proved specification of non-nested STL formulas as synchronous observers 正式证明的非嵌套STL公式作为同步观察者的规范
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-03 DOI: 10.1016/j.scico.2025.103315
Céline Bellanger , Pierre-Loic Garoche , Matthieu Martel , Celia Picard
Signal Temporal Logic (STL) is a convenient formalism to express bounded horizon properties of autonomous critical systems. STL allows to express real-valued signal properties and associates a non-singleton bound interval to each temporal operators. In the case of critical autonomous systems, it may be necessary to check the validity of an STL property in real-time. To that end, we provide a rigorous encoding of non-nested discrete-time STL formulas into Lustre synchronous observers.
Our encoding provides a three-valued online semantics for the observers and therefore enables both the verification of the property and the search of counter-examples. A key contribution of this work is an instrumented proof of the validity of the implementation with respect to the original STL semantics. All of the experiments are automated with the Kind2 model checker and the Z3 SMT solver.
信号时序逻辑(STL)是表示自治临界系统有界视界性质的一种方便的形式。STL允许表示实值信号属性,并将非单例绑定区间关联到每个时态操作符。在关键自治系统的情况下,可能需要实时检查STL属性的有效性。为此,我们在Lustre同步观察器中提供了非嵌套离散时间STL公式的严格编码。我们的编码为观察者提供了一个三值的在线语义,因此可以验证属性和搜索反例。这项工作的一个关键贡献是用仪器证明了实现相对于原始STL语义的有效性。所有的实验都是用Kind2模型检查器和Z3 SMT求解器自动完成的。
{"title":"Formally proved specification of non-nested STL formulas as synchronous observers","authors":"Céline Bellanger ,&nbsp;Pierre-Loic Garoche ,&nbsp;Matthieu Martel ,&nbsp;Celia Picard","doi":"10.1016/j.scico.2025.103315","DOIUrl":"10.1016/j.scico.2025.103315","url":null,"abstract":"<div><div>Signal Temporal Logic (STL) is a convenient formalism to express bounded horizon properties of autonomous critical systems. STL allows to express real-valued signal properties and associates a non-singleton bound interval to each temporal operators. In the case of critical autonomous systems, it may be necessary to check the validity of an STL property in real-time. To that end, we provide a rigorous encoding of non-nested discrete-time STL formulas into Lustre synchronous observers.</div><div>Our encoding provides a three-valued online semantics for the observers and therefore enables both the verification of the property and the search of counter-examples. A key contribution of this work is an instrumented proof of the validity of the implementation with respect to the original STL semantics. All of the experiments are automated with the Kind2 model checker and the Z3 SMT solver.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103315"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143837897","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
Testing non-commutativity of reduce functions with multi-column inputs 测试多列输入约简函数的非交换性
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-19 DOI: 10.1016/j.scico.2025.103317
Xiangyu Mu , Xuan Zhang , Chenlu Zhu , Ning Li , Peng Zhang , Lei Liu
With the continuous development of the MapReduce programming model, it is necessary to ensure the reliability of MapReduce programs. In practice, the non-commutativity of Reduce functions seriously affects the reliability of the MapReduce program, which is difficult to debug and even causes errors. Current researches on the non-commutability detection of Reduce function consider the case that the input value is a single attribute. However, such researches ignore the situation where inputs to most reduce functions in practical applications consist of multiple columns (such as a table). To test the commutativity of reduce functions where each input record may contain several input attributes, a new testing method is proposed. This approach uses symbolic execution tools to help generate a few input records, and breaks their data dependencies to generate an original test case t0, with a dynamic program slicing technique to lessen the scale of t0. And the ultimate test suite is consisted of different permutations of records in t0. In the end, experiments demonstrate the effectiveness of our testing method and that the permutation method Gm is helpful to reduce its complexity.
随着MapReduce编程模型的不断发展,需要保证MapReduce程序的可靠性。在实际应用中,Reduce函数的非交换性严重影响了MapReduce程序的可靠性,难以调试,甚至会导致错误。目前关于Reduce函数不可交换性检测的研究都考虑了输入值为单个属性的情况。然而,这些研究忽略了实际应用中大多数reduce函数的输入是由多列(例如一个表)组成的情况。为了测试每条输入记录可能包含多个输入属性的约简函数的交换性,提出了一种新的测试方法。这种方法使用符号执行工具来帮助生成一些输入记录,并打破它们的数据依赖关系来生成原始测试用例t0,使用动态程序切片技术来减少t0的规模。最终的测试套件由不同排列的记录组成。最后,通过实验验证了该测试方法的有效性,并证明了置换法Gm有助于降低测试的复杂度。
{"title":"Testing non-commutativity of reduce functions with multi-column inputs","authors":"Xiangyu Mu ,&nbsp;Xuan Zhang ,&nbsp;Chenlu Zhu ,&nbsp;Ning Li ,&nbsp;Peng Zhang ,&nbsp;Lei Liu","doi":"10.1016/j.scico.2025.103317","DOIUrl":"10.1016/j.scico.2025.103317","url":null,"abstract":"<div><div>With the continuous development of the MapReduce programming model, it is necessary to ensure the reliability of MapReduce programs. In practice, the non-commutativity of Reduce functions seriously affects the reliability of the MapReduce program, which is difficult to debug and even causes errors. Current researches on the non-commutability detection of Reduce function consider the case that the input value is a single attribute. However, such researches ignore the situation where inputs to most reduce functions in practical applications consist of multiple columns (such as a table). To test the commutativity of reduce functions where each input record may contain several input attributes, a new testing method is proposed. This approach uses symbolic execution tools to help generate a few input records, and breaks their data dependencies to generate an original test case t<sub>0</sub>, with a dynamic program slicing technique to lessen the scale of t<sub>0</sub>. And the ultimate test suite is consisted of different permutations of records in t<sub>0</sub>. In the end, experiments demonstrate the effectiveness of our testing method and that the permutation method Gm is helpful to reduce its complexity.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103317"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143856028","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
Formal specification and SMT verification of quantized neural network for autonomous vehicles 用于自动驾驶汽车的量化神经网络的形式化规范和 SMT 验证
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-15 DOI: 10.1016/j.scico.2025.103316
Wahiba Bachiri , Yassamine Seladji , Pierre-Loïc Garoche
The complexity of Autonomous Vehicles imposes significant challenges to their formal specification and verification, especially when incorporating AI controllers based on quantized neural networks (QNNs), which use fixed-point arithmetic to accommodate the limited computational capabilities of embedded systems. Despite the advantages of QNNs, verification of these networks, whether using integers or bit vectors, has proven to be PSPACE-hard.
Our approach focuses on exhaustively verifying abstract scenarios expressed as Satisfiability Modulo Theories (SMT) proof objectives. We propose a formal verification method for QNNs that involves analyzing a rational approximation of the network with perturbations to ensure that the output sets of the perturbed rational neural network include those of both the QNN and its rational neural network approximation.
The distance between these output sets is computed using the p-norm. To evaluate our methodology, we used the Highway-env autonomous vehicle simulator and z3 SMT solver.
自动驾驶汽车的复杂性给其正式规范和验证带来了重大挑战,特别是在结合基于量化神经网络(qnn)的人工智能控制器时,它使用定点算法来适应嵌入式系统有限的计算能力。尽管qnn具有优势,但无论是使用整数还是位向量,这些网络的验证都被证明是pspace困难的。我们的方法侧重于详尽地验证表达为可满足模理论(SMT)证明目标的抽象场景。我们提出了一种QNN的形式化验证方法,该方法涉及分析具有摄动的网络的有理逼近,以确保摄动的有理神经网络的输出集包括QNN及其有理神经网络逼近的输出集。这些输出集之间的距离使用p-范数计算。为了评估我们的方法,我们使用了Highway-env自动驾驶汽车模拟器和z3 SMT求解器。
{"title":"Formal specification and SMT verification of quantized neural network for autonomous vehicles","authors":"Wahiba Bachiri ,&nbsp;Yassamine Seladji ,&nbsp;Pierre-Loïc Garoche","doi":"10.1016/j.scico.2025.103316","DOIUrl":"10.1016/j.scico.2025.103316","url":null,"abstract":"<div><div>The complexity of Autonomous Vehicles imposes significant challenges to their formal specification and verification, especially when incorporating AI controllers based on quantized neural networks (QNNs), which use fixed-point arithmetic to accommodate the limited computational capabilities of embedded systems. Despite the advantages of QNNs, verification of these networks, whether using integers or bit vectors, has proven to be <span>PSPACE</span>-hard.</div><div>Our approach focuses on exhaustively verifying abstract scenarios expressed as Satisfiability Modulo Theories (SMT) proof objectives. We propose a formal verification method for QNNs that involves analyzing a rational approximation of the network with perturbations to ensure that the output sets of the perturbed rational neural network include those of both the QNN and its rational neural network approximation.</div><div>The distance between these output sets is computed using the <em>p</em>-norm. To evaluate our methodology, we used the <span>Highway-env</span> autonomous vehicle simulator and z3 SMT solver.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103316"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143856029","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
Investigating quality aspects for UX evaluation of IoT-based applications in smart cities: A literature review 研究智能城市中基于物联网应用的用户体验评估的质量方面:文献综述
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-04-28 DOI: 10.1016/j.scico.2025.103319
Joelma Choma, Luciana Zaina
The Internet of Things (IoT) has increasingly gained prominence in developing smart cities. IoT technologies are essential resources to make smart cities more efficient and sustainable. Recent research in Software Engineering (SE) has investigated the characteristics of IoT systems and the most appropriate approaches to their design and development. The development of systems based on IoT technologies enables a continuous flow of communication in the context of a smart city by allowing different systems to interact and adjust automatically to optimize the city's operation. In an urban environment, IoT connects a vast network of devices such as environmental sensors, public transportation systems, smart traffic lights, security cameras, and more. These characteristics make these applications complex and difficult to evaluate, particularly regarding User Experience (UX) design. Recently, we performed a rapid systematic review to examine the methods and practices commonly employed for evaluating the UX in these scenarios. In our previous work, we analyzed 43 studies covering different types of IoT-based applications and areas of smart cities. In this study, we extend our analysis by exploring which quality aspects have been considered for UX evaluation and categorizing the typical applications evaluated. Our findings revealed the need for more appropriate UX instruments to assess quality aspects that consider specific features of non-traditional interfaces (e.g., haptics, gesture, speech) and smart technologies within specific interaction contexts (e.g., smart environments based on ubiquitous computing). These instruments can be expanded from established guidelines or developed from scratch as long as they are validated in practice.
物联网(IoT)在智慧城市发展中日益突出。物联网技术是提高智慧城市效率和可持续发展的重要资源。软件工程(SE)最近的研究调查了物联网系统的特征以及设计和开发的最合适方法。基于物联网技术的系统开发,通过允许不同系统进行交互和自动调整,以优化城市的运行,从而在智慧城市的背景下实现连续的通信流。在城市环境中,物联网连接了大量的设备网络,如环境传感器、公共交通系统、智能交通灯、安全摄像头等。这些特征使得这些应用程序复杂且难以评估,特别是在用户体验(UX)设计方面。最近,我们进行了一次快速的系统回顾,以检查在这些场景中通常用于评估UX的方法和实践。在我们之前的工作中,我们分析了43项研究,涵盖了不同类型的基于物联网的应用和智慧城市领域。在这项研究中,我们通过探索用户体验评估中考虑的质量方面和对评估的典型应用程序进行分类来扩展我们的分析。我们的研究结果表明,需要更合适的用户体验工具来评估质量方面,考虑非传统界面的特定特征(例如,触觉、手势、语音)和特定交互环境中的智能技术(例如,基于普适计算的智能环境)。只要在实践中得到验证,这些工具可以从已建立的指导方针扩展或从零开始开发。
{"title":"Investigating quality aspects for UX evaluation of IoT-based applications in smart cities: A literature review","authors":"Joelma Choma,&nbsp;Luciana Zaina","doi":"10.1016/j.scico.2025.103319","DOIUrl":"10.1016/j.scico.2025.103319","url":null,"abstract":"<div><div>The Internet of Things (IoT) has increasingly gained prominence in developing smart cities. IoT technologies are essential resources to make smart cities more efficient and sustainable. Recent research in Software Engineering (SE) has investigated the characteristics of IoT systems and the most appropriate approaches to their design and development. The development of systems based on IoT technologies enables a continuous flow of communication in the context of a smart city by allowing different systems to interact and adjust automatically to optimize the city's operation. In an urban environment, IoT connects a vast network of devices such as environmental sensors, public transportation systems, smart traffic lights, security cameras, and more. These characteristics make these applications complex and difficult to evaluate, particularly regarding User Experience (UX) design. Recently, we performed a rapid systematic review to examine the methods and practices commonly employed for evaluating the UX in these scenarios. In our previous work, we analyzed 43 studies covering different types of IoT-based applications and areas of smart cities. In this study, we extend our analysis by exploring which quality aspects have been considered for UX evaluation and categorizing the typical applications evaluated. Our findings revealed the need for more appropriate UX instruments to assess quality aspects that consider specific features of non-traditional interfaces (e.g., haptics, gesture, speech) and smart technologies within specific interaction contexts (e.g., smart environments based on ubiquitous computing). These instruments can be expanded from established guidelines or developed from scratch as long as they are validated in practice.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103319"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143882140","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
TraLogAnomaly: A microservice system anomaly detection approach based on hybrid event sequences TraLogAnomaly:基于混合事件序列的微服务系统异常检测方法
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-10-01 Epub Date: 2025-03-26 DOI: 10.1016/j.scico.2025.103303
Xinjie Wei , Chang-ai Sun , Pengpeng Yang , Xiao-Yi Zhang , Dave Towey
Microservice architecture has been increasingly adopted to develop various distributed systems due to, amongst other things, its flexibility and scalability. A microservice system often involves numerous invocations among services, making it vulnerable to potential anomalies such as improper configurations of services and improper coordination among services. Existing anomaly detection techniques either identify inter-service anomalies by constructing distributed traces or identify intra-service anomalies by mining features from system logs. However, the intra-service and inter-service behaviors may couple with each other, leading to complex anomalies that may escape detection through the individual examination of traces or logs. In this paper, we propose TraLogAnomaly, an approach for microservice-system anomaly detection. TraLogAnomaly proposes hybrid event vector sequences (HVSs) integrating both inter-service traces and intra-service logs and then identifies the anomalies' patterns from these HVSs. It extracts the patterns of anomalies with the help of a Transformer model. Term frequency-inverse document frequency (TF-IDF) is applied to weighted features learned from hybrid sequences. By integrating information from diverse data sources, the HVSs enhance the ability of these patterns to capture complex system behavior, cover multiple layers of system information, and have higher context-awareness. In addition, TraLogAnomaly also integrates a module that employs agglomeration hierarchical clustering to mine trace patterns of performance anomalies. Empirical results based on widely-used benchmarks show that TraLogAnomaly achieves a high F1-score for detecting anomalies of different types.
由于其灵活性和可扩展性,微服务架构越来越多地被用于开发各种分布式系统。微服务系统通常涉及服务之间的大量调用,使其容易受到潜在异常的影响,例如服务配置不当和服务之间的协调不当。现有的异常检测技术要么通过构造分布式跟踪来识别服务间异常,要么通过从系统日志中挖掘特征来识别服务内异常。但是,服务内行为和服务间行为可能相互耦合,导致复杂的异常,通过单独检查痕迹或日志可能无法检测到。本文提出了一种微服务系统异常检测方法TraLogAnomaly。TraLogAnomaly提出了一种混合事件向量序列(HVSs),它集成了服务间跟踪和服务内部日志,然后从这些HVSs中识别异常模式。它在Transformer模型的帮助下提取异常模式。将词频逆文档频率(TF-IDF)应用于从混合序列中学习的加权特征。通过集成来自不同数据源的信息,HVSs增强了这些模式捕获复杂系统行为的能力,涵盖了多层系统信息,并具有更高的上下文感知能力。此外,TraLogAnomaly还集成了一个模块,该模块使用集聚分层聚类来挖掘性能异常的跟踪模式。基于广泛使用的基准测试的经验结果表明,TraLogAnomaly在检测不同类型的异常时获得了很高的f1分。
{"title":"TraLogAnomaly: A microservice system anomaly detection approach based on hybrid event sequences","authors":"Xinjie Wei ,&nbsp;Chang-ai Sun ,&nbsp;Pengpeng Yang ,&nbsp;Xiao-Yi Zhang ,&nbsp;Dave Towey","doi":"10.1016/j.scico.2025.103303","DOIUrl":"10.1016/j.scico.2025.103303","url":null,"abstract":"<div><div>Microservice architecture has been increasingly adopted to develop various distributed systems due to, amongst other things, its flexibility and scalability. A microservice system often involves numerous invocations among services, making it vulnerable to potential anomalies such as improper configurations of services and improper coordination among services. Existing anomaly detection techniques either identify inter-service anomalies by constructing distributed traces or identify intra-service anomalies by mining features from system logs. However, the intra-service and inter-service behaviors may couple with each other, leading to complex anomalies that may escape detection through the individual examination of traces or logs. In this paper, we propose TraLogAnomaly, an approach for microservice-system anomaly detection. TraLogAnomaly proposes hybrid event vector sequences (HVSs) integrating both inter-service traces and intra-service logs and then identifies the anomalies' patterns from these HVSs. It extracts the patterns of anomalies with the help of a Transformer model. Term frequency-inverse document frequency (TF-IDF) is applied to weighted features learned from hybrid sequences. By integrating information from diverse data sources, the HVSs enhance the ability of these patterns to capture complex system behavior, cover multiple layers of system information, and have higher context-awareness. In addition, TraLogAnomaly also integrates a module that employs agglomeration hierarchical clustering to mine trace patterns of performance anomalies. Empirical results based on widely-used benchmarks show that TraLogAnomaly achieves a high F1-score for detecting anomalies of different types.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103303"},"PeriodicalIF":1.5,"publicationDate":"2025-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143716327","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学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1