首页 > 最新文献

Science of Computer Programming最新文献

英文 中文
TerGEC: A graph enhanced contrastive approach for program termination analysis TerGEC:用于程序终止分析的图形增强对比法
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-05-15 DOI: 10.1016/j.scico.2024.103141
Shuo Liu , Jacky Wai Keung , Zhen Yang , Yihan Liao , Yishu Li

Context

Programs with non-termination behavior induce various bugs, such as denial-of-service vulnerability and memory exhaustion. Hence the ability to detect non-termination programs before software deployment is crucial. Existing detection methods are either execution-based or deep learning-based. Despite great advances, their limitations are evident. The former requires complex sandbox environments for execution, while the latter lacks fine-grained analysis.

Objective

To overcome the above limitations, this paper proposes a graph-enhanced contrastive approach, namely TerGEC, which combines both inter-class and intra-class semantics to carry out a more fine-grained analysis and exempt execution during the detection process.

Methods

In detail, TerGEC analyzes behaviors of programs from Abstract Syntax Trees (ASTs), thereby capturing intra-class semantics both syntactically and lexically. Besides, it incorporates contrastive learning to learn the discrepancy between program behaviors of termination and non-termination, thereby acquiring inter-class semantics. In addition, graph augmentation is designed to improve the robustness. Weighted contrastive loss and focal loss are also equipped in TerGEC to alleviate the classes-imbalance problem during the non-termination detection. Consequently, the whole detection process can be handled more fine-grained, and the execution can also be exempted due to the nature of deep learning.

Results

We evaluate TerGEC on five datasets of both Python and C languages. Extensive experiments demonstrate TerGEC achieves the best performance overall. Among all experimented datasets, TerGEC outperforms state-of-the-art baselines by 8.20% in terms of mAP and by 17.07% in terms of AUC on average.

Conclusion

TerGEC is capable of detecting non-terminating programs with high precision, showing that the combination of inter-class and intra-class learning, along with our proposed classes-imbalance solutions, is significantly effective in practice.

背景具有非终止行为的程序会诱发各种错误,如拒绝服务漏洞和内存耗尽。因此,在软件部署前检测非终止程序的能力至关重要。现有的检测方法要么基于执行,要么基于深度学习。尽管取得了巨大进步,但它们的局限性也显而易见。为了克服上述局限性,本文提出了一种图增强对比方法,即 TerGEC,它结合了类间语义和类内语义,可以在检测过程中进行更精细的分析并免于执行。方法具体来说,TerGEC 通过抽象语法树(AST)分析程序的行为,从而从语法和词法上捕捉类内语义。此外,TerGEC 还结合了对比学习(contrastive learning)来学习终止和非终止程序行为之间的差异,从而获取类间语义。此外,还设计了图增强来提高鲁棒性。TerGEC 还配备了加权对比损失和焦点损失,以缓解非终止检测过程中的类间不平衡问题。结果我们在 Python 和 C 语言的五个数据集上对 TerGEC 进行了评估。广泛的实验证明,TerGEC 的整体性能最佳。在所有实验数据集中,TerGEC 的 mAP 和 AUC 平均分别比最先进的基线高出 8.20% 和 17.07%。结论 TerGEC 能够高精度地检测非终止程序,这表明将类间学习和类内学习相结合,再加上我们提出的类平衡解决方案,在实践中非常有效。
{"title":"TerGEC: A graph enhanced contrastive approach for program termination analysis","authors":"Shuo Liu ,&nbsp;Jacky Wai Keung ,&nbsp;Zhen Yang ,&nbsp;Yihan Liao ,&nbsp;Yishu Li","doi":"10.1016/j.scico.2024.103141","DOIUrl":"10.1016/j.scico.2024.103141","url":null,"abstract":"<div><h3>Context</h3><p>Programs with non-termination behavior induce various bugs, such as denial-of-service vulnerability and memory exhaustion. Hence the ability to detect non-termination programs before software deployment is crucial. Existing detection methods are either execution-based or deep learning-based. Despite great advances, their limitations are evident. The former requires complex sandbox environments for execution, while the latter lacks fine-grained analysis.</p></div><div><h3>Objective</h3><p>To overcome the above limitations, this paper proposes a graph-enhanced contrastive approach, namely TerGEC, which combines both inter-class and intra-class semantics to carry out a more fine-grained analysis and exempt execution during the detection process.</p></div><div><h3>Methods</h3><p>In detail, TerGEC analyzes behaviors of programs from Abstract Syntax Trees (ASTs), thereby capturing intra-class semantics both syntactically and lexically. Besides, it incorporates contrastive learning to learn the discrepancy between program behaviors of termination and non-termination, thereby acquiring inter-class semantics. In addition, graph augmentation is designed to improve the robustness. Weighted contrastive loss and focal loss are also equipped in TerGEC to alleviate the classes-imbalance problem during the non-termination detection. Consequently, the whole detection process can be handled more fine-grained, and the execution can also be exempted due to the nature of deep learning.</p></div><div><h3>Results</h3><p>We evaluate TerGEC on five datasets of both Python and C languages. Extensive experiments demonstrate TerGEC achieves the best performance overall. Among all experimented datasets, TerGEC outperforms state-of-the-art baselines by 8.20% in terms of mAP and by 17.07% in terms of AUC on average.</p></div><div><h3>Conclusion</h3><p>TerGEC is capable of detecting non-terminating programs with high precision, showing that the combination of inter-class and intra-class learning, along with our proposed classes-imbalance solutions, is significantly effective in practice.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103141"},"PeriodicalIF":1.3,"publicationDate":"2024-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141028873","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
Refining a design thinking-based requirements elicitation process: Insights from a focus group 完善基于设计思维的需求征询流程:焦点小组的见解
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-05-12 DOI: 10.1016/j.scico.2024.103137
Ezequiel Kahan , Marcela Genero , Alejandro Oliveros

