首页 > 最新文献

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

英文 中文
A nesting-preserving transformation of SIMP programs into logically constrained term rewrite systems SIMP程序到逻辑约束项重写系统的保嵌套转换
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-03-01 Epub Date: 2025-01-28 DOI: 10.1016/j.jlamp.2025.101045
Naoki Nishida, Misaki Kojima , Ayuka Matsumi
In the last decade, several transformations of an imperative program into a logically constrained term rewrite system (LCTRS, for short) have been investigated and extended. They do not preserve the nesting of statements, generating rewrite rules like transition systems, while function calls are represented by the nesting of function symbols. Structural features of the original program must often be useful in analyzing the transformed LCTRS. To use such features, we have to know how to transform the program into the LCTRS by keeping the correspondence between statements in the program and the introduced auxiliary function symbols in the LCTRS, or by transforming the LCTRS into a control flow graph to, e.g., recover loop information. In this paper, we propose a nesting-preserving transformation of a SIMP program (a C-like integer program) into an LCTRS. The transformation is mostly based on previous work and introduces the nesting of function symbols that correspond to the nesting of statements in the original program. To be more precise, we propose a construction of a tree homomorphism which is used as a post-process of the transformation in previous work, i.e., which is applied to the LCTRS obtained from the program. As a correctness statement for the nesting-preserving transformation, we show that the tree homomorphism is sound and complete for the reduction of the LCTRS.
在过去的十年中,已经研究和扩展了将命令式程序转换为逻辑约束的术语重写系统(简称LCTRS)的几种转换。它们不保留语句的嵌套,生成像转换系统那样的重写规则,而函数调用由函数符号的嵌套表示。原始程序的结构特征在分析转换后的LCTRS时必须经常是有用的。要使用这些特性,我们必须知道如何通过保持程序中的语句与LCTRS中引入的辅助函数符号之间的对应关系,或通过将LCTRS转换为控制流图,例如,恢复循环信息,将程序转换为LCTRS。在本文中,我们提出了SIMP程序(类c整数程序)到LCTRS的一种保持嵌套的变换。这种转换主要是基于以前的工作,并引入了与原始程序中语句嵌套相对应的函数符号的嵌套。更准确地说,我们提出了一个树同态的构造,它被用作前面工作中变换的后处理,即应用于从程序得到的LCTRS。作为保留嵌套变换的正确性声明,我们证明了树同态对于LCTRS的约简是健全完备的。
{"title":"A nesting-preserving transformation of SIMP programs into logically constrained term rewrite systems","authors":"Naoki Nishida,&nbsp;Misaki Kojima ,&nbsp;Ayuka Matsumi","doi":"10.1016/j.jlamp.2025.101045","DOIUrl":"10.1016/j.jlamp.2025.101045","url":null,"abstract":"<div><div>In the last decade, several transformations of an imperative program into a logically constrained term rewrite system (LCTRS, for short) have been investigated and extended. They do not preserve the nesting of statements, generating rewrite rules like transition systems, while function calls are represented by the nesting of function symbols. Structural features of the original program must often be useful in analyzing the transformed LCTRS. To use such features, we have to know how to transform the program into the LCTRS by keeping the correspondence between statements in the program and the introduced auxiliary function symbols in the LCTRS, or by transforming the LCTRS into a control flow graph to, e.g., recover loop information. In this paper, we propose a nesting-preserving transformation of a SIMP program (a C-like integer program) into an LCTRS. The transformation is mostly based on previous work and introduces the nesting of function symbols that correspond to the nesting of statements in the original program. To be more precise, we propose a construction of a tree homomorphism which is used as a post-process of the transformation in previous work, i.e., which is applied to the LCTRS obtained from the program. As a correctness statement for the nesting-preserving transformation, we show that the tree homomorphism is sound and complete for the reduction of the LCTRS.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101045"},"PeriodicalIF":0.7,"publicationDate":"2025-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143092825","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
Inductive reasoning with equality predicates, contextual rewriting and variant-based simplification 具有相等谓词的归纳推理、上下文重写和基于变量的简化
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-03-01 Epub Date: 2025-01-16 DOI: 10.1016/j.jlamp.2025.101036
José Meseguer
An inductive inference system for proving validity of formulas in the initial algebra TE of an order-sorted equational theory E is presented. It has 21 inference rules. Only 9 of them require user interaction; the remaining 12 can be automated as simplification rules. In this way, a substantial fraction of the proof effort can be automated. Other rules can be automated by tactics. The inference rules are based on advanced equational reasoning techniques, including: equational proof search, equationally defined equality predicates, narrowing, constructor variant unification, variant satisfiability, order-sorted congruence closure, contextual rewriting, ordered rewriting, and recursive path orderings. All these techniques work modulo axioms B, for B any combination of associativity and/or commutativity and/or identity axioms. Most of these inference rules have already been implemented in Maude's NuITP inductive theorem prover.
给出了一个证明有序方程理论E初始代数中公式有效性的归纳推理系统。它有21条推理规则。其中只有9个需要用户交互;剩下的12条可以作为简化规则自动执行。通过这种方式,证明工作的很大一部分可以自动化。其他规则可以通过战术自动执行。推理规则基于先进的等式推理技术,包括:等式证明搜索、等式定义的等式谓词、缩小、构造函数变量统一、变量可满足性、有序排序的同余闭包、上下文重写、有序重写和递归路径排序。所有这些技术都适用于模公理B,对于B,任意结合性和/或交换性和/或恒等公理。这些推理规则大部分已经在Maude的NuITP归纳定理证明中实现了。
{"title":"Inductive reasoning with equality predicates, contextual rewriting and variant-based simplification","authors":"José Meseguer","doi":"10.1016/j.jlamp.2025.101036","DOIUrl":"10.1016/j.jlamp.2025.101036","url":null,"abstract":"<div><div>An inductive inference system for proving validity of formulas in the initial algebra <span><math><msub><mrow><mi>T</mi></mrow><mrow><mi>E</mi></mrow></msub></math></span> of an order-sorted equational theory <span><math><mi>E</mi></math></span> is presented. It has 21 inference rules. Only 9 of them require user interaction; the remaining 12 can be automated as <em>simplification rules</em>. In this way, a substantial fraction of the proof effort can be automated. Other rules can be automated by tactics. The inference rules are based on advanced equational reasoning techniques, including: equational proof search, equationally defined equality predicates, narrowing, constructor variant unification, variant satisfiability, order-sorted congruence closure, contextual rewriting, ordered rewriting, and recursive path orderings. All these techniques work modulo axioms <em>B</em>, for <em>B</em> any combination of associativity and/or commutativity and/or identity axioms. Most of these inference rules have already been implemented in Maude's <strong>NuITP</strong> inductive theorem prover.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101036"},"PeriodicalIF":0.7,"publicationDate":"2025-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143092826","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
Generation of algebraic data type values using evolutionary algorithms 利用进化算法生成代数数据类型值
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-02-01 Epub Date: 2024-11-13 DOI: 10.1016/j.jlamp.2024.101022
Ignacio Ballesteros , Clara Benac-Earle , Julio Mariño , Lars-Åke Fredlund , Ángel Herranz
Automatic data generation is a key component of automated software testing. Random generation of test input data can uncover some bugs in software, but its effectiveness decreases when those inputs must satisfy complex properties in order to be meaningful. In this work, we study an evolutionary approach to generate values that can be encoded as algebraic data types plus additional properties. First, the approach is illustrated with the generation of sorted lists. Then, we generalize the technique to arbitrary algebraic data type definitions. Finally, we consider the problem of constrained data types where the data must satisfy some nontrivial property, using the well-known example of red-black trees for our experiments. This example will allow us to introduce the main principles of evolutionary algorithms and how these principles can be applied to obtain valid, nontrivial samples of a given data structure. Our experiments have revealed that this evolutionary approach is able to improve diversity, and increase the size of valid generated values with respect to simple random sampling techniques.
自动生成数据是自动软件测试的关键组成部分。随机生成测试输入数据可以发现软件中的一些错误,但当这些输入数据必须满足复杂的属性才能有意义时,其有效性就会降低。在这项工作中,我们研究了一种进化方法,用于生成可编码为代数数据类型和附加属性的值。首先,我们用生成排序列表来说明这种方法。然后,我们将该技术推广到任意代数数据类型定义。最后,我们考虑了受约束数据类型的问题,即数据必须满足某些非难属性,并以众所周知的红黑树为例来进行实验。通过这个例子,我们可以介绍进化算法的主要原理,以及如何应用这些原理来获取给定数据结构的有效、非次要样本。我们的实验表明,与简单的随机取样技术相比,这种进化方法能够提高多样性,并增加有效生成值的大小。
{"title":"Generation of algebraic data type values using evolutionary algorithms","authors":"Ignacio Ballesteros ,&nbsp;Clara Benac-Earle ,&nbsp;Julio Mariño ,&nbsp;Lars-Åke Fredlund ,&nbsp;Ángel Herranz","doi":"10.1016/j.jlamp.2024.101022","DOIUrl":"10.1016/j.jlamp.2024.101022","url":null,"abstract":"<div><div>Automatic data generation is a key component of automated software testing. Random generation of test input data can uncover some bugs in software, but its effectiveness decreases when those inputs must satisfy complex properties in order to be meaningful. In this work, we study an evolutionary approach to generate values that can be encoded as algebraic data types plus additional properties. First, the approach is illustrated with the generation of sorted lists. Then, we generalize the technique to arbitrary algebraic data type definitions. Finally, we consider the problem of constrained data types where the data must satisfy some nontrivial property, using the well-known example of red-black trees for our experiments. This example will allow us to introduce the main principles of evolutionary algorithms and how these principles can be applied to obtain valid, nontrivial samples of a given data structure. Our experiments have revealed that this evolutionary approach is able to improve diversity, and increase the size of valid generated values with respect to simple random sampling techniques.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"143 ","pages":"Article 101022"},"PeriodicalIF":0.7,"publicationDate":"2025-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142701496","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
Logic and Calculi for All on the occasion of Luís Barbosa’s 60th birthday 在Luís巴博萨60岁生日之际,为大家展示逻辑与微积分
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-02-01 Epub Date: 2024-11-12 DOI: 10.1016/j.jlamp.2024.101023
Alexandre Madeira , José Nuno Oliveira , José Proença , Renato Neves
{"title":"Logic and Calculi for All on the occasion of Luís Barbosa’s 60th birthday","authors":"Alexandre Madeira ,&nbsp;José Nuno Oliveira ,&nbsp;José Proença ,&nbsp;Renato Neves","doi":"10.1016/j.jlamp.2024.101023","DOIUrl":"10.1016/j.jlamp.2024.101023","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"143 ","pages":"Article 101023"},"PeriodicalIF":0.7,"publicationDate":"2025-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142745024","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
Transforming concurrent programs with semaphores into logically constrained term rewrite systems 将带有信号量的并发程序转换为逻辑约束的术语重写系统
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-02-01 Epub Date: 2024-12-13 DOI: 10.1016/j.jlamp.2024.101033
Misaki Kojima , Naoki Nishida, Yutaka Matsubara
In this paper, as a first step of modeling concurrent programs by logically constrained term rewrite systems (LCTRSs, for short), we show transformations of concurrent programs with semaphore-based exclusive control into LCTRSs. To this end, we show how to encode configurations of concurrent programs with a fixed number of processes. Then, we show how to encode some well-known operations for semaphores by rewrite rules, showing two transformations of concurrent programs with semaphores into LCTRSs. We adopt list-using and list-free approaches to the encoding of waiting queues for semaphores in LCTRSs. While the former straightforwardly uses lists, the latter uses a so-called take-a-number system in order to avoid using any recursive data structures for waiting queues.
在本文中,作为通过逻辑约束项重写系统(简称lctrs)对并发程序建模的第一步,我们展示了将具有基于信号量的独占控制的并发程序转换为lctrs。为此,我们将展示如何对具有固定数量进程的并发程序的配置进行编码。然后,我们展示了如何通过重写规则对一些众所周知的信号量操作进行编码,并展示了将带有信号量的并发程序转换为lctrs的两种方法。我们采用了使用列表和不使用列表的方法来编码lctrs中信号量的等待队列。前者直接使用列表,而后者使用所谓的take-a-number系统,以避免在等待队列中使用任何递归数据结构。
{"title":"Transforming concurrent programs with semaphores into logically constrained term rewrite systems","authors":"Misaki Kojima ,&nbsp;Naoki Nishida,&nbsp;Yutaka Matsubara","doi":"10.1016/j.jlamp.2024.101033","DOIUrl":"10.1016/j.jlamp.2024.101033","url":null,"abstract":"<div><div>In this paper, as a first step of modeling concurrent programs by logically constrained term rewrite systems (LCTRSs, for short), we show transformations of concurrent programs with semaphore-based exclusive control into LCTRSs. To this end, we show how to encode configurations of concurrent programs with a fixed number of processes. Then, we show how to encode some well-known operations for semaphores by rewrite rules, showing two transformations of concurrent programs with semaphores into LCTRSs. We adopt list-using and list-free approaches to the encoding of waiting queues for semaphores in LCTRSs. While the former straightforwardly uses lists, the latter uses a so-called take-a-number system in order to avoid using any recursive data structures for waiting queues.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"143 ","pages":"Article 101033"},"PeriodicalIF":0.7,"publicationDate":"2025-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143170706","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
Formalization and analysis of the post-quantum signature scheme FALCON with Maude 基于Maude的后量子签名方案FALCON的形式化分析
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-02-01 Epub Date: 2024-12-16 DOI: 10.1016/j.jlamp.2024.101034
Víctor García , Santiago Escobar , Kazuhiro Ogata
Digital signatures ensure the authenticity and integrity of digital assets, vital properties for any secure communication. The National Institute of Standards and Technologies launched the Post-Quantum Cryptography project to standardise new algorithms and protocols that are secure against quantum attackers. The post-quantum signature scheme FALCON was one of the finalists. We present a continuation of the first steps towards the formal specification and analysis, in the high-performance language Maude, of signature schemes. We have adapted and improved a previous framework, originally aimed to formally specify and analyse post-quantum key encapsulation mechanisms. As a use case of the new framework, we specify an executable symbolic model of FALCON. On the symbolic model, we verify termination and fairness using LTL formulas with Maude's model checker. Furthermore, authentication, integrity and non-repudiation are analysed through invariant analysis. Integrity and non-repudiation hold, meanwhile, authentication does not hold in our symbolic model.
数字签名确保数字资产的真实性和完整性,这是任何安全通信的重要属性。美国国家标准与技术研究所启动了后量子密码学项目,以标准化新的算法和协议,以防止量子攻击者。后量子签名方案FALCON是决赛选手之一。我们在高性能语言Maude中对签名方案进行了正式规范和分析,这是第一步的延续。我们已经调整和改进了以前的框架,最初旨在正式指定和分析后量子密钥封装机制。作为新框架的一个用例,我们指定了一个可执行的FALCON符号模型。在符号模型上,我们使用LTL公式和Maude模型检查器来验证终止性和公平性。通过不变性分析,对认证、完整性和不可抵赖性进行了分析。完整性和不可否认性在我们的符号模型中是成立的,而认证在我们的符号模型中是不成立的。
{"title":"Formalization and analysis of the post-quantum signature scheme FALCON with Maude","authors":"Víctor García ,&nbsp;Santiago Escobar ,&nbsp;Kazuhiro Ogata","doi":"10.1016/j.jlamp.2024.101034","DOIUrl":"10.1016/j.jlamp.2024.101034","url":null,"abstract":"<div><div>Digital signatures ensure the authenticity and integrity of digital assets, vital properties for any secure communication. The National Institute of Standards and Technologies launched the Post-Quantum Cryptography project to standardise new algorithms and protocols that are secure against quantum attackers. The post-quantum signature scheme FALCON was one of the finalists. We present a continuation of the first steps towards the formal specification and analysis, in the high-performance language Maude, of signature schemes. We have adapted and improved a previous framework, originally aimed to formally specify and analyse post-quantum key encapsulation mechanisms. As a use case of the new framework, we specify an executable symbolic model of FALCON. On the symbolic model, we verify termination and fairness using LTL formulas with Maude's model checker. Furthermore, authentication, integrity and non-repudiation are analysed through invariant analysis. Integrity and non-repudiation hold, meanwhile, authentication does not hold in our symbolic model.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"143 ","pages":"Article 101034"},"PeriodicalIF":0.7,"publicationDate":"2025-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143170707","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
Towards a type-based abstract semantics for Python 为Python实现基于类型的抽象语义
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-02-01 Epub Date: 2024-12-10 DOI: 10.1016/j.jlamp.2024.101032
Andrei Nacu
Python is a high-level programming language that is strongly, but dynamically typed. In this paper, we propose a type inference framework to compute specifications for Python functions in isolation. To achieve this, we aim to use an abstract-interpretation-based data flow analysis to infer variable types on a subset of Python programs that use built-in types, operators and functions. To evaluate the expressions found in every program point, specifications for the encountered operations and functions are required. We propose a method for extracting these specifications from the Typeshed project, which contains a set of annotations for built-in and popular third-party libraries. These specifications will be used then to extend the proposed type inference to large Python programs.
Python是一种强但动态类型的高级编程语言。在本文中,我们提出了一个类型推断框架,用于隔离地计算Python函数的规范。为了实现这一点,我们的目标是使用基于抽象解释的数据流分析来推断使用内置类型、操作符和函数的Python程序子集的变量类型。要计算在每个程序点中找到的表达式,需要对遇到的操作和函数进行说明。我们提出了一种从Typeshed项目中提取这些规范的方法,该项目包含一组用于内置和流行的第三方库的注释。然后将使用这些规范将所建议的类型推断扩展到大型Python程序。
{"title":"Towards a type-based abstract semantics for Python","authors":"Andrei Nacu","doi":"10.1016/j.jlamp.2024.101032","DOIUrl":"10.1016/j.jlamp.2024.101032","url":null,"abstract":"<div><div>Python is a high-level programming language that is strongly, but dynamically typed. In this paper, we propose a type inference framework to compute specifications for Python functions in isolation. To achieve this, we aim to use an abstract-interpretation-based data flow analysis to infer variable types on a subset of Python programs that use built-in types, operators and functions. To evaluate the expressions found in every program point, specifications for the encountered operations and functions are required. We propose a method for extracting these specifications from the Typeshed project, which contains a set of annotations for built-in and popular third-party libraries. These specifications will be used then to extend the proposed type inference to large Python programs.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"143 ","pages":"Article 101032"},"PeriodicalIF":0.7,"publicationDate":"2025-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143170705","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
Comparing session type systems derived from linear logic 比较源自线性逻辑的会话类型系统
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-01-01 Epub Date: 2024-08-22 DOI: 10.1016/j.jlamp.2024.101004
Bas van den Heuvel , Jorge A. Pérez

Session types are a typed approach to message-passing concurrency, where types describe sequences of intended exchanges over channels. Session type systems have been given strong logical foundations via Curry-Howard correspondences with linear logic, a resource-aware logic that naturally captures structured interactions. These logical foundations provide an elegant framework to specify and (statically) verify message-passing processes.

In this paper, we rigorously compare different type systems for concurrency derived from the Curry-Howard correspondence between linear logic and session types. We address the main divide between these type systems: the classical and intuitionistic presentations of linear logic. Over the years, these presentations have given rise to separate research strands on logical foundations for concurrency; the differences between their derived type systems have only been addressed informally.

To formally assess these differences, we develop πULL, a session type system that encompasses type systems derived from classical and intuitionistic interpretations of linear logic. Based on a fragment of Girard's Logic of Unity, πULL provides a basic reference framework: we compare existing session type systems by characterizing fragments of πULL that coincide with classical and intuitionistic formulations. We analyze the significance of our characterizations by considering the locality principle (enforced by intuitionistic interpretations but not by classical ones) and forms of process composition induced by the interpretations.

会话类型是一种消息传递并发的类型化方法,其中的类型描述了在通道上的预期交换序列。会话类型系统通过与线性逻辑的库里-霍华德对应关系获得了坚实的逻辑基础,线性逻辑是一种资源感知逻辑,能自然地捕捉结构化的交互。这些逻辑基础为指定和(静态)验证消息传递过程提供了一个优雅的框架。在本文中,我们严格比较了从线性逻辑和会话类型之间的 Curry-Howard 对应关系中衍生出来的不同并发类型系统。我们讨论了这些类型系统之间的主要分歧:线性逻辑的经典表述和直觉表述。为了正式评估这些差异,我们开发了会话类型系统 πULL,它包含了从线性逻辑的经典解释和直觉解释中派生出来的类型系统。πULL以吉拉德的《统一逻辑》(Logic of Unity)的一个片段为基础,提供了一个基本的参考框架:我们通过描述πULL中与经典和直觉主义表述相吻合的片段来比较现有的会话类型系统。我们通过考虑局部性原则(直观解释强制执行,而经典解释不强制执行)和解释所诱导的流程组成形式,来分析我们的特征描述的意义。
{"title":"Comparing session type systems derived from linear logic","authors":"Bas van den Heuvel ,&nbsp;Jorge A. Pérez","doi":"10.1016/j.jlamp.2024.101004","DOIUrl":"10.1016/j.jlamp.2024.101004","url":null,"abstract":"<div><p><em>Session types</em> are a typed approach to message-passing concurrency, where types describe sequences of intended exchanges over channels. Session type systems have been given strong logical foundations via Curry-Howard correspondences with <em>linear logic</em>, a resource-aware logic that naturally captures structured interactions. These logical foundations provide an elegant framework to specify and (statically) verify message-passing processes.</p><p>In this paper, we rigorously compare different type systems for concurrency derived from the Curry-Howard correspondence between linear logic and session types. We address the main divide between these type systems: the classical and intuitionistic presentations of linear logic. Over the years, these presentations have given rise to separate research strands on logical foundations for concurrency; the differences between their derived type systems have only been addressed informally.</p><p>To formally assess these differences, we develop <span><math><mi>π</mi><mrow><mi>ULL</mi></mrow></math></span>, a session type system that encompasses type systems derived from classical and intuitionistic interpretations of linear logic. Based on a fragment of Girard's Logic of Unity, <span><math><mi>π</mi><mrow><mi>ULL</mi></mrow></math></span> provides a basic reference framework: we compare existing session type systems by characterizing fragments of <span><math><mi>π</mi><mrow><mi>ULL</mi></mrow></math></span> that coincide with classical and intuitionistic formulations. We analyze the significance of our characterizations by considering the <em>locality</em> principle (enforced by intuitionistic interpretations but not by classical ones) and forms of <em>process composition</em> induced by the interpretations.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101004"},"PeriodicalIF":0.7,"publicationDate":"2025-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000580/pdfft?md5=294ab7a9dfc6c75e24cca0d439232106&pid=1-s2.0-S2352220824000580-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142089470","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
Executable contracts for Elixir Elixir 的可执行合约
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-01-01 Epub Date: 2024-10-01 DOI: 10.1016/j.jlamp.2024.101019
Luis Eduardo Bueso de Barrio, Lars-Åke Fredlund, Ángel Herranz, Julio Mariño, Clara Benac Earle
This article presents the design of a library for attaching and checking executable contracts to code written in the Elixir programming language. In addition to classical contract constructs such as preconditions and postconditions, the library allows specifying exceptional behaviour (i.e., which exceptions are thrown and under which conditions), detecting non-termination issues in recursive functions by specifying a strictly decreasing order in function arguments, and associating timers with function calls to detect slow computations. The library also focuses on language-specific features, enabling the association of contracts with the reception of messages sent by processes and the attachment of constraints to variable names (useful due to variable shadowing in Elixir). Moreover, stateful contracts (i.e., with a model state) permit specifying the behaviour of stateful APIs whose operations can be linearized. Using the stateful contracts, a monitor can be employed to check that the observed state can be explained in terms of possible linearizations.
本文介绍了一个库的设计,该库用于附加和检查用 Elixir 编程语言编写的代码中的可执行合约。除了前置条件和后置条件等经典合约构造外,该库还允许指定异常行为(即在哪些条件下抛出异常),通过指定函数参数的严格递减顺序来检测递归函数中的非终止问题,以及将计时器与函数调用关联起来以检测缓慢的计算。该库还侧重于特定语言的功能,可将合约与接收进程发送的消息关联起来,并将约束附加到变量名上(Elixir 中的变量阴影非常有用)。此外,有状态合约(即具有模型状态)允许指定有状态应用程序接口的行为,这些应用程序接口的操作可以线性化。使用有状态合约,可以使用监控器来检查观察到的状态是否可以用可能的线性化来解释。
{"title":"Executable contracts for Elixir","authors":"Luis Eduardo Bueso de Barrio,&nbsp;Lars-Åke Fredlund,&nbsp;Ángel Herranz,&nbsp;Julio Mariño,&nbsp;Clara Benac Earle","doi":"10.1016/j.jlamp.2024.101019","DOIUrl":"10.1016/j.jlamp.2024.101019","url":null,"abstract":"<div><div>This article presents the design of a library for attaching and checking executable contracts to code written in the Elixir programming language. In addition to classical contract constructs such as preconditions and postconditions, the library allows specifying exceptional behaviour (i.e., which exceptions are thrown and under which conditions), detecting non-termination issues in recursive functions by specifying a strictly decreasing order in function arguments, and associating timers with function calls to detect slow computations. The library also focuses on language-specific features, enabling the association of contracts with the reception of messages sent by processes and the attachment of constraints to variable names (useful due to variable shadowing in Elixir). Moreover, stateful contracts (i.e., with a model state) permit specifying the behaviour of stateful APIs whose operations can be linearized. Using the stateful contracts, a monitor can be employed to check that the observed state can be explained in terms of possible linearizations.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101019"},"PeriodicalIF":0.7,"publicationDate":"2025-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142424083","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
Partially typed multiparty sessions with internal delegation 内部授权的部分类型多方会议
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2025-01-01 Epub Date: 2024-09-23 DOI: 10.1016/j.jlamp.2024.101018
Franco Barbanera , Viviana Bono , Mariangiola Dezani-Ciancaglini
A multiparty session formalises a set of concurrent communicating participants. The possibility for a participant to delegate some interactions to another participant is crucial for the expressivity of multiparty sessions. We propose the first type system for multiparty sessions with delegation where some communications between participants can be ignored. This allows us to type some sessions with global types representing interesting protocols, which have no type in the standard type systems. Our type system enjoys Subject Reduction, Session Fidelity and partial Lock-freedom. The last property ensures the absence of locks for participants with non-ignored communications. A sound and complete type inference algorithm is also discussed.
多方会话是一组同时进行通信的参与者的形式化。一个参与者可以将某些互动委托给另一个参与者,这对多方会话的表达能力至关重要。我们提出了第一个多方会话类型系统,在这个系统中,参与者之间的某些通信可以被忽略。这样,我们就可以用代表有趣协议的全局类型对某些会话进行类型化,而这些协议在标准类型系统中是没有类型的。我们的类型系统具有主体还原性、会话保真度和部分无锁性。最后一个特性确保了具有非忽略通信的参与者没有锁。此外,我们还讨论了一种完善而完整的类型推断算法。
{"title":"Partially typed multiparty sessions with internal delegation","authors":"Franco Barbanera ,&nbsp;Viviana Bono ,&nbsp;Mariangiola Dezani-Ciancaglini","doi":"10.1016/j.jlamp.2024.101018","DOIUrl":"10.1016/j.jlamp.2024.101018","url":null,"abstract":"<div><div>A multiparty session formalises a set of concurrent communicating participants. The possibility for a participant to delegate some interactions to another participant is crucial for the expressivity of multiparty sessions. We propose the first type system for multiparty sessions with delegation where some communications between participants can be ignored. This allows us to type some sessions with global types representing interesting protocols, which have no type in the standard type systems. Our type system enjoys Subject Reduction, Session Fidelity and <em>partial</em> Lock-freedom. The last property ensures the absence of <em>locks</em> for participants with non-ignored communications. A sound and complete type inference algorithm is also discussed.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101018"},"PeriodicalIF":0.7,"publicationDate":"2025-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142322690","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
期刊
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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1