首页 > 最新文献

Science of Computer Programming最新文献

英文 中文
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
Functional and logic programming: Selected papers of FLOPS 2022 函数和逻辑编程:2022 年 FLOPS 会议论文选
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-12 DOI: 10.1016/j.scico.2024.103129
Michael Hanus, Atsushi Igarashi
{"title":"Functional and logic programming: Selected papers of FLOPS 2022","authors":"Michael Hanus,&nbsp;Atsushi Igarashi","doi":"10.1016/j.scico.2024.103129","DOIUrl":"10.1016/j.scico.2024.103129","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103129"},"PeriodicalIF":1.5,"publicationDate":"2024-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140797202","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 pragma based C++ framework for hybrid quantum/classical computation 基于实用程序的量子/经典混合计算 C++ 框架
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-10 DOI: 10.1016/j.scico.2024.103119
Arnaud Gazda , Océane Koska

Quantum computers promise exponential speed ups over classical computers for various tasks. This emerging technology is expected to have its first huge impact in High Performance Computing (HPC), as it can solve problems beyond the reach of HPC. To that end, HPC will require quantum accelerators, which will enable applications to run on both classical and quantum devices, via hybrid quantum-classical nodes. Hybrid quantum-HPC applications should be scalable, executable on Quantum Error Corrected (QEC) devices, and could use quantum-classical primitives. However, the lack of scalability, poor performances, and inability to insert classical schemes within quantum applications has prevented current quantum frameworks from being adopted by the HPC community.

This paper specifies the requirements of a hybrid quantum-classical framework compatible with HPC environments, and introduces a novel hardware-agnostic framework called Q-Pragma. This framework extends the classical programming language C++ heavily used in HPC via the addition of pragma directives to manage quantum computations.

量子计算机有望在各种任务中以指数级速度超越传统计算机。这项新兴技术有望首次对高性能计算(HPC)产生巨大影响,因为它可以解决 HPC 无法解决的问题。为此,高性能计算将需要量子加速器,通过量子-经典混合节点,使应用既能在经典设备上运行,也能在量子设备上运行。混合量子高性能计算应用应具有可扩展性,可在量子纠错(QEC)设备上执行,并可使用量子经典基元。然而,由于缺乏可扩展性、性能不佳以及无法在量子应用中插入经典方案,目前的量子框架无法被 HPC 社区采用。本文明确了与 HPC 环境兼容的混合量子-经典框架的要求,并介绍了一种名为 Q-Pragma 的新型硬件无关框架。该框架通过添加pragma指令来管理量子计算,从而扩展了HPC中大量使用的经典编程语言C++。
{"title":"A pragma based C++ framework for hybrid quantum/classical computation","authors":"Arnaud Gazda ,&nbsp;Océane Koska","doi":"10.1016/j.scico.2024.103119","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103119","url":null,"abstract":"<div><p>Quantum computers promise exponential speed ups over classical computers for various tasks. This emerging technology is expected to have its first huge impact in High Performance Computing (HPC), as it can solve problems beyond the reach of HPC. To that end, HPC will require quantum accelerators, which will enable applications to run on both classical and quantum devices, via hybrid quantum-classical nodes. Hybrid quantum-HPC applications should be scalable, executable on Quantum Error Corrected (QEC) devices, and could use quantum-classical primitives. However, the lack of scalability, poor performances, and inability to insert classical schemes within quantum applications has prevented current quantum frameworks from being adopted by the HPC community.</p><p>This paper specifies the requirements of a hybrid quantum-classical framework compatible with HPC environments, and introduces a novel hardware-agnostic framework called Q-Pragma. This framework extends the classical programming language C++ heavily used in HPC via the addition of pragma directives to manage quantum computations.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103119"},"PeriodicalIF":1.3,"publicationDate":"2024-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140619358","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
Toolkit for specification, validation and verification of social, legal, ethical, empathetic and cultural requirements for autonomous agents 自主代理的社会、法律、伦理、移情和文化要求的规范、验证和核查工具包
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-09 DOI: 10.1016/j.scico.2024.103118
Sinem Getir Yaman, Pedro Ribeiro, Charlie Burholt, Maddie Jones, Ana Cavalcanti, Radu Calinescu

A growing range of applications use AI and other autonomous agents to perform tasks that raise social, legal, ethical, empathetic, and cultural (SLEEC) concerns. To support a framework for the consideration of these concerns, we introduce SLEEC-TK, a toolkit for specification, validation, and verification of SLEEC requirements. SLEEC-TK is an Eclipse-based environment for defining SLEEC rules in a domain-specific language with a timed process algebraic semantics. SLEEC-TK uses model checking to identify redundant and conflicting rules, and to verify conformance of design models with SLEEC rules. We illustrate the use of SLEEC-TK for an assistive-care robot.