Requirements elicitation processes have a series of challenges and limitations in terms of business process focus, system transparency, and dealing with the complexity resulting from interdependence. The Design Thinking approach, which focuses on people and on understanding the context of problems, can contribute to solving them. For this reason, a requirements elicitation process based on Design Thinking has been defined, consisting of three activities: Empathise, Synthesise, and Ideate. For refining this process, a focus group discussion with experts was conducted. The experts provided feedback, specifically on the role of empathy in the process, its domain of application and activities. The results analysed from the focus group confirm the usefulness of the process and generate a series of lessons learned that allowed us to continue refining it. This paper presents the cited process, the main characteristics and results of the focus group and the refined process.

需求征询过程在关注业务流程、系统透明度和处理相互依存所产生的复杂性方面存在一系列挑战和局限。设计思维方法注重人和对问题背景的理解,有助于解决这些问题。为此,我们定义了一个基于设计思维的需求征询流程,由三项活动组成:共鸣(Empathise)、综合(Synthesise)和构思(Ideate)。为了完善这一流程,我们与专家进行了一次焦点小组讨论。专家们提供了反馈意见,特别是关于移情在流程中的作用、其应用领域和活动。焦点小组的分析结果证实了该流程的实用性,并总结出一系列经验教训,使我们能够继续完善该流程。本文介绍了所引用的流程、焦点小组的主要特点和结果以及完善后的流程。
{"title":"Refining a design thinking-based requirements elicitation process: Insights from a focus group","authors":"Ezequiel Kahan ,&nbsp;Marcela Genero ,&nbsp;Alejandro Oliveros","doi":"10.1016/j.scico.2024.103137","DOIUrl":"10.1016/j.scico.2024.103137","url":null,"abstract":"<div><p>Requirements elicitation processes have a series of challenges and limitations in terms of business process focus, system transparency, and dealing with the complexity resulting from interdependence. The Design Thinking approach, which focuses on people and on understanding the context of problems, can contribute to solving them. For this reason, a requirements elicitation process based on Design Thinking has been defined, consisting of three activities: Empathise, Synthesise, and Ideate. For refining this process, a focus group discussion with experts was conducted. The experts provided feedback, specifically on the role of empathy in the process, its domain of application and activities. The results analysed from the focus group confirm the usefulness of the process and generate a series of lessons learned that allowed us to continue refining it. This paper presents the cited process, the main characteristics and results of the focus group and the refined process.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103137"},"PeriodicalIF":1.3,"publicationDate":"2024-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141050019","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
Application of fuzzy Delphi technique to identify analytical lenses for determining the preparation of free and open source software projects for user experience maturity 应用模糊德尔菲技术确定分析透镜,以确定免费开源软件项目为用户体验成熟度所做的准备工作
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-05-11 DOI: 10.1016/j.scico.2024.103136
Phesto P. Namayala , Tabu S. Kondo

User eXperience (UX) significantly influences the success of free and open source software (FOSS) projects and is measured using UX capability maturity models (UXCMMs). Every organization desires higher levels of UX maturity; however, it requires upfront preparations and process quality control.

