diff --git a/.ruby-version b/.ruby-version index cb2b00e..7921bd0 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.0.1 +3.4.8 diff --git a/Gemfile b/Gemfile index 44a319a..40b435a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,8 @@ source "https://rubygems.org" -ruby "3.0.1" +ruby "3.4.8" gem "github-pages", group: :jekyll_plugins gem "webrick" +gem "csv" +gem "logger" +gem "base64" +gem "bigdecimal" diff --git a/Gemfile.lock b/Gemfile.lock index bfb169b..39c7574 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,6 +9,8 @@ GEM zeitwerk (~> 2.3) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) + base64 (0.3.0) + bigdecimal (4.0.1) coffee-script (2.4.1) coffee-script-source execjs @@ -16,6 +18,7 @@ GEM colorator (1.1.0) commonmarker (0.23.10) concurrent-ruby (1.3.3) + csv (3.3.5) dnsruby (1.61.5) simpleidn (~> 0.1) em-websocket (0.5.2) @@ -210,6 +213,7 @@ GEM listen (3.5.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) mercenary (0.3.6) mini_portile2 (2.8.6) minima (2.5.1) @@ -263,11 +267,15 @@ PLATFORMS ruby DEPENDENCIES + base64 + bigdecimal + csv github-pages + logger webrick RUBY VERSION - ruby 3.0.1p64 + ruby 3.4.8p72 BUNDLED WITH - 2.2.16 + 2.6.9 diff --git a/papers.bib b/papers.bib index 4bafe5d..2c0cb83 100644 --- a/papers.bib +++ b/papers.bib @@ -23,21 +23,180 @@ % 2025 -@article{https://doi.org/10.1002/spe.3430, -author = {De Porre, Kevin and Ferreira, Carla and Gonzalez Boix, Elisa}, -title = {Concurrency Contracts for Designing Highly Available Replicated Data Types}, -journal = {Software: Practice and Experience}, -volume = {n/a}, -number = {n/a}, -pages = {}, -year = {2025}, -month = may, -keywords = {distributed systems, eventual consistency, replicated data types}, -doi = {https://doi.org/10.1002/spe.3430} +@article{Zhang2025geometry, + author = {Zhang, Pengcheng and Zhang, Chao}, + title = {Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing}, + journal = {ISPRS International Journal of Geo-Information}, + volume = {14}, + year = {2025}, + month = nov, + number = {12}, + articLe-number = {468}, + issn = {2220-9964}, + doi = {10.3390/ijgi14120468}, + keywords = {invariants, systems, graph-crdt} +} + + +@article{Haas2025CORDA, + author = {Haas, Julian and Kuessner, Christian and Mogk, Ragnar and Mezini, Mira}, + journal = {IEEE Internet Computing}, + title = {Think Locally, Act Globally: A Programming Model for Decentralized Applications}, + year = {2025}, + month = oct, + volume = {29}, + number = {4}, + pages = {55-64}, + keywords = {programming, systems, composition}, + doi = {10.1109/MIC.2025.3618947} +} + + +@article{DePorre2025EFx, + author = {De Porre, Kevin and Ferreira, Carla and Gonzalez Boix, Elisa}, + title = {Concurrency Contracts for Designing Highly Available Replicated Data Types}, + journal = {Software: Practice and Experience}, + volume = {55}, + number = {9}, + pages = {1489--1505}, + year = {2025}, + month = sep, + doi = {10.1002/spe.3430}, + pdf = {https://onlinelibrary.wiley.com/share/author/AB9GMXMJCUYDMVZEXUS9?target=10.1002/spe.3430}, + keywords = {verification, computation, invariants, systems} +} + +@article{Liittschwager2025emluation, + author = {Liittschwager, Nathan and Castello, Jonathan and Tsampas, Stelios and Kuper, Lindsey}, + title = {CRDT Emulation, Simulation, and Representation Independence}, + year = {2025}, + issue_date = {August 2025}, + publisher = {ACM}, + volume = {9}, + number = {ICFP}, + doi = {10.1145/3747528}, + journal = {Proc. ACM Program. Lang.}, + month = aug, + articleno = {259}, + numpages = {29}, + keywords = {theory, state-based, operation-based, emulation} +} + +@inproceedings{Jacob2025ECAC, + author = {Jacob, Florian and Hartenstein, Hannes}, + title = {To the Best of Knowledge and Belief: On Eventually Consistent Access Control}, + year = {2025}, + isbn = {9798400714764}, + publisher = {ACM}, + doi = {10.1145/3714393.3726520}, + booktitle = {Fifteenth ACM Conference on Data and Application Security and Privacy}, + pages = {107–118}, + numpages = {12}, + keywords = {security}, + series = {CODASPY 2025} +} + +@inproceedings{Borth2025DAGCrdt, + author = {Borth, Evelyn and Lersch, Philipp and Bieniusa, Annette}, + title = {Directed Acyclic Graph CRDTs}, + year = {2025}, + isbn = {9798400715587}, + publisher = {ACM}, + doi = {10.1145/3721473.3722141}, + booktitle = {12th Workshop on Principles and Practice of Consistency for Distributed Data}, + pages = {30–37}, + numpages = {8}, + keywords = {graph-crdt, invariants, Yjs}, + series = {PaPoC 2025} +} + +@article{Zhu2025Crust, + author = {Zhu, Yunrui and Ma, Jing}, + journal = {IEEE Access}, + title = {Crust: A Modular Framework for Conflict-Free Replicated Data Types (CRDTs) Development, Validation, and Benchmarking}, + year = {2025}, + volume = {13}, + pages = {84081-84093}, + keywords = {programming, state-based, operation-based, delta-based}, + doi = {10.1109/ACCESS.2025.3568925} +} + + +@inproceedings{Marx2025ProofCarrying, + author = {Marx, Nick and Jacob, Florian and Hartenstein, Hannes}, + title = {Proof-Carrying CRDTs allow Succinct Non-Interactive Byzantine Update Validation}, + year = {2025}, + month = mar, + doi = {10.1145/3721473.3722142}, + booktitle = {12th Workshop on Principles and Practice of Consistency for Distributed Data}, + pages = {15-21}, + keywords = {security, counters}, + series = {PaPoC 2025} +} + +@inproceedings{Power2025freeTermination, + author = {Power, Conor and Koutris, Paraschos and Hellerstein, Joseph M.}, + title = {{The Free Termination Property of Queries over Time}}, + booktitle = {28th International Conference on Database Theory (ICDT 2025)}, + pages = {32:1--32:22}, + series = {Leibniz International Proceedings in Informatics (LIPIcs)}, + year = {2025}, + publisher = {Schloss Dagstuhl}, + doi = {10.4230/LIPIcs.ICDT.2025.32}, + keywords = {theory, CALM Theorem, coordination-free} +} + +@article{Faria2025CRDV, + author = {Faria, Nuno and Pereira, Jos\'{e}}, + title = {CRDV: Conflict-free Replicated Data Views}, + year = {2025}, + issue_date = {February 2025}, + publisher = {ACM}, + volume = {3}, + number = {1}, + doi = {10.1145/3709675}, + journal = {Proc. ACM Manag. Data}, + month = feb, + articleno = {25}, + numpages = {27}, + keywords = {systems, databases, state-based, programming} +} + + +@article{Prymushko2025EGrid, + author = {Prymushko, Arsentii and Puchko, Ivan and Yaroshynskyi, Mykola and Sinko, Dmytro and Kravtsov, Hryhoriy and Artemchuk, Volodymyr}, + title = {Efficient State Synchronization in Distributed Electrical Grid Systems Using Conflict-Free Replicated Data Types}, + journal = {IoT}, + volume = {6}, + year = {2025}, + number = {1}, + article-number = {6}, + issn = {2624-831X}, + doi = {10.3390/iot6010006}, + keywords = {systems, state-based, delta-based} } % 2024 +@article{Almeida2024approaches, + author = {Almeida, Paulo S\'{e}rgio}, + title = {Approaches to Conflict-free Replicated Data Types}, + year = {2024}, + issue_date = {February 2025}, + publisher = {ACM}, + volume = {57}, + number = {2}, + issn = {0360-0300}, + doi = {10.1145/3695249}, + journal = {ACM Comput. Surv.}, + month = nov, + articleno = {51}, + numpages = {36}, + keywords = {introduction, operation-based, state-based, delta-based, pure operation-based} +} + + + @inproceedings{Ignat2024Synql, author = {Ignat, Claudia-Lavinia and Elvinger, Victorien and Ba, Habibatou}, title = {{Synql}: A {CRDT}-based Approach for Replicated Relational Databases with Integrity Constraints}, @@ -139,16 +298,6 @@ @inproceedings{Nasirifard2023orderlessChain keywords = {security, invariants, systems} } -@article{Almeida2023approaches, -title = {Approaches to Conflict-free Replicated Data Types}, -author = {Almeida, Paulo Sérgio}, -year = {2023}, -month = oct, -eprint = {2310.18220}, -url = {https://arxiv.org/abs/2310.18220}, -keywords = {introduction, operation-based, state-based, delta-based, pure operation-based} -} - @article{Renaux2023accessControl, author = {Renaux, Thierry and Van den Vonder, Sam and De Meuter, Wolfgang}, title = {Secure {RDTs}: Enforcing Access Control Policies for Offline Available {JSON} Data}, @@ -284,6 +433,18 @@ @inproceedings{Nieto2023modular keywords = {specification, verification, state-based} } +@inproceedings{Portela2023SecureCRDTs, + author = {Portela, Bernardo and Pacheco, Hugo and Jorge, Pedro and Pontes, Rogério}, + booktitle = {2023 IEEE 36th Computer Security Foundations Symposium (CSF)}, + title = {General-Purpose Secure Conflict-free Replicated Data Types}, + year = {2023}, + month = jul, + publisher = {IEEE}, + pages = {521-536}, + keywords = {security}, + doi = {10.1109/CSF57540.2023.00030} +} + @article{Zakhour2023Propel, author = {Zakhour, George and Weisenburger, Pascal and Salvaneschi, Guido}, title = {Type-Checking {CRDT} Convergence}, @@ -1246,6 +1407,18 @@ @inproceedings{Auvolat2019merkle keywords = {state-based, security} } +@inproceedings{Nagar2019verification, + author = {Nagar, Kartik and Jagannathan, Suresh}, + title = {Automated Parameterized Verification of CRDTs}, + booktitle = {Computer Aided Verification}, + year = {2019}, + month = {july}, + publisher = {Springer}, + pages = {459--477}, + isbn = {978-3-030-25543-5}, + keywords = {verification, consistency models} +} + @article{Kollmann2019Snapdoc, author = {Kollmann, Stephan A and Kleppmann, Martin and Beresford, Alastair R}, title = {{Snapdoc}: Authenticated snapshots with history privacy in peer-to-peer collaborative editing}, @@ -1346,6 +1519,22 @@ @inproceedings{DePorre2019generic % 2018 +@article{Balegas2018IPA, +author = {Balegas, Valter and Duarte, S\'{e}rgio and Ferreira, Carla and Rodrigues, Rodrigo and Pregui\c{c}a, Nuno}, +title = {IPA: invariant-preserving applications for weakly consistent replicated databases}, +year = {2018}, +issue_date = {December 2018}, +publisher = {VLDB Endowment}, +volume = {12}, +number = {4}, +issn = {2150-8097}, +doi = {10.14778/3297753.3297760}, +journal = {Proc. VLDB Endow.}, +month = dec, +pages = {404–418}, +numpages = {15} +} + @inproceedings{Hall2018CausalGraph, author = {Hall, Aaron and Nelson, Grant and Thiesen, Mike and Woods, Nate}, title = {The Causal Graph {CRDT} for Complex Document Structure}, diff --git a/papers.html b/papers.html index 7ed7474..dacce0d 100644 --- a/papers.html +++ b/papers.html @@ -97,7 +97,214 @@
+Keywords: invariants, systems, graph-crdt ++ +
+Keywords: programming, systems, composition ++ +
+Keywords: verification, computation, invariants, systems ++ +
+Keywords: theory, state-based, operation-based, emulation ++ +
+Keywords: security ++ +
+Keywords: graph-crdt, invariants, Yjs ++ +
+Keywords: programming, state-based, operation-based, delta-based ++ +
+Keywords: security, counters ++ +
+Keywords: theory, CALM Theorem, coordination-free ++ +
+Keywords: systems, databases, state-based, programming ++ +
+Keywords: systems, state-based, delta-based ++ +
+Keywords: introduction, operation-based, state-based, delta-based, pure operation-based ++ +
-Keywords: introduction, operation-based, state-based, delta-based, pure operation-based -- -
+Keywords: security ++ +
+Keywords: verification, consistency models ++ +
+CRDT Papers
+@article{Zhang2025geometry, + author = {Zhang, Pengcheng and Zhang, Chao}, + title = {Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing}, + journal = {ISPRS International Journal of Geo-Information}, + volume = {14}, + year = {2025}, + month = nov, + number = {12}, + article-number = {468}, + issn = {2220-9964}, + doi = {10.3390/ijgi14120468}, + keywords = {invariants, systems, graph-crdt} +} ++ ++@article{Haas2025CORDA, + author = {Haas, Julian and Kuessner, Christian and Mogk, Ragnar and Mezini, Mira}, + journal = {IEEE Internet Computing}, + title = {Think Locally, Act Globally: A Programming Model for Decentralized Applications}, + year = {2025}, + month = oct, + volume = {29}, + number = {4}, + pages = {55-64}, + keywords = {programming, systems, composition}, + doi = {10.1109/MIC.2025.3618947} +} ++ ++@article{DePorre2025contracts, + author = {De Porre, Kevin and Ferreira, Carla and Gonzalez Boix, Elisa}, + title = {Concurrency Contracts for Designing Highly Available Replicated Data Types}, + journal = {Software: Practice and Experience}, + volume = {55}, + number = {9}, + pages = {1489--1505}, + year = {2025}, + month = sep, + doi = {10.1002/spe.3430}, + pdf = {https://onlinelibrary.wiley.com/share/author/AB9GMXMJCUYDMVZEXUS9?target=10.1002/spe.3430}, + keywords = {verification, computation, invariants, systems} +} ++ ++@article{Liittschwager2025emluation, + author = {Liittschwager, Nathan and Castello, Jonathan and Tsampas, Stelios and Kuper, Lindsey}, + title = {CRDT Emulation, Simulation, and Representation Independence}, + year = {2025}, + issue_date = {August 2025}, + publisher = {ACM}, + volume = {9}, + number = {ICFP}, + doi = {10.1145/3747528}, + journal = {Proc. ACM Program. Lang.}, + month = aug, + articleno = {259}, + numpages = {29}, + keywords = {theory, state-based, operation-based, emulation} +} ++ ++@inproceedings{Jacob2025ECAC, + author = {Jacob, Florian and Hartenstein, Hannes}, + title = {To the Best of Knowledge and Belief: On Eventually Consistent Access Control}, + year = {2025}, + isbn = {9798400714764}, + publisher = {ACM}, + doi = {10.1145/3714393.3726520}, + booktitle = {Fifteenth ACM Conference on Data and Application Security and Privacy}, + pages = {107–118}, + numpages = {12}, + keywords = {security}, + series = {CODASPY 2025} +} ++ ++@inproceedings{Borth2025DAGCrdt, + author = {Borth, Evelyn and Lersch, Philipp and Bieniusa, Annette}, + title = {Directed Acyclic Graph CRDTs}, + year = {2025}, + isbn = {9798400715587}, + publisher = {ACM}, + doi = {10.1145/3721473.3722141}, + booktitle = {12th Workshop on Principles and Practice of Consistency for Distributed Data}, + pages = {30–37}, + numpages = {8}, + keywords = {graph-crdt, invariants, Yjs}, + series = {PaPoC 2025} +} ++ ++@article{Zhu2025Crust, + author = {Zhu, Yunrui and Ma, Jing}, + journal = {IEEE Access}, + title = {Crust: A Modular Framework for Conflict-Free Replicated Data Types (CRDTs) Development, Validation, and Benchmarking}, + year = {2025}, + volume = {13}, + pages = {84081-84093}, + keywords = {programming, state-based, operation-based, delta-based}, + doi = {10.1109/ACCESS.2025.3568925} +} ++ ++@inproceedings{Marx2025ProofCarrying, + author = {Marx, Nick and Jacob, Florian and Hartenstein, Hannes}, + title = {Proof-Carrying CRDTs allow Succinct Non-Interactive Byzantine Update Validation}, + year = {2025}, + month = mar, + doi = {10.1145/3721473.3722142}, + booktitle = {12th Workshop on Principles and Practice of Consistency for Distributed Data}, + pages = {15-21}, + keywords = {security, counters}, + series = {PaPoC 2025} +} ++ ++@inproceedings{Power2025freeTermination, + author = {Power, Conor and Koutris, Paraschos and Hellerstein, Joseph M.}, + title = {{The Free Termination Property of Queries over Time}}, + booktitle = {28th International Conference on Database Theory (ICDT 2025)}, + pages = {32:1--32:22}, + series = {Leibniz International Proceedings in Informatics (LIPIcs)}, + year = {2025}, + publisher = {Schloss Dagstuhl}, + doi = {10.4230/LIPIcs.ICDT.2025.32}, + keywords = {theory, CALM Theorem, coordination-free} +} ++ ++@article{Faria2025CRDV, + author = {Faria, Nuno and Pereira, Jos\'{e}}, + title = {CRDV: Conflict-free Replicated Data Views}, + year = {2025}, + issue_date = {February 2025}, + publisher = {ACM}, + volume = {3}, + number = {1}, + doi = {10.1145/3709675}, + journal = {Proc. ACM Manag. Data}, + month = feb, + articleno = {25}, + numpages = {27}, + keywords = {systems, databases, state-based, programming} +} ++ ++@article{Prymushko2025EGrid, + author = {Prymushko, Arsentii and Puchko, Ivan and Yaroshynskyi, Mykola and Sinko, Dmytro and Kravtsov, Hryhoriy and Artemchuk, Volodymyr}, + title = {Efficient State Synchronization in Distributed Electrical Grid Systems Using Conflict-Free Replicated Data Types}, + journal = {IoT}, + volume = {6}, + year = {2025}, + number = {1}, + article-number = {6}, + issn = {2624-831X}, + doi = {10.3390/iot6010006}, + keywords = {systems, state-based, delta-based} +} ++ ++@article{Almeida2024approaches, + author = {Almeida, Paulo S\'{e}rgio}, + title = {Approaches to Conflict-free Replicated Data Types}, + year = {2024}, + issue_date = {February 2025}, + publisher = {ACM}, + volume = {57}, + number = {2}, + issn = {0360-0300}, + doi = {10.1145/3695249}, + journal = {ACM Comput. Surv.}, + month = nov, + articleno = {51}, + numpages = {36}, + keywords = {introduction, operation-based, state-based, delta-based, pure operation-based} +} ++ +@inproceedings{Ignat2024Synql, author = {Ignat, Claudia-Lavinia and Elvinger, Victorien and Ba, Habibatou}, title = {{Synql}: A {CRDT}-based Approach for Replicated Relational Databases with Integrity Constraints}, @@ -113,18 +303,6 @@CRDT Papers
}--@article{Almeida2023approaches, - title = {Approaches to Conflict-free Replicated Data Types}, - author = {Almeida, Paulo Sérgio}, - year = {2023}, - month = oct, - eprint = {2310.18220}, - url = {https://arxiv.org/abs/2310.18220}, - keywords = {introduction, operation-based, state-based, delta-based, pure operation-based} -} --@article{Renaux2023accessControl, author = {Renaux, Thierry and Van den Vonder, Sam and De Meuter, Wolfgang}, @@ -282,6 +460,20 @@CRDT Papers
}++@inproceedings{Portela2023SecureCRDTs, + author = {Portela, Bernardo and Pacheco, Hugo and Jorge, Pedro and Pontes, Rogério}, + booktitle = {2023 IEEE 36th Computer Security Foundations Symposium (CSF)}, + title = {General-Purpose Secure Conflict-free Replicated Data Types}, + year = {2023}, + month = jul, + publisher = {IEEE}, + pages = {521-536}, + keywords = {security}, + doi = {10.1109/CSF57540.2023.00030} +} ++@article{Zakhour2023Propel, author = {Zakhour, George and Weisenburger, Pascal and Salvaneschi, Guido}, @@ -1375,6 +1567,20 @@CRDT Papers
}++@inproceedings{Nagar2019verification, + author = {Nagar, Kartik and Jagannathan, Suresh}, + title = {Automated Parameterized Verification of CRDTs}, + booktitle = {Computer Aided Verification}, + year = {2019}, + month = {july}, + publisher = {Springer}, + pages = {459--477}, + isbn = {978-3-030-25543-5}, + keywords = {verification, consistency models} +} ++@article{Kollmann2019Snapdoc, author = {Kollmann, Stephan A and Kleppmann, Martin and Beresford, Alastair R}, diff --git a/update.sh b/update.sh index 45584b5..f4a5d5b 100755 --- a/update.sh +++ b/update.sh @@ -10,11 +10,21 @@ which bibtex2html > /dev/null || ( bibtex2html --dl --nodoc --title 'CRDT Papers' papers.bib -sed -e $'1s/^/---\\\nlayout: page\\\ntitle: CRDT Papers\\\n---\\\n/' \ +# Use -i without extension for GNU sed (Linux), or -i '' for BSD sed (macOS) +if [ "$(uname -s)" = "Darwin" ]; then + # BSD sed (macOS) + SED_INPLACE="sed -i ''" +else + # GNU sed (Linux) + SED_INPLACE="sed -i" +fi + +$SED_INPLACE -e $'1s/^/---\\\nlayout: page\\\ntitle: CRDT Papers\\\n---\\\n/' \ -e '/CRDT Papers<\/h1>/ r _includes/papers-filter.html' \ -e 's/<\/dl>
This file was generated by.*/<\/dl>/' \ -e 's/.*//' \ - -i '' papers.html + papers.html -sed -e 's/
papers.bib<\/h1>/
CRDT Papers<\/h1>/' \ - -e $'1s/^/\\\n\\\n/' -i '' papers_bib.html +$SED_INPLACE -e 's/
papers.bib<\/h1>/
CRDT Papers<\/h1>/' \ + -e $'1s/^/\\\n\\\n/' \ + papers_bib.html