@online{rustlang22,
  title   = {Rust Programming Language},
  author  = {Rust Team},
  url     = {https://rust-lang.org},
  date    = {2022-01-25},
  urldate = {2022-01-25}
}

@online{lean22,
  title   = {Lean Theorem Prover},
  author  = {Leo de Moura and Sebastian Ullrich and Dany Fabian},
  url     = {https://leanprover.github.io/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{z322,
  title   = {Z3 Theorem Prover},
  author  = {Microsoft},
  url     = {https://github.com/Z3Prover},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{liquid22,
  title   = {LiquidHaskell},
  author  = {UCSD Progsys},
  url     = {https://ucsd-progsys.github.io/liquidhaskell-blog/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{haskell22,
  title   = {Haskell},
  author  = {Haskell.org},
  url     = {https://www.haskell.org/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{ats22,
  title   = {The ATS Programming Language},
  author  = {Hongwei Xi},
  url     = {http://www.ats-lang.org/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{clippy22,
  title   = {Clippy},
  author  = {Clippy Team},
  url     = {https://github.com/rust-lang/rust-clippy},
  date    = {2022-02-04},
  urldate = {2022-02-04}
}

@online{expand22,
  title   = {Cargo Expand},
  author  = {David Tolnay},
  url     = {https://github.com/dtolnay/cargo-expand
             },
  date    = {2022-02-04},
  urldate = {2022-02-04}
}

@online{tutisani22,
  title   = {Why TDD is Faster than Unit Testing},
  author  = {Tengiz Tutisani},
  url     = {https://www.tutisani.com/software-architecture/why-tdd-is-faster-than-unit-testing.html},
  urldate = {2202-02-04}
}

@online{rustdoc22,
  title   = {The rustdoc book},
  author  = {Rust Team},
  url     = {https://doc.rust-lang.org/rustdoc/},
  urldate = {2202-02-04}
}

@online{mdbook22,
  title   = {mdBook Docmentation},
  author  = {Rust Team},
  url     = {https://rust-lang.github.io/mdBook/},
  urldate = {2202-02-04}
}

@online{rustbelt22,
  title   = {RustBelt},
  author  = {Project RustBelt},
  url     = {https://plv.mpi-sws.org/rustbelt/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{emc22,
  title   = {European Metrology Cloud},
  author  = {Physikalisch-Technische Bundesanstalt},
  url     = {metrologycloud.eu},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{refinement22,
  title   = {Refinement},
  author  = {Brady Dean},
  url     = {https://github.com/2bdkid/refinement},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{proptest22,
  title   = {Proptest Book},
  author  = {Jason Lingle},
  url     = {https://altsysrq.github.io/proptest-book/},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@online{rustproof22,
  title   = {RustProof},
  author  = {Rust-Proof},
  url     = {https://github.com/Rust-Proof/rustproof},
  date    = {2022-01-26},
  urldate = {2022-01-26}
}

@article{flanagan06,
  author  = {Cormac Flanagan and Stephen N. Freund and Aaron Tomb},
  title   = {Hybrid Types, Invariants, and Refinments For Imperative Objects},
  journal = {FOOL/WOOD Workshop},
  year    = {2006},
  url     = {https://users.soe.ucsc.edu/~cormac/papers/fool06.pdf},
  urldate = {2022-01-26}
}

@article{lehmann17,
  author  = {Nico Lehmann and Éric Tanter},
  title   = {Gradual Refinement Types},
  journal = {POPL’17},
  year    = {2017},
  url     = {https://pleiad.cl/papers/2017/lehmannTanter-popl2017.pdf},
  urldate = {2022-01-26}
}

@article{thomas19,
  title        = {A proactive approach to more secure code},
  organization = {Microsoft Security Response Center},
  author       = {Gavin Thomas},
  url          = {https://msrc-blog.microsoft.com/2019/07/16/a-proactive-approach-to-more-secure-code/},
  date         = {2019-07-16},
  urldate      = {2022-01-25}
}

@article{weiss21,
  author  = {Aaron Weiss and Olek Gierczak and Daniel Patterson and Amal Ahmed},
  title   = {Oxide: The Essence of Rust},
  year    = {2021},
  url     = {https://arxiv.org/pdf/1903.00982.pdf},
  urldate = {2022-01-26}
}

@article{kan20,
  author  = {Shuanglong Kan and Zhe Chen and Davin Saán and Shang-Wei Lin and Yang Liu},
  title   = {An Executable Operational Semantics for Rust with the Formaliztion of Ownership and Borrowing},
  year    = {2020},
  url     = {https://arxiv.org/pdf/1804.07608.pdf},
  urldate = {2022-01-26}
}

@mastersthesis{ullrich16,
  author  = {Sebastian Ullrich},
  title   = {Simple Verification of Rust Programs via Functional Purification},
  school  = {Karlsruhe Institute of Technology},
  year    = {2016},
  url     = {https://pp.ipd.kit.edu/uploads/publikationen/ullrich16masterarbeit.pdf},
  urldate = {2022-01-26}
}

@mastersthesis{kooi21,
  author  = {Xiu Hong Kooi},
  title   = {Refinement Types in Real-World Programming},
  school  = {University pf Cambridge},
  year    = 2021,
  url     = {https://kooixiuhong.com/static/media/acs-dissertation.e8569509.pdf},
  urldate = {2022-02-07}
}

@article{vekris16,
  author  = {Panagiotis Vekris and Bejamin Cosman and Ranjit Jhala},
  title   = {Refinement Types for TypeScript},
  year    = {2016},
  url     = {https://goto.ucsd.edu/~pvekris/docs/pldi16.pdf},
  urldate = {2022-02-07}
}

@article{reed15,
  author  = {Eric Reed},
  title   = {Patina: A Formalization of the Rust Programming Language},
  year    = {2015},
  url     = {https://dada.cs.washington.edu/research/tr/2015/03/UW-CSE-15-03-02.pdf},
  urldate = {2022-02-07}
}

@techreport{prusti19,
  author      = {V. Astrauskas and P. Müller and F. Poli and A. J. Summers},
  title       = {Leveraging Rust Types for Modular Specification and Verification},
  institution = {ETH Zurich},
  year        = {2019},
  doi         = {10.3929/ethz-b-000311092}
}

@inproceedings{mueller16,
  author    = {P. Müller and M. Schwerhoff and A. J. Summers},
  title     = {Viper: A Verification Infrastructure for Permission-Based Reasoning},
  booktitle = {Verification, Model Checking, and Abstract Interpretation (VMCAI)},
  editor    = {B. Jobstmann and K. R. M. Leino},
  year      = {2016},
  publisher = {Springer-Verlag},
  series    = {LNCS},
  pages     = {41-62},
  volume    = {9583}
}

@article{rondon08,
  author     = {Partrick M. Rondon and Ming Kawaguci and Ranjit Jhala},
  title      = {Liquid Types},
  doi        = {10.1145/1375581.1375602},
  year       = {2008},
  eventtitle = {PLDI '08: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation},
  pages      = {159-169}
}

@report{olson16,
  author = {Scott Olson},
  school = {University of Saskatchewan},
  title  = {Miri: An interpreter for Rust’s mid-level intermediate representation},
  url    = {https://solson.me/miri-report.pdf}
}

@online{matsakis18,
  author  = {Niko Matsakis},
  title   = {An alias-based formulation of the borro checker},
  date    = {2018-04-27},
  url     = {https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-alias-based-formulation-of-the-borrow-checker/#fnref:covariant},
  urldate = {2022-02-17}
}

@misc{enwiki:1064721744,
  author       = {{Wikipedia contributors}},
  title        = {Datalog --- {Wikipedia}{,} The Free Encyclopedia},
  year         = {2022},
  howpublished = {\url{https://en.wikipedia.org/w/index.php?title=Datalog&oldid=1064721744}},
  note         = {[Online; accessed 17-February-2022]}
}

@article{pearce2021lightweight,
  title     = {A lightweight formalism for reference lifetimes and borrowing in Rust},
  author    = {Pearce, David J},
  journal   = {ACM Transactions on Programming Languages and Systems (TOPLAS)},
  volume    = {43},
  number    = {1},
  pages     = {1--73},
  year      = {2021},
  publisher = {ACM New York, NY, USA}
}