Harmonizing processes and analytical lenses for determining preparation for UX maturity are still challenging, and studies to create them are limited. The analysis is ad hoc and based on the actors’ will and experiences. This study proposes and validates analytical lenses.

Findings show that UX experts agreed that the lenses could be used with a consensus percentage of 81 %, the threshold value (d) = 0.112, and crisp values greater than α-cut = 0.5. On validation, 47.57 % of stakeholders agreed, and 52.43 % strongly agreed they were relevant. Results help evaluate the status quo and change culture and policies toward ideal preparation. Two areas are suggested for future research.

用户体验(UX)在很大程度上影响着自由与开源软件(FOSS)项目的成功与否,用户体验能力成熟度模型(UXCMMs)可用于衡量用户体验项目的成功与否。每个组织都希望达到更高水平的用户体验成熟度,但这需要前期准备和过程质量控制。确定用户体验成熟度准备工作的统一过程和分析视角仍具有挑战性,而创建这些过程和视角的研究也很有限。分析是临时性的,以参与者的意愿和经验为基础。研究结果表明,用户体验专家一致认为可以使用这些分析透镜,共识率为 81%,阈值 (d) = 0.112,清晰度值大于 α-cut = 0.5。在验证方面,47.57% 的利益相关者表示同意,52.43% 的利益相关者表示非常同意这些相关性。结果有助于评估现状,改变文化和政策,实现理想的准备工作。建议今后在两个领域开展研究。
{"title":"Application of fuzzy Delphi technique to identify analytical lenses for determining the preparation of free and open source software projects for user experience maturity","authors":"Phesto P. Namayala ,&nbsp;Tabu S. Kondo","doi":"10.1016/j.scico.2024.103136","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103136","url":null,"abstract":"<div><p>User eXperience (UX) significantly influences the success of free and open source software (FOSS) projects and is measured using UX capability maturity models (UXCMMs). Every organization desires higher levels of UX maturity; however, it requires upfront preparations and process quality control.</p><p>Harmonizing processes and analytical lenses for determining preparation for UX maturity are still challenging, and studies to create them are limited. The analysis is ad hoc and based on the actors’ will and experiences. This study proposes and validates analytical lenses.</p><p>Findings show that UX experts agreed that the lenses could be used with a consensus percentage of 81 %, the threshold value (d) = 0.112, and crisp values greater than α-cut = 0.5. On validation, 47.57 % of stakeholders agreed, and 52.43 % strongly agreed they were relevant. Results help evaluate the status quo and change culture and policies toward ideal preparation. Two areas are suggested for future research.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103136"},"PeriodicalIF":1.3,"publicationDate":"2024-05-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140906819","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
Orchestration for quantum services: The power of load balancing across multiple service providers 量子服务的协调:多个服务提供商之间负载平衡的力量
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-05-09 DOI: 10.1016/j.scico.2024.103139
Jaime Alvarado-Valiente, Javier Romero-Álvarez, Enrique Moguel, Jose García-Alonso, Juan M. Murillo

Quantum computing plays a crucial role in solving complex problems for which classical supercomputers require an impractical amount of time. This emerging paradigm has the potential to revolutionize various fields such as cryptography, chemistry, and finance, making it a highly relevant area of research and development. Major companies such as Google, Amazon, IBM, and Microsoft, along with prestigious research institutions such as Oxford and MIT, are investing significant efforts into advancing this technology. However, the lack of a standardized approach among different providers poses challenges for developers to effectively access and utilize quantum computing resources. In this study, we propose a quantum orchestrator that is designed to facilitate the orchestration and execution of quantum circuits across multiple quantum service providers. The proposed solution aims to simplify the process for developers and facilitate the execution of quantum tasks using resources offered by different providers. The proposal is validated with the implementation of the proposed orchestrator for Amazon Braket and IBM Quantum. It can support both quantum and classical developers in defining, configuring, and executing circuits independently of the selected provider.

