首页 > 最新文献

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-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-01-28","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-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-01-16","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 : 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":"2024-11-13","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 : 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":"2024-11-12","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
First order Büchi automata and their application to verification of LTL specifications 一阶 Büchi 自动机及其在 LTL 规范验证中的应用
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-10-15 DOI: 10.1016/j.jlamp.2024.101021
Wenhui Zhang
Büchi automata have applications in formal verification, e.g., in deciding whether a system satisfies given properties. We provide a definition of Büchi automata based on first order logics for representing infinite state systems, and investigate rules for proving emptiness and non-emptiness of such automata. We then apply these rules to solve the problem of verifying correctness of concurrent transition systems, leading to a relatively complete approach for proving and disproving LTL (Linear Temporal Logic) specifications. This approach overcomes weaknesses of existing work based on well-founded sets in the sense that the relative completeness does not depend on additional specification for ensuring progress of non-stuttering transitions. On the practical aspect, we provide a set of examples with an experimental verification condition generation tool to demonstrate the potential applicability of the approach for the verification of concurrent systems.
布奇自动机可应用于形式验证,例如判定系统是否满足给定属性。我们基于表示无限状态系统的一阶逻辑给出了布奇自动机的定义,并研究了证明此类自动机空性和非空性的规则。然后,我们应用这些规则来解决验证并发转换系统正确性的问题,从而形成了一种相对完整的 LTL(线性时态逻辑)规范证明和反证方法。这种方法克服了基于有据集的现有工作的弱点,因为它的相对完备性并不依赖于额外的规范来确保非停顿转换的进度。在实际应用方面,我们提供了一组带有实验验证条件生成工具的示例,以证明该方法在并发系统验证中的潜在适用性。
{"title":"First order Büchi automata and their application to verification of LTL specifications","authors":"Wenhui Zhang","doi":"10.1016/j.jlamp.2024.101021","DOIUrl":"10.1016/j.jlamp.2024.101021","url":null,"abstract":"<div><div>Büchi automata have applications in formal verification, e.g., in deciding whether a system satisfies given properties. We provide a definition of Büchi automata based on first order logics for representing infinite state systems, and investigate rules for proving emptiness and non-emptiness of such automata. We then apply these rules to solve the problem of verifying correctness of concurrent transition systems, leading to a relatively complete approach for proving and disproving LTL (Linear Temporal Logic) specifications. This approach overcomes weaknesses of existing work based on well-founded sets in the sense that the relative completeness does not depend on additional specification for ensuring progress of non-stuttering transitions. On the practical aspect, we provide a set of examples with an experimental verification condition generation tool to demonstrate the potential applicability of the approach for the verification of concurrent systems.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101021"},"PeriodicalIF":0.7,"publicationDate":"2024-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142446083","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
Tuning similarity-based fuzzy logic programs 调整基于相似性的模糊逻辑程序
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-10-11 DOI: 10.1016/j.jlamp.2024.101020
Ginés Moreno, José A. Riaza
We have recently designed a symbolic extension of FASILL (acronym of “Fuzzy Aggregators and Similarity Into a Logic Language”), where some truth degrees, similarity annotations and fuzzy connectives can be left unknown, so that the user can easily see the impact of their possible values at execution time. By extending our previous results in the development of tuning techniques not dealing yet with similarity relations, in this work we automatically tune FASILL programs by appropriately substituting the symbolic constants appearing on their rules and similarity relations with the concrete values that best satisfy the user's preferences. Firstly, we have formally proved two theoretical results with different levels of generality/practicability for tuning programs in a safe and effective way. Regarding efficiency, we have drastically reduced the exponential complexity of the tuning algorithms by splitting the initial set of symbolic constants in disjoint sets and using thresholding techniques. These effects have been evidenced by several experiments and benchmarks developed with the online tool we provide to verify in practice the high performance of the improved system.
我们最近设计了一种 FASILL("Fuzzy Aggregators and Similarity Into a Logic Language "的首字母缩写)的符号扩展,其中一些真值、相似性注释和模糊连接词可以保持未知,这样用户在执行时就可以很容易地看到它们可能的取值所产生的影响。在这项工作中,我们扩展了之前在开发尚未处理相似性关系的调整技术方面取得的成果,通过用最能满足用户偏好的具体值适当替代出现在规则和相似性关系中的符号常量,自动调整 FASILL 程序。首先,我们正式证明了两个具有不同通用性/实用性的理论结果,可以安全有效地调整程序。在效率方面,我们通过将初始的符号常数集分割成不相连的集合和使用阈值技术,大大降低了调整算法的指数复杂度。这些效果已通过我们提供的在线工具开发的多个实验和基准测试得到了证明,从而在实践中验证了改进系统的高性能。
{"title":"Tuning similarity-based fuzzy logic programs","authors":"Ginés Moreno,&nbsp;José A. Riaza","doi":"10.1016/j.jlamp.2024.101020","DOIUrl":"10.1016/j.jlamp.2024.101020","url":null,"abstract":"<div><div>We have recently designed a symbolic extension of <span>FASILL</span> (acronym of “Fuzzy Aggregators and Similarity Into a Logic Language”), where some truth degrees, similarity annotations and fuzzy connectives can be left unknown, so that the user can easily see the impact of their possible values at execution time. By extending our previous results in the development of tuning techniques not dealing yet with similarity relations, in this work we automatically tune <span>FASILL</span> programs by appropriately substituting the symbolic constants appearing on their rules and similarity relations with the concrete values that best satisfy the user's preferences. Firstly, we have formally proved two theoretical results with different levels of generality/practicability for tuning programs in a safe and effective way. Regarding efficiency, we have drastically reduced the exponential complexity of the tuning algorithms by splitting the initial set of symbolic constants in disjoint sets and using thresholding techniques. These effects have been evidenced by several experiments and benchmarks developed with the online tool we provide to verify in practice the high performance of the improved system.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101020"},"PeriodicalIF":0.7,"publicationDate":"2024-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142432865","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 : 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":"2024-10-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 : 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":"2024-09-23","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
The expression dependence graph 表达式依存图
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-09-19 DOI: 10.1016/j.jlamp.2024.101016
Carlos Galindo, Sergio Pérez, Josep Silva
The system dependence graph (SDG) is a widely used program representation for the static analysis of programs. In particular, it is the standard way to represent control and flow dependences between the statements of a program. It is at the core of program slicing, a technique that extracts the part of a program that can influence a given program point (the so-called slicing criterion). In this paper, we identify several program slicing situations (e.g., list comprehensions, try-catch and for) where the representation provided by the SDG is imprecise, and we present an alternative program representation, which is indeed an extension of the SDG, that solves these situations. We call this extension the expression dependence graph (EDG). The EDG redefines the SDG by increasing the granularity of its nodes to abstract syntax tree (AST) nodes. The implications of this change include an improvement in precision, the appearance of new kinds of dependences (besides control and flow dependences), and the possibility of selecting any (sub)expression as the slicing criterion.
系统依赖图(SDG)是一种广泛应用于程序静态分析的程序表示法。特别是,它是表示程序语句间控制和流程依赖关系的标准方法。它是程序切分的核心,程序切分是一种提取程序中能影响给定程序点的部分(即所谓的切分准则)的技术。在本文中,我们指出了 SDG 所提供的表示法不精确的几种程序切分情况(如列表理解、try-catch 和 for),并提出了一种替代程序表示法,它实际上是 SDG 的扩展,可以解决这些情况。我们将这种扩展称为表达式依赖图(EDG)。EDG 重新定义了 SDG,将其节点的粒度提高到抽象语法树(AST)节点。这种变化的影响包括提高了精确度,出现了新的依赖类型(除了控制和流程依赖),以及可以选择任何(子)表达式作为切分标准。
{"title":"The expression dependence graph","authors":"Carlos Galindo,&nbsp;Sergio Pérez,&nbsp;Josep Silva","doi":"10.1016/j.jlamp.2024.101016","DOIUrl":"10.1016/j.jlamp.2024.101016","url":null,"abstract":"<div><div>The <em>system dependence graph</em> (SDG) is a widely used program representation for the static analysis of programs. In particular, it is the standard way to represent control and flow dependences between the statements of a program. It is at the core of program slicing, a technique that extracts the part of a program that can influence a given program point (the so-called slicing criterion). In this paper, we identify several program slicing situations (e.g., list comprehensions, <span>try-catch</span> and <span>for</span>) where the representation provided by the SDG is imprecise, and we present an alternative program representation, which is indeed an extension of the SDG, that solves these situations. We call this extension the <em>expression dependence graph</em> (EDG). The EDG redefines the SDG by increasing the granularity of its nodes to <em>abstract syntax tree</em> (AST) nodes. The implications of this change include an improvement in precision, the appearance of new kinds of dependences (besides control and flow dependences), and the possibility of selecting any (sub)expression as the slicing criterion.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101016"},"PeriodicalIF":0.7,"publicationDate":"2024-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000701/pdfft?md5=e1a070fcd4076ea5219a2aae17e4145c&pid=1-s2.0-S2352220824000701-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142311098","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
On the expressiveness and efficiency of guarded lists in Bach 论巴赫守护列表的表现力和效率
IF 0.7 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-09-16 DOI: 10.1016/j.jlamp.2024.101017
Manel Barkallah, Jean-Marie Jacquet
Concurrency theory has received considerable attention, but mostly in the scope of synchronous process algebras such as CCS, CSP, and ACP. As another way of handling concurrency, data-based coordination languages aim to provide a clear separation between interaction and computation by synchronizing processes asynchronously by means of information being available or not on a shared space. Although these languages enjoy interesting properties, verifying program correctness remains challenging. In particular, model checking logic formulae is known to raise performance issues due to the state space explosion problem. In this paper, we propose a guarded list construct as a solution to address this problem. Beyond increasing performance, it also enriches the expressiveness of data-based coordination languages and allows for program transformations that further increase the speed of computations.
并发理论受到了相当多的关注,但主要是在同步进程代数(如 CCS、CSP 和 ACP)的范围内。作为处理并发性的另一种方法,基于数据的协调语言旨在通过共享空间上的信息可用与否来异步同步进程,从而明确区分交互与计算。虽然这些语言具有有趣的特性,但验证程序的正确性仍然具有挑战性。特别是,众所周知,由于状态空间爆炸问题,对逻辑公式进行建模检查会产生性能问题。在本文中,我们提出了一种有保护的列表结构作为解决这一问题的方案。除了提高性能外,它还丰富了基于数据的协调语言的表现力,并允许进行程序转换,从而进一步提高计算速度。
{"title":"On the expressiveness and efficiency of guarded lists in Bach","authors":"Manel Barkallah,&nbsp;Jean-Marie Jacquet","doi":"10.1016/j.jlamp.2024.101017","DOIUrl":"10.1016/j.jlamp.2024.101017","url":null,"abstract":"<div><div>Concurrency theory has received considerable attention, but mostly in the scope of synchronous process algebras such as CCS, CSP, and ACP. As another way of handling concurrency, data-based coordination languages aim to provide a clear separation between interaction and computation by synchronizing processes asynchronously by means of information being available or not on a shared space. Although these languages enjoy interesting properties, verifying program correctness remains challenging. In particular, model checking logic formulae is known to raise performance issues due to the state space explosion problem. In this paper, we propose a guarded list construct as a solution to address this problem. Beyond increasing performance, it also enriches the expressiveness of data-based coordination languages and allows for program transformations that further increase the speed of computations.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"142 ","pages":"Article 101017"},"PeriodicalIF":0.7,"publicationDate":"2024-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142311004","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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1