首页 > 最新文献

Journal of Logical and Algebraic Methods in Programming最新文献

英文 中文
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 基于动态逻辑的验证VCGen:使用Why3进行元验证的练习
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-06-01 DOI: 10.1016/j.jlamp.2023.100871
Maria João Frade, Jorge Sousa Pinto

With the incresasing importance of program verification, an issue that has been receiving more attention is the certification of verification tools, addressing the vernacular question: “Who verifies the verifier?”. In this paper we approach this meta-verification problem by focusing on a fundamental component of program verifiers: the “Verification Conditions Generator” (VCGen), responsible for producing a set of proof obligations from a program and a specification. The semantic foundations of VCGens lie in program logics, such as Hoare logic, Dynamic logic, or Separation logic, and related predicate transformers.

Dynamic logic is the basis of the KeY system, one of the foremost deductive verifiers, whose logic makes use of the notion of update, which is quite intricate to formalize. In this paper we derive systematically, based on a KeY-style dynamic logic, a correct-by-construction VCGen for a toy programming language. Our workflow covers the entire process, from the logic to the VCGen. It is implemented in the Why3 tool, which is itself a program verifier. We prove the soundness and (an appropriate notion of) completeness of the logic, then define a VCGen for our language and establish its soundness.

Dynamic logic is one of a variety of research topics that our dear friend and colleague Luís Soares Barbosa has, over the years, initiated and promoted at the University of Minho. It is a pleasure for us to dedicate this work to him on the occasion of his 60th birthday.