量子计算在解决传统超级计算机需要耗费大量时间才能解决的复杂问题方面发挥着至关重要的作用。这一新兴范式有可能彻底改变密码学、化学和金融等各个领域,使其成为一个高度相关的研发领域。谷歌、亚马逊、IBM 和微软等大公司,以及牛津大学和麻省理工学院等著名研究机构,都在投入大量精力推进这项技术。然而,不同供应商之间缺乏标准化的方法,这给开发人员有效访问和利用量子计算资源带来了挑战。在本研究中,我们提出了一种量子协调器,旨在促进多个量子服务提供商之间量子电路的协调和执行。所提出的解决方案旨在简化开发人员的流程,促进利用不同提供商提供的资源执行量子任务。亚马逊 Braket 和 IBM Quantum 的拟议协调器的实施验证了该提议。它可以支持量子和经典开发人员定义、配置和执行电路,而不受所选提供商的影响。
{"title":"Orchestration for quantum services: The power of load balancing across multiple service providers","authors":"Jaime Alvarado-Valiente,&nbsp;Javier Romero-Álvarez,&nbsp;Enrique Moguel,&nbsp;Jose García-Alonso,&nbsp;Juan M. Murillo","doi":"10.1016/j.scico.2024.103139","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103139","url":null,"abstract":"<div><p>Quantum computing plays a crucial role in solving complex problems for which classical supercomputers require an impractical amount of time. This emerging paradigm has the potential to revolutionize various fields such as cryptography, chemistry, and finance, making it a highly relevant area of research and development. Major companies such as Google, Amazon, IBM, and Microsoft, along with prestigious research institutions such as Oxford and MIT, are investing significant efforts into advancing this technology. However, the lack of a standardized approach among different providers poses challenges for developers to effectively access and utilize quantum computing resources. In this study, we propose a quantum orchestrator that is designed to facilitate the orchestration and execution of quantum circuits across multiple quantum service providers. The proposed solution aims to simplify the process for developers and facilitate the execution of quantum tasks using resources offered by different providers. The proposal is validated with the implementation of the proposed orchestrator for Amazon Braket and IBM Quantum. It can support both quantum and classical developers in defining, configuring, and executing circuits independently of the selected provider.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103139"},"PeriodicalIF":1.3,"publicationDate":"2024-05-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000625/pdfft?md5=965e55d13e89cbb8a0e04346b111f55c&pid=1-s2.0-S0167642324000625-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140947833","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
Analyzing novice and competent programmers' problem-solving behaviors using an automated evaluation system 使用自动评估系统分析程序员新手和能手解决问题的行为
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-05-09 DOI: 10.1016/j.scico.2024.103138
Yung-Ting Chuang, Hsin-Yu Chang

Background and Context

In today's tech-driven world, programming courses are crucial. Yet, teaching programming is challenging, leading to high student failure rates. Understanding student learning patterns is key, but there's a lack of research utilizing tools to automatically collect and analyze interaction data for insights into student performance and behaviors.

Objectives

Study aims to compare problem-solving behaviors of novice and competent programmers during coding tests, identifying patterns and exploring relationships with program correctness.

Method

We built an online system with programming challenges to collect behavior data from novice and competent programmers. Our system analyzed data using various metrics to explore behavior-program correctness relationships.

Findings

Analysis showed distinct problem-solving behavior patterns. Competent programmers had fewer syntax errors, spent less time fixing bugs, and had higher program correctness. Novices made more syntax errors and spent more time fixing coding errors. Both groups used tabs for code structure, but competent programmers introduced unfamiliar variables more often and commented on them afterward. Emphasizing iterative revisions and active engagement enhances problem-solving skills and programming proficiency. Radar charts are effective for identifying improvement areas in teaching programming. The relationship between behavior and program correctness was positively correlated for competent programmers but not novices.

Implications

Study findings have implications for programming education. Radar charts help teachers identify course improvement areas. Novices can learn from competent programmers' behavior. Instructors should encourage continuous skill improvement through revisions and engagement. Identified unfamiliar programming aspects offer insights for targeted learning.

