{"title":"Preface to selected papers from 22nd Workshop on Programming and Languages (PROLE 2023)","authors":"Laura Panizo","doi":"10.1016/j.jlamp.2025.101060","DOIUrl":"10.1016/j.jlamp.2025.101060","url":null,"abstract":"<div><div>This special issue collects extended versions of selected papers presented at the 22nd Workshop on Programming and Languages (PROLE 2023), held in Ciudad Real from September 12 to 14, 2023.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101060"},"PeriodicalIF":0.7,"publicationDate":"2025-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143620611","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}
Laura Panizo, María-del-Mar Gallardo, Francisco Luque-Schempp, Pedro Merino
{"title":"Runtime monitoring of 5G network slicing using STAn","authors":"Laura Panizo, María-del-Mar Gallardo, Francisco Luque-Schempp, Pedro Merino","doi":"10.1016/j.jlamp.2025.101059","DOIUrl":"10.1016/j.jlamp.2025.101059","url":null,"abstract":"<div><div>The most recent technology in the evolution of mobile networks is 5G, which is aimed at offering differentiated quality of service (QoS) to specific groups of users or devices. Such groups could include public safety agencies, connected vehicles, citizens streaming video content, fixed Internet of Things devices, etc. Insofar as each group has different requirements in terms of bandwidth, latency, error rate, coverage or other relevant quality indicators, the network can be divided into multiple <em>slices</em>, with each slice supporting a group's requirements. Such <em>network slicing</em> is becoming a key feature for telecom operators, who need to face the challenge of validating its correct behavior.</div><div>In this paper, we propose a monitoring system to check that a 5G network is offering slicing in the proper way. To this end, we use the tool <span>STAn</span>, a general purpose runtime verification tool where the requirements to be monitored are expressed using temporal formulae. The paper identifies first a list of requirements that define the expected behavior of network slicing.</div><div>Then, we describe how the initial logic <span>eLTL</span> supported by <span>STAn</span> is extended to the so-called eXtended Event-driven Temporal Logic (<span>xeLTL</span>) in order to represent the slicing requirements. Finally, we validate that the new version of <span>STAn</span> and the catalogue of <span>xeLTL</span> formulae are suitable to monitor and check if real 5G networks properly support slicing. This way, we provide a complete new system for runtime monitoring of 5G network slicing.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101059"},"PeriodicalIF":0.7,"publicationDate":"2025-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143620544","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}
{"title":"Journal of logical and algebraic methods in programming – Publisher's Note 2025","authors":"","doi":"10.1016/j.jlamp.2025.101058","DOIUrl":"10.1016/j.jlamp.2025.101058","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101058"},"PeriodicalIF":0.7,"publicationDate":"2025-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143563066","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}
{"title":"Editorial message from the new Editor-in-Chief","authors":"Alberto Lluch Lafuente","doi":"10.1016/j.jlamp.2025.101057","DOIUrl":"10.1016/j.jlamp.2025.101057","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101057"},"PeriodicalIF":0.7,"publicationDate":"2025-03-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143552276","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}
{"title":"An algebraic theory of nondeterministic finite automata","authors":"Roberto Gorrieri","doi":"10.1016/j.jlamp.2025.101055","DOIUrl":"10.1016/j.jlamp.2025.101055","url":null,"abstract":"<div><div>A process algebra is proposed, whose semantics maps a term to a nondeterministic finite automaton (NFA, for short). We prove a representability theorem: for each NFA <em>N</em>, there exists a process algebraic term <em>p</em> such that its semantics is an NFA isomorphic to <em>N</em>. Moreover, we provide a concise axiomatization of language equivalence: two NFAs <span><math><msub><mrow><mi>N</mi></mrow><mrow><mn>1</mn></mrow></msub></math></span> and <span><math><msub><mrow><mi>N</mi></mrow><mrow><mn>2</mn></mrow></msub></math></span> recognize the same language if and only if the associated terms <span><math><msub><mrow><mi>p</mi></mrow><mrow><mn>1</mn></mrow></msub></math></span> and <span><math><msub><mrow><mi>p</mi></mrow><mrow><mn>2</mn></mrow></msub></math></span>, respectively, can be equated by means of a set of axioms, comprising 7 axioms plus 3 conditional axioms, only.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101055"},"PeriodicalIF":0.7,"publicationDate":"2025-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143479174","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}
{"title":"Transforming imperative programs into bisimilar logically constrained term rewrite systems via injective functions from configurations to terms","authors":"Naoki Nishida, Misaki Kojima , Takumi Kato","doi":"10.1016/j.jlamp.2025.101056","DOIUrl":"10.1016/j.jlamp.2025.101056","url":null,"abstract":"<div><div>To transform an imperative program into a logically constrained term rewrite system (LCTRS, for short), previous work transforms a list of statements into rewrite rules in a stepwise manner, and proves the correctness along the transformation and the big-step semantics of the program. On the other hand, the small-step semantics of a programming language consists of inference rules that define single transitions of configurations. Partial instances of such inference rules are almost the same as rewrite rules in the transformed LCTRS. In this paper, we aim at establishing a framework for simpler definitions and correctness proofs of transformations from programs into LCTRSs. To this end, for the transformation in previous work as an example, we show the existence of an injective function from configurations of a given program to terms, and reformulate the transformation by means of the injective function. The injective function enables us to make a one-to-one correspondence between single small-step transitions and reduction steps, and provides bisimilarity between the program and transformed LCTRS, resulting in a simpler correctness proof.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101056"},"PeriodicalIF":0.7,"publicationDate":"2025-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143509467","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}
Francisco Durán , Carlos Ramírez , Camilo Rocha , Nicolás Pozas
{"title":"A rewriting logic semantics for the analysis of P programs","authors":"Francisco Durán , Carlos Ramírez , Camilo Rocha , Nicolás Pozas","doi":"10.1016/j.jlamp.2025.101048","DOIUrl":"10.1016/j.jlamp.2025.101048","url":null,"abstract":"<div><div><span><math><mtext>P</mtext></math></span> is a domain-specific language designed for specifying asynchronous, event-driven systems. Its computational model is based on actors, i.e., on communicating state machines. This paper presents a formal semantics of <span><math><mtext>P</mtext></math></span> using rewriting logic, extending the language's verification capabilities. Implemented in Maude, a rewriting logic language, this semantics enables automated analysis of <span><math><mtext>P</mtext></math></span> programs, including reachability analysis, LTL model checking, and statistical model checking. Through illustrative examples, this paper demonstrates how this formalization significantly enhances <span><math><mtext>P</mtext></math></span>'s verification capacities in practical scenarios.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101048"},"PeriodicalIF":0.7,"publicationDate":"2025-02-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143438019","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}
Sarah Chlyah, Nils Gesbert, Pierre Genevès, Nabil Layaïda
{"title":"Efficient iterative programs with distributed data collections","authors":"Sarah Chlyah, Nils Gesbert, Pierre Genevès, Nabil Layaïda","doi":"10.1016/j.jlamp.2025.101047","DOIUrl":"10.1016/j.jlamp.2025.101047","url":null,"abstract":"<div><div>Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In those complex frameworks, optimizing code by hand is hard and time-consuming, making automated optimization particularly necessary. In order to automate optimization, a prerequisite is to find suitable abstractions to represent programs; for instance, algebras based on monads or monoids to represent distributed data collections. Currently, however, such algebras do not represent recursive programs in a way which allows for analyzing or rewriting them. In this paper, we extend a monoid algebra with a fixpoint operator for representing recursion as a first class citizen and show how it enables new optimizations. Experiments with the Spark platform illustrate performance gains brought by these systematic optimizations.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101047"},"PeriodicalIF":0.7,"publicationDate":"2025-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143445375","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}
{"title":"Transforming concurrent programs with semaphores into logically constrained term rewrite systems","authors":"Misaki Kojima , Naoki Nishida, 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}
{"title":"Formalization and analysis of the post-quantum signature scheme FALCON with Maude","authors":"Víctor García , Santiago Escobar , 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}