Pub Date : 2023-10-01DOI: 10.1016/j.jlamp.2023.100903
Misaki Kojima, Naoki Nishida
A concurrent program with semaphore-based exclusive control can be modeled by a logically constrained term rewrite system. In this paper, we first propose a framework to reduce the non-occurrence of a specified runtime error in the program to an all-path reachability problem of the transformed logically constrained term rewrite system. Here, an all-path reachability problem of the system is a pair of state sets and is demonically valid if every finite execution path starting with a state in the first set and ending with a terminating state includes a state in the second set. Then, we propose a weakened but easily-implementable variant of an existing proof system for all-path reachability problems. As a case study, we deal with the race freedom of concurrent programs with semaphore-based exclusive control.
{"title":"Reducing non-occurrence of specified runtime errors to all-path reachability problems of constrained rewriting","authors":"Misaki Kojima, Naoki Nishida","doi":"10.1016/j.jlamp.2023.100903","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100903","url":null,"abstract":"<div><p>A concurrent program with semaphore-based exclusive control can be modeled by a logically constrained term rewrite system. In this paper, we first propose a framework to reduce the non-occurrence of a specified runtime error in the program to an all-path reachability problem of the transformed logically constrained term rewrite system. Here, an all-path reachability problem of the system is a pair of state sets and is demonically valid if every finite execution path starting with a state in the first set and ending with a terminating state includes a state in the second set. Then, we propose a weakened but easily-implementable variant of an existing proof system for all-path reachability problems. As a case study, we deal with the race freedom of concurrent programs with semaphore-based exclusive control.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"135 ","pages":"Article 100903"},"PeriodicalIF":0.9,"publicationDate":"2023-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49876055","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}
Pub Date : 2023-10-01DOI: 10.1016/j.jlamp.2023.100894
Ştefan Ciobâcă, Dorel Lucanu, Andrei Sebastian Buruiană
We propose an operationally-based framework for deductive proofs of program equivalence. It is based on encoding the language semantics as logically constrained term rewriting systems (LCTRSs) and the two programs as terms. As a novelty of our method, we show that it enables relational reasoning about programs in various settings, which are encoded in the operational semantics. For example, we show how our method can be used to prove programs that are equivalent when considering an unbounded stack, but where the equivalence fails to hold if the stack is bounded. We also show how to formalize read-sets and write-sets of symbolic expressions and statements by extending the operational semantics in a conservative way. This enables the relational verification of program schemas, which we exploit to prove compiler optimizations that cannot be handled by other tools. Our method requires an extension of standard LCTRSs with axiomatized symbols, which generate new research questions. We also present a prototype implementation that proves the practical feasibility of our approach.
{"title":"Operationally-based program equivalence proofs using LCTRSs","authors":"Ştefan Ciobâcă, Dorel Lucanu, Andrei Sebastian Buruiană","doi":"10.1016/j.jlamp.2023.100894","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100894","url":null,"abstract":"<div><p>We propose an operationally-based framework for deductive proofs of program equivalence. It is based on encoding the language semantics<span> as logically constrained term rewriting systems<span> (LCTRSs) and the two programs as terms. As a novelty of our method, we show that it enables relational reasoning about programs in various settings, which are encoded in the operational semantics<span>. For example, we show how our method can be used to prove programs that are equivalent when considering an unbounded stack, but where the equivalence fails to hold if the stack is bounded. We also show how to formalize read-sets and write-sets of symbolic expressions and statements by extending the operational semantics in a conservative way. This enables the relational verification of program schemas, which we exploit to prove compiler optimizations that cannot be handled by other tools. Our method requires an extension of standard LCTRSs with axiomatized symbols, which generate new research questions. We also present a prototype implementation that proves the practical feasibility of our approach.</span></span></span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"135 ","pages":"Article 100894"},"PeriodicalIF":0.9,"publicationDate":"2023-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49876056","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}
Choreographic languages describe possible sequences of interactions among a set of agents. Typical models are based on languages or automata over sending and receiving actions. Pomsets provide a more compact alternative by using a partial order to explicitly represent causality and concurrency between these actions. However, pomsets offer no representation of choices, thus a set of pomsets is required to represent branching behaviour. For example, if an agent Alice can send one of two possible messages to Bob three times, one would need a set of distinct pomsets to represent all possible branches of Alice's behaviour. This paper proposes an extension of pomsets, named branching pomsets, with a branching structure that can represent Alice's behaviour using ordered actions. We compare the expressiveness of branching pomsets with that of several forms of event structures from the literature. We encode choreographies as branching pomsets and show that the pomset semantics of the encoded choreographies are bisimilar to their operational semantics. Furthermore, we define well-formedness conditions on branching pomsets, inspired by multiparty session types, and we prove that the well-formedness of a branching pomset is a sufficient condition for the realisability of the represented communication protocol. Finally, we present a prototype tool that implements our theory of branching pomsets, focusing on its applications to choreographies.
{"title":"Branching pomsets: Design, expressiveness and applications to choreographies","authors":"Luc Edixhoven , Sung-Shik Jongmans , José Proença , Ilaria Castellani","doi":"10.1016/j.jlamp.2023.100919","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100919","url":null,"abstract":"<div><p>Choreographic languages describe possible sequences of interactions among a set of agents. Typical models are based on languages or automata over sending and receiving actions. Pomsets provide a more compact alternative by using a partial order to explicitly represent causality and concurrency between these actions. However, pomsets offer no representation of choices, thus a set of pomsets is required to represent branching behaviour. For example, if an agent Alice can send one of two possible messages to Bob three times, one would need a set of <span><math><mn>2</mn><mo>×</mo><mn>2</mn><mo>×</mo><mn>2</mn></math></span> distinct pomsets to represent all possible branches of Alice's behaviour. This paper proposes an extension of pomsets, named <em>branching pomsets</em>, with a branching structure that can represent Alice's behaviour using <span><math><mn>2</mn><mo>+</mo><mn>2</mn><mo>+</mo><mn>2</mn></math></span> ordered actions. We compare the expressiveness of branching pomsets with that of several forms of event structures from the literature. We encode choreographies as branching pomsets and show that the pomset semantics of the encoded choreographies are bisimilar to their operational semantics. Furthermore, we define well-formedness conditions on branching pomsets, inspired by multiparty session types, and we prove that the well-formedness of a branching pomset is a sufficient condition for the realisability of the represented communication protocol. Finally, we present a prototype tool that implements our theory of branching pomsets, focusing on its applications to choreographies.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"136 ","pages":"Article 100919"},"PeriodicalIF":0.9,"publicationDate":"2023-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875053","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}
Pub Date : 2023-09-09DOI: 10.1016/j.jlamp.2023.100909
Jens Kosiol , Stefan John , Gabriele Taentzer
In model-driven optimization (MDO), domain-specific models are used to define and solve optimization problems via meta-heuristic search, often via evolutionary algorithms. Models are typically evolved using mutations, which can be formally specified as graph transformations. So far, only mutations have been used to generate new solution models from existing ones; a crossover mechanism has not yet been developed. In this paper, we present a generic crossover construction for graph-like structures, which can be used to implement crossover operators for models in MDO. We prove basic properties of our construction and show how it can be used to implement a whole set of crossover operators that have been proposed for specific problems and situations on graphs. In particular, we present a specialization of our construction to models defined in the Eclipse Modeling Framework.
{"title":"A generic construction for crossovers of graph-like structures and its realization in the Eclipse Modeling Framework","authors":"Jens Kosiol , Stefan John , Gabriele Taentzer","doi":"10.1016/j.jlamp.2023.100909","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100909","url":null,"abstract":"<div><p><span>In model-driven optimization (MDO), domain-specific models are used to define and solve optimization problems<span> via meta-heuristic search, often via evolutionary algorithms. Models are typically evolved using mutations, which can be formally specified as graph transformations. So far, only mutations have been used to generate new solution models from existing ones; a crossover mechanism has not yet been developed. In this paper, we present a generic crossover construction for graph-like structures, which can be used to implement </span></span>crossover operators for models in MDO. We prove basic properties of our construction and show how it can be used to implement a whole set of crossover operators that have been proposed for specific problems and situations on graphs. In particular, we present a specialization of our construction to models defined in the Eclipse Modeling Framework.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"136 ","pages":"Article 100909"},"PeriodicalIF":0.9,"publicationDate":"2023-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875054","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}
Pub Date : 2023-09-06DOI: 10.1016/j.jlamp.2023.100907
Zeming Wei , Xiyue Zhang , Yihao Zhang , Meng Sun
Recurrent Neural Networks (RNNs) have achieved tremendous success in processing sequential data, yet understanding and analyzing their behaviours remains a significant challenge. To this end, many efforts have been made to extract finite automata from RNNs, which are more amenable for analysis and explanation. However, existing approaches like exact learning and compositional approaches for model extraction have limitations in either scalability or precision. In this paper, we propose a novel framework of Weighted Finite Automata (WFA) extraction and explanation to tackle the limitations for natural language tasks. First, to address the transition sparsity and context loss problems we identified in WFA extraction for natural language tasks, we propose an empirical method to complement missing rules in the transition diagram, and adjust transition matrices to enhance the context-awareness of the WFA. We also propose two data augmentation tactics to track more dynamic behaviours of RNN, which further allows us to improve the extraction precision. Based on the extracted model, we propose an explanation method for RNNs including a word embedding method – Transition Matrix Embeddings (TME) and TME-based task oriented explanation for the target RNN. Our evaluation demonstrates the advantage of our method in extraction precision than existing approaches, and the effectiveness of TME-based explanation method in applications to pretraining and adversarial example generation.
{"title":"Weighted automata extraction and explanation of recurrent neural networks for natural language tasks","authors":"Zeming Wei , Xiyue Zhang , Yihao Zhang , Meng Sun","doi":"10.1016/j.jlamp.2023.100907","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100907","url":null,"abstract":"<div><p><span>Recurrent Neural Networks (RNNs) have achieved tremendous success in processing sequential data, yet understanding and analyzing their behaviours remains a significant challenge. To this end, many efforts have been made to extract </span>finite automata<span><span><span> from RNNs, which are more amenable for analysis and explanation. However, existing approaches like exact learning and compositional approaches for model extraction have limitations in either scalability or precision. In this paper, we propose a novel framework of Weighted Finite Automata (WFA) extraction and explanation to tackle the limitations for natural language tasks. First, to address the transition sparsity and context loss problems we identified in WFA extraction for natural language tasks, we propose an empirical method to complement missing rules in the </span>transition diagram, and adjust </span>transition matrices<span><span> to enhance the context-awareness of the WFA. We also propose two data augmentation tactics to track more dynamic behaviours of RNN, which further allows us to improve the extraction precision. Based on the extracted model, we propose an explanation method for RNNs including a </span>word embedding<span> method – Transition Matrix Embeddings (TME) and TME-based task oriented explanation for the target RNN. Our evaluation demonstrates the advantage of our method in extraction precision than existing approaches, and the effectiveness of TME-based explanation method in applications to pretraining and adversarial example generation.</span></span></span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"136 ","pages":"Article 100907"},"PeriodicalIF":0.9,"publicationDate":"2023-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875056","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}
Pub Date : 2023-09-01DOI: 10.1016/j.jlamp.2023.100906
Rodrigo Raya, Viktor Kunčak
Automatic verification of programs manipulating arrays relies on specialised decision procedures. A methodology to classify the theories handled by these procedures is introduced. It is based on decomposition theorems in the style of Feferman and Vaught. The method is applied to obtain an extension of combinatory array logic that is closed under propositional operations and Hoare triples. A classification according to expressiveness of six different fragments studied in the literature is given.
{"title":"On algebraic array theories","authors":"Rodrigo Raya, Viktor Kunčak","doi":"10.1016/j.jlamp.2023.100906","DOIUrl":"10.1016/j.jlamp.2023.100906","url":null,"abstract":"<div><p>Automatic verification of programs manipulating arrays relies on specialised decision procedures. A methodology to classify the theories handled by these procedures is introduced. It is based on decomposition theorems in the style of Feferman and Vaught. The method is applied to obtain an extension of combinatory array logic that is closed under propositional operations and Hoare triples. A classification according to expressiveness of six different fragments studied in the literature is given.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"136 ","pages":"Article 100906"},"PeriodicalIF":0.9,"publicationDate":"2023-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47384064","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}
Pub Date : 2023-08-01DOI: 10.1016/j.jlamp.2023.100878
Roland Backhouse , José Nuno Oliveira
The notion of a difunction was introduced by Jacques Riguet in 1948. Since then it has played a prominent role in database theory, type theory, program specification and process theory. The theory of difunctions is, however, less known in computing than it perhaps should be. The main purpose of the current paper is to give an account of difunction theory in relation algebra, with the aim of making the topic more mainstream.
As is common with many important concepts, there are several different but equivalent characterisations of difunctionality, each with its own strength and practical significance. This paper compares different proofs of the equivalence of the characterisations.
A well-known property is that a difunction is a set of completely disjoint rectangles. This property suggests the introduction of the (general) notion of the “core” of a relation; we use this notion to give a novel and, we believe, illuminating characterisation of difunctionality as a bijection between the classes of certain partial equivalence relations.
{"title":"On difunctions","authors":"Roland Backhouse , José Nuno Oliveira","doi":"10.1016/j.jlamp.2023.100878","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100878","url":null,"abstract":"<div><p>The notion of a difunction was introduced by Jacques Riguet in 1948. Since then it has played a prominent role in database theory, type theory, program specification and process theory. The theory of difunctions is, however, less known in computing than it perhaps should be. The main purpose of the current paper is to give an account of difunction theory in relation algebra, with the aim of making the topic more mainstream.</p><p>As is common with many important concepts, there are several different but equivalent characterisations of difunctionality, each with its own strength and practical significance. This paper compares different proofs of the equivalence of the characterisations.</p><p>A well-known property is that a difunction is a set of completely disjoint rectangles. This property suggests the introduction of the (general) notion of the “core” of a relation; we use this notion to give a novel and, we believe, illuminating characterisation of difunctionality as a bijection between the classes of certain partial equivalence relations.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100878"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881537","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}
Pub Date : 2023-08-01DOI: 10.1016/j.jlamp.2023.100888
Kristopher Brown , Evan Patterson , Tyler Hanks , James Fairbanks
We demonstrate how category theory provides specifications that can efficiently be implemented via imperative algorithms and apply this to the field of graph transformation. By examples, we show how this paradigm of software development makes it easy to quickly write correct and performant code. We provide a modern implementation of graph rewriting techniques at the level of abstraction of finitely-presented -sets and clarify the connections between -sets and the typed graphs supported in existing rewriting software. We emphasize that our open-source library is extensible: by taking new categorical constructions (such as slice categories, structured cospans, and distributed graphs) and relating their limits and colimits to those of their underlying categories, users inherit efficient algorithms for pushout complements and (final) pullback complements. This allows one to perform double-, single-, and sesqui-pushout rewriting over a broad class of data structures. Graph transformation researchers, scientists, and engineers can then use this library to computationally manipulate rewriting systems and apply them to their domains of interest.
{"title":"Computational category-theoretic rewriting","authors":"Kristopher Brown , Evan Patterson , Tyler Hanks , James Fairbanks","doi":"10.1016/j.jlamp.2023.100888","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100888","url":null,"abstract":"<div><p>We demonstrate how category theory provides specifications that can efficiently be implemented via imperative algorithms and apply this to the field of graph transformation. By examples, we show how this paradigm of software development makes it easy to quickly write correct and performant code. We provide a modern implementation of graph rewriting techniques at the level of abstraction of finitely-presented <span><math><mi>C</mi></math></span>-sets and clarify the connections between <span><math><mi>C</mi></math></span><span>-sets and the typed graphs supported in existing rewriting software. We emphasize that our open-source library is extensible: by taking new categorical constructions (such as slice categories, structured cospans, and distributed graphs) and relating their limits and colimits to those of their underlying categories, users inherit efficient algorithms for pushout complements and (final) pullback complements. This allows one to perform double-, single-, and sesqui-pushout rewriting over a broad class of data structures. Graph transformation researchers, scientists, and engineers can then use this library to computationally manipulate rewriting systems and apply them to their domains of interest.</span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100888"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881538","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}
Pub Date : 2023-08-01DOI: 10.1016/j.jlamp.2023.100877
José Meseguer
So far, results about variants, the finite variant property (FVP), variant unification, and variant satisfiability have been developed for equational theories where B is a set of axioms having a finitary unification algorithm, and the equations E, oriented as rewrite rules , are convergent modulo B. The extension to the case when B has an infinitary unification algorithm, for example because of non-commutative symbols having associative axioms, was not developed. This paper develops such an extension. In particular, the relationships between the FVP and the boundedness (BP) properties, the identification of conditions on ensuring FVP, the effective computation of variants and variant unifiers, and criteria making possible the existence of variant satisfiability procedures for the initial algebras of theories that are either FVP or BP are all explored in detail. The extension from the finitary to the infinitary B-unification case includes some surprises. Furthermore, since all the results are extended beyond FVP theories to the wider class of BP theories, new opportunities are opened up to use these symbolic techniques in wider classes of theories and applications.
{"title":"Variants and satisfiability in the infinitary unification wonderland","authors":"José Meseguer","doi":"10.1016/j.jlamp.2023.100877","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100877","url":null,"abstract":"<div><p><span>So far, results about variants, the finite variant property (FVP), variant unification, and variant satisfiability have been developed for equational theories </span><span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> where <em>B</em><span> is a set of axioms having a finitary unification algorithm, and the equations </span><em>E</em>, oriented as rewrite rules <span><math><mover><mrow><mi>E</mi></mrow><mrow><mo>→</mo></mrow></mover></math></span>, are convergent modulo <em>B</em>. The extension to the case when <em>B</em> has an infinitary unification algorithm, for example because of non-commutative symbols having associative axioms, was not developed. This paper develops such an extension. In particular, the relationships between the FVP and the boundedness (BP) properties, the identification of conditions on <span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> ensuring FVP, the effective computation of variants and variant unifiers, and criteria making possible the existence of variant satisfiability procedures for the initial algebras of theories <span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> that are either FVP or BP are all explored in detail. The extension from the finitary to the infinitary <em>B</em>-unification case includes some surprises. Furthermore, since all the results are extended beyond FVP theories to the wider class of BP theories, new opportunities are opened up to use these symbolic techniques in wider classes of theories and applications.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100877"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881569","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}
Pub Date : 2023-08-01DOI: 10.1016/j.jlamp.2023.100886
Neda Peyrone , Duangdao Wichadakul
Consent is one of six legal bases for personal data processing mentioned in the General Data Protection Regulation (GDPR). The GDPR is a privacy law giving European Union (EU) citizens authority over personal data. It enforces software systems to collect, analyze, and share only necessary information (‘data minimization’) following the specific purpose (‘consent’). The GDPR defines consent as permission of individuals (‘data subjects’) to give organizations (‘data controllers’) processing their personal data. Without a data subject's consent, the data controller processes personal data unlawfully. Therefore, consent management is an essential component of a software system to build data subjects' trust and engagement. However, sharing data can lead to a potential loss of control over personal data, as data are across boundaries between software services. One of the significant risks is caused by a lack of developers' experience in data protection practices. Hence, in this paper, we propose to use blockchain technology to manage data subjects' informed consent for data sharing to build trust, transparency, and traceability to share data across software services. We formalized the semantics of smart contracts to extend the blockchain features to validate the consent authorization and manage the request-response interaction between the services. Furthermore, we used the Event-B method to describe the dynamic behavior of the proposed model and prove its correctness. Finally, we provided a mapping from the formal model to a smart contract class diagram and a prototype called SmartDataTrust implemented with solidity and Python REST API that developers can easily utilize.
{"title":"A formal model for blockchain-based consent management in data sharing","authors":"Neda Peyrone , Duangdao Wichadakul","doi":"10.1016/j.jlamp.2023.100886","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100886","url":null,"abstract":"<div><p><span>Consent is one of six legal bases for personal data processing mentioned in the </span>General Data Protection Regulation<span><span> (GDPR). The GDPR is a privacy law giving European Union (EU) citizens authority over personal data. It enforces software systems to collect, analyze, and share only necessary information (‘data minimization’) following the specific purpose (‘consent’). The GDPR defines consent as permission of individuals (‘data subjects’) to give organizations (‘data controllers’) processing their personal data. Without a data subject's consent, the data controller processes personal data unlawfully. Therefore, consent management is an essential component of a software system to build data subjects' trust and engagement. However, sharing data can lead to a potential loss of control over personal data, as data are across boundaries between software services. One of the significant risks is caused by a lack of developers' experience in data protection practices. Hence, in this paper, we propose to use blockchain technology to manage data subjects' informed consent for data sharing to build trust, transparency, and traceability to share data across software services. We formalized the semantics of </span>smart contracts<span> to extend the blockchain features to validate the consent authorization and manage the request-response interaction between the services. Furthermore, we used the Event-B method to describe the dynamic behavior of the proposed model and prove its correctness. Finally, we provided a mapping from the formal model to a smart contract class diagram and a prototype called SmartDataTrust implemented with solidity and Python REST API that developers can easily utilize.</span></span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100886"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881541","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}