背景在当今技术驱动的世界中,编程课程至关重要。然而,编程教学充满挑战,导致学生失败率居高不下。了解学生的学习模式是关键,但目前缺乏利用工具自动收集和分析交互数据以深入了解学生表现和行为的研究。研究旨在比较新手和有能力的程序员在编码测试中解决问题的行为,找出模式并探索与程序正确性之间的关系。我们的系统使用各种指标对数据进行分析,以探索行为与程序正确性之间的关系。有能力的程序员语法错误较少,修复错误的时间较短,程序正确率较高。新手则语法错误较多,修复编码错误的时间较长。两组程序员在代码结构上都使用了选项卡,但有能力的程序员会更多地引入陌生变量,并在事后对其进行注释。强调迭代修改和积极参与能提高解决问题的能力和编程熟练度。雷达图能有效确定编程教学中的改进领域。对于有能力的程序员而言,行为与程序正确性之间呈正相关,而对于新手则不然。雷达图有助于教师确定课程改进领域。新手可以从合格程序员的行为中学习。教师应鼓励学生通过修改和参与不断提高技能。发现的不熟悉的编程方面为有针对性的学习提供了启示。
{"title":"Analyzing novice and competent programmers' problem-solving behaviors using an automated evaluation system","authors":"Yung-Ting Chuang,&nbsp;Hsin-Yu Chang","doi":"10.1016/j.scico.2024.103138","DOIUrl":"10.1016/j.scico.2024.103138","url":null,"abstract":"<div><h3>Background and Context</h3><p>In today's tech-driven world, programming courses are crucial. Yet, teaching programming is challenging, leading to high student failure rates. Understanding student learning patterns is key, but there's a lack of research utilizing tools to automatically collect and analyze interaction data for insights into student performance and behaviors.</p></div><div><h3>Objectives</h3><p>Study aims to compare problem-solving behaviors of novice and competent programmers during coding tests, identifying patterns and exploring relationships with program correctness.</p></div><div><h3>Method</h3><p>We built an online system with programming challenges to collect behavior data from novice and competent programmers. Our system analyzed data using various metrics to explore behavior-program correctness relationships.</p></div><div><h3>Findings</h3><p>Analysis showed distinct problem-solving behavior patterns. Competent programmers had fewer syntax errors, spent less time fixing bugs, and had higher program correctness. Novices made more syntax errors and spent more time fixing coding errors. Both groups used tabs for code structure, but competent programmers introduced unfamiliar variables more often and commented on them afterward. Emphasizing iterative revisions and active engagement enhances problem-solving skills and programming proficiency. Radar charts are effective for identifying improvement areas in teaching programming. The relationship between behavior and program correctness was positively correlated for competent programmers but not novices.</p></div><div><h3>Implications</h3><p>Study findings have implications for programming education. Radar charts help teachers identify course improvement areas. Novices can learn from competent programmers' behavior. Instructors should encourage continuous skill improvement through revisions and engagement. Identified unfamiliar programming aspects offer insights for targeted learning.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103138"},"PeriodicalIF":1.3,"publicationDate":"2024-05-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141043264","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
Unifying frameworks for complete test strategies 完整测试策略的统一框架
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-26 DOI: 10.1016/j.scico.2024.103135
Robert Sachtleben

The field of model-based testing has witnessed the development of several test strategies on finite state machines. Although these strategies are often related, little effort has been made to explicitly identify patterns shared between them, and their concrete implementations as well as completeness proofs regularly exhibit redundancy. In this paper, we propose an approach for the systematic verification and implementation of strategies for the language-equivalence conformance relation. We present frameworks in the form of higher order functions that implement shared behaviour once and encapsulate diverging behaviour in procedural parameters, thus reducing duplication and improving maintainability and extensibility. We show that this simplifies completeness proofs by proving complete all considered strategies using the same argument. All presented frameworks, proofs, and concrete strategy implementations have been mechanised using the proof assistant Isabelle.