越来越多的应用使用人工智能和其他自主代理来执行任务,这些任务会引发社会、法律、伦理、移情和文化(SLEEC)方面的问题。为了支持考虑这些问题的框架,我们引入了 SLEEC-TK,这是一个用于规范、验证和核实 SLEEC 需求的工具包。SLEEC-TK 是一个基于 Eclipse 的环境,可用于在具有定时过程代数语义的特定领域语言中定义 SLEEC 规则。SLEEC-TK 使用模型检查来识别冗余和冲突规则,并验证设计模型与 SLEEC 规则的一致性。我们举例说明了 SLEEC-TK 在辅助护理机器人中的应用。
{"title":"Toolkit for specification, validation and verification of social, legal, ethical, empathetic and cultural requirements for autonomous agents","authors":"Sinem Getir Yaman,&nbsp;Pedro Ribeiro,&nbsp;Charlie Burholt,&nbsp;Maddie Jones,&nbsp;Ana Cavalcanti,&nbsp;Radu Calinescu","doi":"10.1016/j.scico.2024.103118","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103118","url":null,"abstract":"<div><p>A growing range of applications use AI and other autonomous agents to perform tasks that raise social, legal, ethical, empathetic, and cultural (SLEEC) concerns. To support a framework for the consideration of these concerns, we introduce SLEEC-TK, a toolkit for specification, validation, and verification of SLEEC requirements. SLEEC-TK is an Eclipse-based environment for defining SLEEC rules in a domain-specific language with a timed process algebraic semantics. SLEEC-TK uses model checking to identify redundant and conflicting rules, and to verify conformance of design models with SLEEC rules. We illustrate the use of SLEEC-TK for an assistive-care robot.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103118"},"PeriodicalIF":1.3,"publicationDate":"2024-04-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000418/pdfft?md5=1e0757675f1d24ba2e0aab1f46570401&pid=1-s2.0-S0167642324000418-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140558575","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
Toward a novel taxonomy to capture code smells caused by refactoring 采用新型分类法捕捉重构引起的代码气味
IF 1.3 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-09 DOI: 10.1016/j.scico.2024.103120
Mashail N. Alkhomsan , Mohammad Alshayeb , Malak Baslyman

Code smells tend to have an impact on software quality attributes such as reusability, maintainability, and understandability. These are code flaws that do not necessarily prevent the system from operating; rather, they increase the possibility of defects occurring in the future. Hence, to maintain code quality, code smells should be detected and corrected through refactoring. The objective of this paper is to investigate the associated risk of applying refactoring techniques and reveal the bad smells that may appear when fixing other bad smells. We conducted several controlled experiments to identify the smells that emerge after refactoring. The experiments resulted in a novel taxonomy revealing 9 bad smells that may appear as a result of fixing other bad smells. This represents the first study attempting to systematically identify and organize such refactoring-smell relationships into a taxonomy. The research results can assist developers in relating different bad smells to each other and helping them determine the refactoring technique that should be applied when certain smells are present. Moreover, the results can be beneficial in breaking the cycle of bad smells. Such knowledge tends to enhance code refactoring, which in turn will improve software quality and avoid technical debt.

代码缺陷往往会影响软件质量属性,如可重复性、可维护性和可理解性。这些代码缺陷并不一定会妨碍系统运行,相反,它们会增加将来出现缺陷的可能性。因此,为了保持代码质量,应通过重构来检测和纠正代码缺陷。本文旨在研究应用重构技术的相关风险,并揭示在修复其他不良气味时可能出现的不良气味。我们进行了几项对照实验,以确定重构后出现的异味。实验得出了一种新的分类法,揭示了在修复其他不良气味时可能出现的 9 种不良气味。这是首次尝试系统性地识别和整理此类重构气味关系并将其分类的研究。研究成果可以帮助开发人员将不同的不良气味相互联系起来,并帮助他们确定在出现某些气味时应采用的重构技术。此外,研究成果还有助于打破坏味道的循环。这些知识往往能加强代码重构,进而提高软件质量,避免技术债务。
{"title":"Toward a novel taxonomy to capture code smells caused by refactoring","authors":"Mashail N. Alkhomsan ,&nbsp;Mohammad Alshayeb ,&nbsp;Malak Baslyman","doi":"10.1016/j.scico.2024.103120","DOIUrl":"10.1016/j.scico.2024.103120","url":null,"abstract":"<div><p>Code smells tend to have an impact on software quality attributes such as reusability, maintainability, and understandability. These are code flaws that do not necessarily prevent the system from operating; rather, they increase the possibility of defects occurring in the future. Hence, to maintain code quality, code smells should be detected and corrected through refactoring. The objective of this paper is to investigate the associated risk of applying refactoring techniques and reveal the bad smells that may appear when fixing other bad smells. We conducted several controlled experiments to identify the smells that emerge after refactoring. The experiments resulted in a novel taxonomy revealing 9 bad smells that may appear as a result of fixing other bad smells. This represents the first study attempting to systematically identify and organize such refactoring-smell relationships into a taxonomy. The research results can assist developers in relating different bad smells to each other and helping them determine the refactoring technique that should be applied when certain smells are present. Moreover, the results can be beneficial in breaking the cycle of bad smells. Such knowledge tends to enhance code refactoring, which in turn will improve software quality and avoid technical debt.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"236 ","pages":"Article 103120"},"PeriodicalIF":1.3,"publicationDate":"2024-04-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140613276","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