随着程序验证的重要性越来越大,一个越来越受到关注的问题是验证工具的认证,解决了一个通俗的问题:“谁验证验证器?”。在本文中,我们通过关注程序验证器的一个基本组件来解决这个元验证问题:“验证条件生成器”(VCGen),负责从程序和规范中生成一组证明义务。VC生成的语义基础在于程序逻辑,如Hoare逻辑、动态逻辑或分离逻辑,以及相关的谓词转换器。动态逻辑是KeY系统的基础,KeY系统是最重要的演绎验证器之一,其逻辑利用了更新的概念,这一概念很难形式化。在本文中,我们基于KeY风格的动态逻辑,系统地推导了一个玩具编程语言的正确的构造VCGen。我们的工作流程涵盖了从逻辑到VCGen的整个过程。它在Why3工具中实现,Why3本身就是一个程序验证器。我们证明了逻辑的健全性和(一个适当的概念)完整性,然后为我们的语言定义一个VCGen并建立它的健全性。动态逻辑是我们亲爱的朋友和同事路易斯·苏亚雷斯·巴博萨多年来在民和大学发起和推动的各种研究课题之一。我们很高兴在他60岁生日之际把这部作品献给他。
{"title":"A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3","authors":"Maria João Frade,&nbsp;Jorge Sousa Pinto","doi":"10.1016/j.jlamp.2023.100871","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100871","url":null,"abstract":"<div><p>With the incresasing importance of program verification, an issue that has been receiving more attention is the certification of verification tools, addressing the vernacular question: “Who verifies the verifier?”. In this paper we approach this meta-verification problem by focusing on a fundamental component of program verifiers: the “Verification Conditions Generator” (VCGen), responsible for producing a set of proof obligations from a program and a specification. The semantic foundations of VCGens lie in program logics, such as Hoare logic, Dynamic logic, or Separation logic, and related predicate transformers.</p><p>Dynamic logic is the basis of the KeY system, one of the foremost deductive verifiers, whose logic makes use of the notion of <em>update</em><span>, which is quite intricate to formalize. In this paper we derive systematically, based on a KeY-style dynamic logic, a correct-by-construction VCGen for a toy programming language. Our workflow covers the entire process, from the logic to the VCGen. It is implemented in the Why3 tool, which is itself a program verifier. We prove the soundness and (an appropriate notion of) completeness of the logic, then define a VCGen for our language and establish its soundness.</span></p><p>Dynamic logic is one of a variety of research topics that our dear friend and colleague Luís Soares Barbosa has, over the years, initiated and promoted at the University of Minho. It is a pleasure for us to dedicate this work to him on the occasion of his 60th birthday.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"133 ","pages":"Article 100871"},"PeriodicalIF":0.9,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50203168","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
Decomposing monolithic processes in a process algebra with multi-actions 将单块过程分解为具有多动作的过程代数
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100858
Maurice Laveaux , Tim A.C. Willemse

A monolithic process is a single recursive equation with data parameters, which only uses non-determinism, action prefixing, and recursion. We present a technique that decomposes such a monolithic process into multiple processes where each process defines behaviour for a subset of the parameters of the monolithic process. For this decomposition we can show that a composition of these processes is strongly bisimilar to the monolithic process under a suitable synchronisation context. Minimising the resulting processes before determining their composition can be used to derive a state space that is smaller than the one obtained by a monolithic exploration. We apply the decomposition technique to several specifications to show that this works in practice. Finally, we prove that state invariants can be used to further improve the effectiveness of this decomposition technique.

单片过程是带有数据参数的单个递归方程,它只使用非确定性、动作前缀和递归。我们提出了一种技术,将这样一个整体过程分解为多个过程,其中每个过程定义整体过程参数子集的行为。对于这种分解,我们可以表明,在适当的同步上下文中,这些过程的组合与单片过程非常相似。在确定其组成之前最小化结果过程可用于导出比单片探索获得的状态空间更小的状态空间。我们将分解技术应用于几个规范,以证明它在实践中是有效的。最后,我们证明了状态不变量可以进一步提高该分解技术的有效性。
{"title":"Decomposing monolithic processes in a process algebra with multi-actions","authors":"Maurice Laveaux ,&nbsp;Tim A.C. Willemse","doi":"10.1016/j.jlamp.2023.100858","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100858","url":null,"abstract":"<div><p>A monolithic process is a single recursive equation with data parameters, which only uses non-determinism, action prefixing, and recursion. We present a technique that decomposes such a monolithic process into multiple processes where each process defines behaviour for a subset of the parameters of the monolithic process. For this decomposition we can show that a composition of these processes is strongly bisimilar to the monolithic process under a suitable synchronisation context. Minimising the resulting processes before determining their composition can be used to derive a state space that is smaller than the one obtained by a monolithic exploration. We apply the decomposition technique to several specifications to show that this works in practice. Finally, we prove that state invariants can be used to further improve the effectiveness of this decomposition technique.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100858"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864102","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
Safety enforcement via programmable strategies in Maude Maude通过可编程策略实施安全措施
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100849
M. Alpuente , D. Ballis , S. Escobar , D. Galán , J. Sapiña

This work aims to provide a general mechanism for safety enforcement in rewriting logic computations. Our technique relies on an assertion-guided model transformation that leverages the newly defined Maude strategy language for ensuring rich safety policies in non-deterministic programs. The transformed system is guaranteed to comply with user-defined invariants that are expressed in a strategy-based, pattern-matching logic, thus preventing the concurrent system to reach any unsafe states. The performance and scalability of the technique is empirically evaluated and benchmarked on a set of realistic programs.

这项工作的目的是为重写逻辑计算提供一种通用的安全执行机制。我们的技术依赖于断言引导的模型转换,该转换利用新定义的Maude策略语言来确保非确定性程序中的丰富安全策略。转换后的系统保证符合用户定义的不变量,这些不变量用基于策略的模式匹配逻辑表示,从而防止并发系统达到任何不安全的状态。在一组实际程序上对该技术的性能和可扩展性进行了经验评估和基准测试。
{"title":"Safety enforcement via programmable strategies in Maude","authors":"M. Alpuente ,&nbsp;D. Ballis ,&nbsp;S. Escobar ,&nbsp;D. Galán ,&nbsp;J. Sapiña","doi":"10.1016/j.jlamp.2023.100849","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100849","url":null,"abstract":"<div><p>This work aims to provide a general mechanism for safety enforcement in rewriting logic computations. Our technique relies on an assertion-guided model transformation that leverages the newly defined Maude strategy language for ensuring rich safety policies in non-deterministic programs. The transformed system is guaranteed to comply with user-defined invariants that are expressed in a strategy-based, pattern-matching logic, thus preventing the concurrent system to reach any unsafe states. The performance and scalability of the technique is empirically evaluated and benchmarked on a set of realistic programs.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100849"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864072","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}
引用次数: 1
Program equivalence in an untyped, call-by-value functional language with uncurried functions 无类型、按值调用的函数式语言中具有无柯里化函数的程序等价性
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100857
Dániel Horpácsi , Péter Bereczky , Simon Thompson

We aim to reason about the correctness of behaviour-preserving transformations of Erlang programs. Behaviour preservation is characterised by semantic equivalence. Based upon our existing formal semantics for Core Erlang, we investigate potential definitions of suitable equivalence relations. In particular we adapt a number of existing approaches of expression equivalence to a simple functional programming language that carries the main features of sequential Core Erlang; we then examine the properties of the equivalence relations and formally establish connections between them. The results presented in this paper, including all theorems and their proofs, have been machine checked using the Coq proof assistant.

我们的目标是对Erlang程序的行为保持转换的正确性进行推理。行为保存的特点是语义等价。基于我们现有的Core Erlang形式语义,我们研究了合适等价关系的潜在定义。特别是,我们将许多现有的表达式等价方法改编为一种简单的函数式编程语言,该语言具有顺序核心Erlang的主要特性;然后,我们考察了等价关系的性质,并形式化地建立了它们之间的联系。本文的结果,包括所有的定理及其证明,都使用Coq证明助手进行了机器检验。
{"title":"Program equivalence in an untyped, call-by-value functional language with uncurried functions","authors":"Dániel Horpácsi ,&nbsp;Péter Bereczky ,&nbsp;Simon Thompson","doi":"10.1016/j.jlamp.2023.100857","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100857","url":null,"abstract":"<div><p>We aim to reason about the correctness of behaviour-preserving transformations of Erlang programs. Behaviour preservation is characterised by semantic equivalence. Based upon our existing formal semantics for Core Erlang, we investigate potential definitions of suitable equivalence relations. In particular we adapt a number of existing approaches of expression equivalence to a simple functional programming language that carries the main features of sequential Core Erlang; we then examine the properties of the equivalence relations and formally establish connections between them. The results presented in this paper, including all theorems and their proofs, have been machine checked using the Coq proof assistant.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100857"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864101","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}
引用次数: 2
A type language for distributed reactive components governed by communication protocols 一种用于受通信协议控制的分布式响应式组件的类型语言
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100848
Zorica Savanović, Letterio Galletta

Component based software engineering (CBSE) is a methodology that aims to design and build software systems by assembling together reusable and loosely coupled components. Applying CBSE in a distributed setting is appealing but challenging: distributed applications require different remote components to interact following a well-defined protocol. In this paper we consider a model for message passing component-based systems where components are assembled together with a protocol, and are reactive to messages in a flexible way. We propose a type language that allows capturing component reactive behaviour and checking its compatibility with the protocol. Moreover, we show the correspondence of component and type behaviours, which entails a progress property for components.

基于组件的软件工程(CBSE)是一种旨在通过将可重用和松散耦合的组件组装在一起来设计和构建软件系统的方法。在分布式设置中应用CBSE很有吸引力,但也很有挑战性:分布式应用程序需要不同的远程组件按照定义良好的协议进行交互。在本文中,我们考虑了基于组件的消息传递系统的模型,其中组件与协议组装在一起,并以灵活的方式响应消息。我们提出了一种类型语言,它允许捕获组件的响应行为并检查其与协议的兼容性。此外,我们还展示了组件和类型行为的对应关系,这需要组件的进度属性。
{"title":"A type language for distributed reactive components governed by communication protocols","authors":"Zorica Savanović,&nbsp;Letterio Galletta","doi":"10.1016/j.jlamp.2023.100848","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100848","url":null,"abstract":"<div><p>Component based software engineering (CBSE) is a methodology that aims to design and build software systems by assembling together reusable and loosely coupled components. Applying CBSE in a distributed setting is appealing but challenging: distributed applications require different remote components to interact following a well-defined protocol. In this paper we consider a model for message passing component-based systems where components are assembled together with a protocol, and are reactive to messages in a flexible way. We propose a type language that allows capturing component reactive behaviour and checking its compatibility with the protocol. Moreover, we show the correspondence of component and type behaviours, which entails a progress property for components.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100848"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864073","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
Verification of the ROS NavFn planner using executable specification languages 使用可执行规范语言验证ROS NavFn规划器
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100860
Enrique Martin-Martin , Manuel Montenegro , Adrián Riesco , Juan Rodríguez-Hortalá , Rubén Rubio

The Robot Operating System (ROS) is a framework for building robust software for complex robot systems in several domains. The Navigation Stack stands out among the different libraries available in ROS, providing a set of components that can be reused to build robots with autonomous navigation capabilities. This library is a critical component, as navigation failures could have catastrophic consequences for applications like self-driving cars where safety is crucial.

Here we devise a general methodology for verifying this kind of complex systems by specifying them in different executable specification languages with verification support and validating the equivalence between the specifications and the original system using differential testing techniques. The complex system can then be indirectly analyzed using the verification tools of the specification languages like model checking, semi-automated functional verification based on Hoare logic, and other formal techniques. In this paper we apply this verification methodology to the NavFn planner, which is the main planner component of the Navigation Stack of ROS, using Maude and Dafny as specification languages. We have formally proved several desirable properties of this planner algorithm like the absence of obstacles in the planned path. Moreover, we have found counterexamples for other concerns like the optimality of the path cost.

机器人操作系统(ROS)是为多个领域的复杂机器人系统构建健壮软件的框架。导航堆栈在ROS中可用的不同库中脱颖而出,它提供了一组组件,可以重用这些组件来构建具有自主导航功能的机器人。这个库是一个至关重要的组成部分,因为导航失败可能会对安全至关重要的自动驾驶汽车等应用产生灾难性的后果。在这里,我们设计了一种通用的方法来验证这类复杂的系统,方法是用不同的可执行规范语言指定它们,并使用不同的测试技术来验证规范和原始系统之间的等价性。然后可以使用规范语言的验证工具,如模型检查、基于Hoare逻辑的半自动化功能验证,以及其他正式技术,间接地分析复杂的系统。本文使用Maude和Dafny作为规范语言,将这种验证方法应用于ROS导航堆栈的主要规划器组件NavFn规划器。我们已经正式证明了该规划算法的几个理想性质,如规划路径中没有障碍物。此外,我们还发现了其他问题的反例,如路径成本的最优性。
{"title":"Verification of the ROS NavFn planner using executable specification languages","authors":"Enrique Martin-Martin ,&nbsp;Manuel Montenegro ,&nbsp;Adrián Riesco ,&nbsp;Juan Rodríguez-Hortalá ,&nbsp;Rubén Rubio","doi":"10.1016/j.jlamp.2023.100860","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100860","url":null,"abstract":"<div><p>The Robot Operating System (ROS) is a framework for building robust software for complex robot systems in several domains. The <em>Navigation Stack</em> stands out among the different libraries available in ROS, providing a set of components that can be reused to build robots with autonomous navigation capabilities. This library is a critical component, as navigation failures could have catastrophic consequences for applications like self-driving cars where safety is crucial.</p><p>Here we devise a general methodology for verifying this kind of complex systems by specifying them in different executable specification languages with verification support and validating the equivalence between the specifications and the original system using differential testing techniques. The complex system can then be indirectly analyzed using the verification tools of the specification languages like model checking, semi-automated functional verification based on Hoare logic, and other formal techniques. In this paper we apply this verification methodology to the NavFn planner, which is the main planner component of the Navigation Stack of ROS, using Maude and Dafny as specification languages. We have formally proved several desirable properties of this planner algorithm like the absence of obstacles in the planned path. Moreover, we have found counterexamples for other concerns like the optimality of the path cost.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100860"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864103","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 memory-related vulnerability detection approach based on vulnerability model with Petri Net 基于Petri网漏洞模型的内存相关漏洞检测方法
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100859
Jinfu Chen , Chi Zhang , Saihua Cai , Lin Zhang , Liang Ma

With the continuous development of information technology, software vulnerabilities have become a critical threat to information security. Post-release detection of memory leaks, double free and use after free is one of the most challenging research problems in software vulnerability analysis. To tackle this challenge, we introduce a vulnerability model based on Petri Net. We consider the characteristics and causes of vulnerabilities, modeling is conducted from the subject and environment of vulnerabilities. Based on this vulnerability model, we propose a memory-related vulnerability detection framework based on vulnerability model (MRVD-VM) and its vulnerability detection algorithm based on vulnerability mode (VDA-VM). The results of experiments on Juliet Test Suite 1.2 for C_CPP show that MRVD-VM significantly outperforms three state-of-the-art baseline tools, including Cppcheck, Flawfinder, and Splint, in detecting memory leaks, double free and use after free.

随着信息技术的不断发展,软件漏洞已成为威胁信息安全的重大问题。发布后检测内存泄漏、重复释放和释放后使用是软件漏洞分析中最具挑战性的研究问题之一。为了解决这个问题,我们引入了一个基于Petri网的漏洞模型。考虑漏洞的特点和成因,从漏洞的主体和环境两方面进行建模。基于该漏洞模型,我们提出了基于漏洞模型的内存相关漏洞检测框架(MRVD-VM)及其基于漏洞模式的漏洞检测算法(VDA-VM)。在Juliet Test Suite 1.2 for C_CPP上的实验结果表明,MRVD-VM在检测内存泄漏、双重释放和释放后使用方面明显优于三种最先进的基线工具,包括Cppcheck、Flawfinder和Splint。
{"title":"A memory-related vulnerability detection approach based on vulnerability model with Petri Net","authors":"Jinfu Chen ,&nbsp;Chi Zhang ,&nbsp;Saihua Cai ,&nbsp;Lin Zhang ,&nbsp;Liang Ma","doi":"10.1016/j.jlamp.2023.100859","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100859","url":null,"abstract":"<div><p><span>With the continuous development of information technology, software vulnerabilities have become a critical threat to information security. Post-release detection of memory leaks, double free and use after free is one of the most challenging research problems in software vulnerability analysis. To tackle this challenge, we introduce a vulnerability model based on Petri Net. We consider the characteristics and causes of vulnerabilities, modeling is conducted from the subject and environment of vulnerabilities. Based on this vulnerability model, we propose a memory-related </span>vulnerability detection framework based on vulnerability model (MRVD-VM) and its vulnerability detection algorithm based on vulnerability mode (VDA-VM). The results of experiments on Juliet Test Suite 1.2 for C_CPP show that MRVD-VM significantly outperforms three state-of-the-art baseline tools, including Cppcheck, Flawfinder, and Splint, in detecting memory leaks, double free and use after free.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100859"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864100","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
Location automata for synchronised shuffle expressions 同步洗牌表达式的位置自动机
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-04-01 DOI: 10.1016/j.jlamp.2023.100847
Sabine Broda, António Machiavelo, Nelma Moreira, Rogério Reis

Several notions of synchronisation in concurrent systems can be modelled by regular shuffle operators. In this paper we consider regular expressions extended with three operators corresponding respectively to strong, arbitrary, and weak synchronisation. For these expressions, we define a location based position automaton. Furthermore, we show that the partial derivative automaton is still a quotient of the position automaton.

并发系统中的几个同步概念可以通过正则洗牌操作符来建模。在本文中,我们考虑了正则表达式扩展的三个操作符分别对应于强同步、任意同步和弱同步。对于这些表达式,我们定义了一个基于位置的位置自动机。进一步证明了偏导数自动机仍然是位置自动机的商。
{"title":"Location automata for synchronised shuffle expressions","authors":"Sabine Broda,&nbsp;António Machiavelo,&nbsp;Nelma Moreira,&nbsp;Rogério Reis","doi":"10.1016/j.jlamp.2023.100847","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100847","url":null,"abstract":"<div><p>Several notions of synchronisation in concurrent systems can be modelled by regular shuffle operators. In this paper we consider regular expressions extended with three operators corresponding respectively to strong, arbitrary, and weak synchronisation. For these expressions, we define a location based position automaton. Furthermore, we show that the partial derivative automaton is still a quotient of the position automaton.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"132 ","pages":"Article 100847"},"PeriodicalIF":0.9,"publicationDate":"2023-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49864099","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
Variations and interpretations of naturality in call-by-name lambda-calculi with generalized applications 名称调用lambda演算中自然性的变化和解释及其推广应用
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-02-01 DOI: 10.1016/j.jlamp.2022.100830
José Espírito Santo , Maria João Frade , Luís Pinto

In the context of intuitionistic sequent calculus, “naturality” means permutation-freeness (the terminology is essentially due to Mints). We study naturality in the context of the lambda-calculus with generalized applications and its multiary extension, to cover, under the Curry-Howard correspondence, proof systems ranging from natural deduction (with and without general elimination rules) to a fragment of sequent calculus with an iterable left-introduction rule, and which can still be recognized as a call-by-name lambda-calculus. In this context, naturality consists of a certain restricted use of generalized applications. We consider the further restriction obtained by the combination of naturality with normality w.r.t. the commutative conversion engendered by generalized applications. This combination sheds light on the interpretation of naturality as a vectorization mechanism, allowing a multitude of different ways of structuring lambda-terms, and the structuring of a multitude of interesting fragments of the systems under study. We also consider a relaxation of naturality, called weak naturality: this not only brings similar structural benefits, but also suggests a new “weak” system of natural deduction with generalized applications which is exempt from commutative conversions. In the end, we use all of this evidence as a stepping stone to propose a computational interpretation of generalized application (whether multiary or not, and without any restriction): it includes, alongside the argument(s) for the function, a general list – a new, very general, vectorization mechanism, that structures the continuation of the computation.

在直觉序演算的上下文中,“自然性”意味着置换自由性(该术语本质上是由于Mints)。我们在具有广义应用的lambda演算及其多元扩展的背景下研究了自然性,以涵盖在Curry-Howard对应关系下的证明系统,从自然推导(有和没有一般消去规则)到具有可迭代左引入规则的序列演算的片段,其仍然可以被识别为名称为lambda演算的调用。在这种情况下,自然性包括对广义应用程序的某种限制性使用。我们考虑了自然性与正规性相结合所得到的进一步的限制,以及广义应用所产生的交换转换。这种组合揭示了自然性作为矢量化机制的解释,允许以多种不同的方式构建lambda项,并构建所研究系统的许多有趣片段。我们还考虑了自然性的放松,称为弱自然性:这不仅带来了类似的结构好处,而且提出了一个新的“弱”自然演绎系统,该系统具有广义应用,不受交换转换的约束。最后,我们将所有这些证据作为垫脚石,提出对广义应用的计算解释(无论是否是多元的,并且没有任何限制):它包括一个通用列表,以及函数的自变量——一种新的、非常通用的矢量化机制,它构造了计算的连续性。
{"title":"Variations and interpretations of naturality in call-by-name lambda-calculi with generalized applications","authors":"José Espírito Santo ,&nbsp;Maria João Frade ,&nbsp;Luís Pinto","doi":"10.1016/j.jlamp.2022.100830","DOIUrl":"https://doi.org/10.1016/j.jlamp.2022.100830","url":null,"abstract":"<div><p>In the context of intuitionistic sequent calculus, “naturality” means permutation-freeness (the terminology is essentially due to Mints). We study naturality in the context of the lambda-calculus with generalized applications and its multiary extension, to cover, under the Curry-Howard correspondence, proof systems ranging from natural deduction (with and without general elimination rules) to a fragment of sequent calculus with an iterable left-introduction rule, and which can still be recognized as a call-by-name lambda-calculus. In this context, naturality consists of a certain restricted use of generalized applications. We consider the further restriction obtained by the combination of naturality with normality w.r.t. the commutative conversion engendered by generalized applications. This combination sheds light on the interpretation of naturality as a vectorization mechanism, allowing a multitude of different ways of structuring lambda-terms, and the structuring of a multitude of interesting fragments of the systems under study. We also consider a relaxation of naturality, called weak naturality: this not only brings similar structural benefits, but also suggests a new “weak” system of natural deduction with generalized applications which is exempt from commutative conversions. In the end, we use all of this evidence as a stepping stone to propose a computational interpretation of generalized application (whether multiary or not, and without any restriction): it includes, alongside the argument(s) for the function, a <em>general list</em> – a new, very general, vectorization mechanism, that structures the continuation of the computation.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"131 ","pages":"Article 100830"},"PeriodicalIF":0.9,"publicationDate":"2023-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50202957","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
Multiparty half-duplex systems and synchronous communications 多方半双工系统和同步通信
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-02-01 DOI: 10.1016/j.jlamp.2022.100843
Cinzia Di Giusto, Loïc Germerie Guizouarn, Etienne Lozes

FIFO automata are finite state machines communicating through FIFO queues. They can be used, for instance, to model distributed protocols. Due to the unboundedness of the FIFO queues, several verification problems are undecidable for these systems. In order to model check such systems, one may look for decidable subclasses of FIFO systems. Binary half-duplex systems are systems of two FIFO automata exchanging over a half-duplex channel. They were studied by Cécé and Finkel who established the decidability in polynomial time of several properties. There is no obvious way to generalize the half-duplex property to multiparty systems. Cécé and Finkel proposed some generalizations but concluded that their notions of multiparty half-duplex systems were either too restrictive or too expressive.

We explore in this paper other ways of generalizing half-duplex systems to multiparty. First, we introduce systems realizable with synchronous communications (RSC) and we show that RSC systems generalize half-duplex systems and retain the same good properties as binary half-duplex systems. Second, we introduce a notion of multiparty half-duplex systems that differs from the ones explored by Cécé and Finkel, and we show two results about this notion: (1) for mailbox communications, half-duplex systems are essentially the same as RSC systems, and (2) for peer-to-peer communications, the two notions are distinct, and RSC systems appear to be “the good one”, since peer-to-peer half-duplex systems are Turing powerful.

FIFO自动机是通过FIFO队列进行通信的有限状态机。例如,它们可以用于对分布式协议进行建模。由于FIFO队列的无界性,这些系统的几个验证问题是不可判定的。为了对这样的系统进行模型检查,可以寻找FIFO系统的可判定子类。二进制半双工系统是两个FIFO自动机在半双工信道上交换的系统。CéCé和Finkel对它们进行了研究,他们在多项式时间内建立了几个性质的可判定性。没有明显的方法将半双工性质推广到多方系统。CéCé和Finkel提出了一些推广,但得出的结论是,他们关于多方半双工系统的概念要么限制性太强,要么表达性太强。本文探讨了将半双工系统推广为多党制的其他方法。首先,我们介绍了用同步通信(RSC)实现的系统,并证明了RSC系统推广了半双工系统,并保持了与二进制半双工系统相同的良好性能。其次,我们引入了一个多方半双工系统的概念,该概念不同于CéCé和Finkel所探索的概念,我们展示了关于该概念的两个结果:(1)对于邮箱通信,半双工系统与RSC系统本质上相同;(2)对于对等通信,这两个概念是不同的,RSC系统似乎是“好的一个”,因为对等半双工系统是图灵强大的。
{"title":"Multiparty half-duplex systems and synchronous communications","authors":"Cinzia Di Giusto,&nbsp;Loïc Germerie Guizouarn,&nbsp;Etienne Lozes","doi":"10.1016/j.jlamp.2022.100843","DOIUrl":"https://doi.org/10.1016/j.jlamp.2022.100843","url":null,"abstract":"<div><p><span><span>FIFO automata are </span>finite state machines communicating through FIFO queues. They can be used, for instance, to model distributed protocols. Due to the unboundedness of the FIFO queues, several verification problems are undecidable for these systems. In order to model check such systems, one may look for decidable </span>subclasses<span><span> of FIFO systems. Binary half-duplex systems are systems of two FIFO automata exchanging over a half-duplex channel. They were studied by Cécé and Finkel who established the decidability in polynomial time of several properties. There is no obvious way to generalize the half-duplex property to </span>multiparty systems. Cécé and Finkel proposed some generalizations but concluded that their notions of multiparty half-duplex systems were either too restrictive or too expressive.</span></p><p>We explore in this paper other ways of generalizing half-duplex systems to multiparty. First, we introduce systems realizable with synchronous communications (RSC) and we show that RSC systems generalize half-duplex systems and retain the same good properties as binary half-duplex systems. Second, we introduce a notion of multiparty half-duplex systems that differs from the ones explored by Cécé and Finkel, and we show two results about this notion: (1) for mailbox communications, half-duplex systems are essentially the same as RSC systems, and (2) for peer-to-peer communications, the two notions are distinct, and RSC systems appear to be “the good one”, since peer-to-peer half-duplex systems are Turing powerful.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"131 ","pages":"Article 100843"},"PeriodicalIF":0.9,"publicationDate":"2023-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50202959","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
期刊
Journal of Logical and Algebraic Methods in 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