在基于模型的测试领域,已经开发出了多种有限状态机测试策略。虽然这些策略往往相互关联,但很少有人努力明确识别它们之间共享的模式,而且它们的具体实现和完备性证明经常出现冗余。在本文中,我们提出了一种系统验证和实现语言等价一致性关系策略的方法。我们提出了高阶函数形式的框架,只需实现一次共享行为,并将不同行为封装在程序参数中,从而减少重复,提高可维护性和可扩展性。我们证明,通过使用相同的论据证明所有考虑到的策略都是完整的,从而简化了完备性证明。所有介绍的框架、证明和具体策略实现都是通过证明助手 Isabelle 实现的。
{"title":"Unifying frameworks for complete test strategies","authors":"Robert Sachtleben","doi":"10.1016/j.scico.2024.103135","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103135","url":null,"abstract":"<div><p>The field of model-based testing has witnessed the development of several test strategies on finite state machines. Although these strategies are often related, little effort has been made to explicitly identify patterns shared between them, and their concrete implementations as well as completeness proofs regularly exhibit redundancy. In this paper, we propose an approach for the systematic verification and implementation of strategies for the language-equivalence conformance relation. We present frameworks in the form of higher order functions that implement shared behaviour once and encapsulate diverging behaviour in procedural parameters, thus reducing duplication and improving maintainability and extensibility. We show that this simplifies completeness proofs by proving complete all considered strategies using the same argument. All presented frameworks, proofs, and concrete strategy implementations have been mechanised using the proof assistant Isabelle.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"237 ","pages":"Article 103135"},"PeriodicalIF":1.3,"publicationDate":"2024-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000583/pdfft?md5=80b829b32a02adb870d5003e270be709&pid=1-s2.0-S0167642324000583-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140816532","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
S2O: A smart objects orchestrator framework based on the web of things S2O:基于物联网的智能物体协调器框架
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-18 DOI: 10.1016/j.scico.2024.103130
Imene Mezenner, Samia Bouyakoub, Fayçal M'hamed Bouyakoub

The Web of Things (WoT) is a new paradigm in which everyday objects are connected to the Internet using popular Web technologies. The smart things are abstracted into RESTful Web services to facilitate their manipulation. The composition of these objects within the same business process creates an automated, time-synchronized routine that can perform even the most complex tasks. BPEL is an orchestration language that defines the process responsible for coordinating the Web services involved. However, this language presents some limitations in this context. BPEL 2.0 does not support RESTful Web services; its specification is incompatible with this architectural style of services. Moreover, its temporal expressivity is insufficient to cover all the constraints that may arise when composing services. This work aims to adapt BPEL to the requirements of the WoT environment, enabling it to create processes that invoke the smart things in precise time intervals. The solution is to exploit one of BPEL's strengths: its extensibility. The BPEL specification is enriched with four activities that reflect the REST uniform interface. They include the necessary attributes to send the request to the target object and receive the response in convened format representation. Also, temporal attributes are added to BPEL elements to schedule their start, end, and duration of execution. The manual addition of these temporal values requires a verification of their accuracy. The BPEL process must be reviewed to ensure its validity before its execution. A temporal Petri Net is proposed to detect any conflicts or inconsistencies between BPEL activities. As a result, associating the formal model with the extension allows BPEL to orchestrate smart things represented by RESTful Web services according to a well-defined temporal scenario. They respect the REST constraints and provide the BPEL activities with temporal attributes for efficient time management. The approach can be applied in all application areas to create temporal scenarios.

物联网(WoT)是一种利用流行的网络技术将日常物品连接到互联网的新模式。智能物品被抽象为 RESTful 网络服务,以方便对其进行操作。在同一业务流程中,这些对象的组合可以创建一个自动化、时间同步的例程,甚至可以执行最复杂的任务。BPEL 是一种协调语言,它定义了负责协调相关 Web 服务的流程。然而,这种语言在这种情况下存在一些局限性。BPEL 2.0 不支持 RESTful Web 服务;其规范与这种服务架构风格不兼容。此外,它的时态表达能力不足以涵盖服务组合时可能出现的所有约束。这项工作旨在使 BPEL 适应 WoT 环境的要求,使其能够创建在精确时间间隔内调用智能设备的流程。解决方案是利用 BPEL 的优势之一:可扩展性。BPEL 规范通过四种反映 REST 统一接口的活动得到了丰富。它们包括向目标对象发送请求和接收以召集格式表示的响应所需的属性。此外,BPEL 元素还添加了时间属性,以安排其执行的开始、结束和持续时间。手动添加这些时间值需要验证其准确性。BPEL 流程在执行前必须经过审核,以确保其有效性。建议使用时态 Petri 网来检测 BPEL 活动之间的任何冲突或不一致。因此,将形式模型与扩展关联起来,BPEL 就能根据定义明确的时态场景,协调由 RESTful Web 服务表示的智能事物。它们尊重 REST 约束,并为 BPEL 活动提供时间属性,以实现高效的时间管理。这种方法可应用于所有应用领域,以创建时间场景。
{"title":"S2O: A smart objects orchestrator framework based on the web of things","authors":"Imene Mezenner,&nbsp;Samia Bouyakoub,&nbsp;Fayçal M'hamed Bouyakoub","doi":"10.1016/j.scico.2024.103130","DOIUrl":"10.1016/j.scico.2024.103130","url":null,"abstract":"<div><p>The Web of Things (WoT) is a new paradigm in which everyday objects are connected to the Internet using popular Web technologies. The smart things are abstracted into RESTful Web services to facilitate their manipulation. The composition of these objects within the same business process creates an automated, time-synchronized routine that can perform even the most complex tasks. BPEL is an orchestration language that defines the process responsible for coordinating the Web services involved. However, this language presents some limitations in this context. BPEL 2.0 does not support RESTful Web services; its specification is incompatible with this architectural style of services. Moreover, its temporal expressivity is insufficient to cover all the constraints that may arise when composing services. This work aims to adapt BPEL to the requirements of the WoT environment, enabling it to create processes that invoke the smart things in precise time intervals. The solution is to exploit one of BPEL's strengths: its extensibility. The BPEL specification is enriched with four activities that reflect the REST uniform interface. They include the necessary attributes to send the request to the target object and receive the response in convened format representation. Also, temporal attributes are added to BPEL elements to schedule their start, end, and duration of execution. The manual addition of these temporal values requires a verification of their accuracy. The BPEL process must be reviewed to ensure its validity before its execution. A temporal Petri Net is proposed to detect any conflicts or inconsistencies between BPEL activities. As a result, associating the formal model with the extension allows BPEL to orchestrate smart things represented by RESTful Web services according to a well-defined temporal scenario. They respect the REST constraints and provide the BPEL activities with temporal attributes for efficient time management. The approach can be applied in all application areas to create temporal scenarios.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103130"},"PeriodicalIF":1.3,"publicationDate":"2024-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140761297","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
Stark: A tool for the analysis of CPSs robustness 斯塔克:分析 CPS 稳健性的工具
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-18 DOI: 10.1016/j.scico.2024.103134
Valentina Castiglioni , Michele Loreti , Simone Tini

We present the Software Tool for the Analysis of Robustness in the unKnown environment (Stark), our Java tool for the specification, analysis and verification of robustness properties of Cyber-Physical Systems (CPSs). Stark includes: (i) a specification language for systems behaviour, perturbations, distances on systems behaviours, and requirements on systems behaviour expressed in the Robustness Temporal Logic (RobTL), a temporal logic for the specification and verification of properties on the evolution of distances between the behaviours of CPSs, and thus also of robustness properties; (ii) a module for the simulation of system behaviours and their perturbed versions; (iii) a module for the evaluation of distances between behaviours; (iv) a statistical model checker for RobTL formulae.

我们介绍了未知环境下鲁棒性分析软件工具(Stark),这是我们用于规范、分析和验证网络物理系统(CPS)鲁棒性属性的 Java 工具。Stark 包括(i) 系统行为、扰动、系统行为距离和系统行为要求的规范语言,用鲁棒性时态逻辑(RobTL)表示,这是一种时态逻辑,用于规范和验证 CPS 行为间距离演变的属性,从而也验证鲁棒性属性;(ii) 模拟系统行为及其扰动版本的模块;(iii) 评估行为间距离的模块;(iv) RobTL 公式的统计模型检查器。
{"title":"Stark: A tool for the analysis of CPSs robustness","authors":"Valentina Castiglioni ,&nbsp;Michele Loreti ,&nbsp;Simone Tini","doi":"10.1016/j.scico.2024.103134","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103134","url":null,"abstract":"<div><p>We present the <em>Software Tool for the Analysis of Robustness in the unKnown environment</em> (<span>Stark</span>), our Java tool for the specification, analysis and verification of robustness properties of Cyber-Physical Systems (CPSs). <span>Stark</span> includes: (i) a specification language for systems behaviour, perturbations, distances on systems behaviours, and requirements on systems behaviour expressed in the <em>Robustness Temporal Logic</em> (<em>RobTL</em>), a temporal logic for the specification and verification of properties on the evolution of <em>distances</em> between the behaviours of CPSs, and thus also of robustness properties; (ii) a module for the simulation of system behaviours and their perturbed versions; (iii) a module for the evaluation of distances between behaviours; (iv) a statistical model checker for RobTL formulae.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103134"},"PeriodicalIF":1.3,"publicationDate":"2024-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000571/pdfft?md5=d3d7a5e0be4ee9f4048a04002987477d&pid=1-s2.0-S0167642324000571-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140641000","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
Verifying safety of neural networks from topological perspectives 从拓扑角度验证神经网络的安全性
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-16 DOI: 10.1016/j.scico.2024.103121
Zhen Liang , Dejin Ren , Bai Xue , Ji Wang , Wenjing Yang , Wanwei Liu

Neural networks (NNs) are increasingly applied in safety-critical systems such as autonomous vehicles. However, they are fragile and are often ill-behaved. Consequently, their behaviors should undergo rigorous guarantees before deployment in practice. In this paper, we propose a set-boundary reachability method to investigate the safety verification problem of NNs from topological perspectives. Given an NN with an input set and a safe set, the safety verification problem is to determine whether all outputs of the NN resulting from the input set fall within the safe set. In our method, the homeomorphism property of NNs is first exploited, which establishes rigorous guarantees between the boundaries of the input set and the boundaries of the output set. A homeomorphism is a special case of open maps, and consequently our set-boundary method is considered to be generalized to situations with open map property then2. The exploitation of these two properties facilitates reachability computations via extracting subsets of the input set rather than the entire input set, thus controlling the wrapping effect in reachability analysis and facilitating the reduction of computation burdens for safety verification. The homeomorphism property exists in some widely used NNs such as invertible residual networks (i-ResNets) and Neural ordinary differential equations (Neural ODEs), and the open map is a less strict topological property and is easier to satisfy compared with homeomorphisms. For NNs establishing either of these two properties, our set-boundary reachability method only needs to perform reachability analysis on the boundary of the input set. Moreover, for NNs that do not feature these properties with respect to the input set, we also explore subsets of the input set for establishing the local homeomorphism property and then abandon these subsets for reachability computations. Finally, some examples demonstrate the performance of our proposed method.

神经网络(NN)越来越多地应用于自动驾驶汽车等对安全至关重要的系统中。然而,神经网络非常脆弱,而且经常表现不佳。因此,在实际部署之前,它们的行为应该得到严格的保证。在本文中,我们提出了一种集合边界可达性方法,从拓扑学的角度研究 NN 的安全验证问题。给定一个具有输入集和安全集的 NN,安全验证问题是确定输入集产生的 NN 的所有输出是否都在安全集之内。在我们的方法中,首先利用的是 NN 的同构特性,它在输入集的边界和输出集的边界之间建立了严格的保证。同构是开放映射的一种特例,因此我们的集合边界方法被认为可以推广到具有开放映射特性的情况2。利用这两个特性,可以通过提取输入集的子集而不是整个输入集来方便可达性计算,从而控制可达性分析中的包裹效应,并减轻安全验证的计算负担。在一些广泛使用的 NN(如可反残差网络(i-ResNets)和神经常微分方程(Neural ODE))中存在同构属性,而开放映射是一种不太严格的拓扑属性,与同构相比更容易满足。对于建立了这两个属性中任何一个属性的 NN,我们的集合边界可达性方法只需对输入集合的边界进行可达性分析即可。此外,对于输入集不具备这些特性的 NN,我们也会探索输入集的子集以建立局部同构特性,然后放弃这些子集进行可达性计算。最后,一些示例展示了我们提出的方法的性能。
{"title":"Verifying safety of neural networks from topological perspectives","authors":"Zhen Liang ,&nbsp;Dejin Ren ,&nbsp;Bai Xue ,&nbsp;Ji Wang ,&nbsp;Wenjing Yang ,&nbsp;Wanwei Liu","doi":"10.1016/j.scico.2024.103121","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103121","url":null,"abstract":"<div><p>Neural networks (NNs) are increasingly applied in safety-critical systems such as autonomous vehicles. However, they are fragile and are often ill-behaved. Consequently, their behaviors should undergo rigorous guarantees before deployment in practice. In this paper, we propose a set-boundary reachability method to investigate the safety verification problem of NNs from topological perspectives. Given an NN with an input set and a safe set, the safety verification problem is to determine whether all outputs of the NN resulting from the input set fall within the safe set. In our method, the homeomorphism property of NNs is first exploited, which establishes rigorous guarantees between the boundaries of the input set and the boundaries of the output set. A homeomorphism is a special case of open maps, and consequently our set-boundary method is considered to be generalized to situations with open map property then<span><sup>2</sup></span>. The exploitation of these two properties facilitates reachability computations via extracting subsets of the input set rather than the entire input set, thus controlling the wrapping effect in reachability analysis and facilitating the reduction of computation burdens for safety verification. The homeomorphism property exists in some widely used NNs such as invertible residual networks (i-ResNets) and Neural ordinary differential equations (Neural ODEs), and the open map is a less strict topological property and is easier to satisfy compared with homeomorphisms. For NNs establishing either of these two properties, our set-boundary reachability method only needs to perform reachability analysis on the boundary of the input set. Moreover, for NNs that do not feature these properties with respect to the input set, we also explore subsets of the input set for establishing the local homeomorphism property and then abandon these subsets for reachability computations. Finally, some examples demonstrate the performance of our proposed method.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103121"},"PeriodicalIF":1.3,"publicationDate":"2024-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140618123","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
Selected papers from the 25th Brazilian Symposium on Formal Methods – SBMF 2022 第 25 届巴西形式化方法研讨会(SBMF 2022)论文选编
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-15 DOI: 10.1016/j.scico.2024.103133
Lucas Lima, Vince Molnár
{"title":"Selected papers from the 25th Brazilian Symposium on Formal Methods – SBMF 2022","authors":"Lucas Lima,&nbsp;Vince Molnár","doi":"10.1016/j.scico.2024.103133","DOIUrl":"10.1016/j.scico.2024.103133","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103133"},"PeriodicalIF":1.5,"publicationDate":"2024-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140797037","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学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1