Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Survey tools suitability for Std safety verification #126

Open
3 of 6 tasks
nikomatsakis opened this issue Jul 25, 2024 · 3 comments
Open
3 of 6 tasks

Survey tools suitability for Std safety verification #126

nikomatsakis opened this issue Jul 25, 2024 · 3 comments
Assignees
Milestone

Comments

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Jul 25, 2024

Metadata
Owner(s) @celinval
Team(s) libs
Goal document 2024h2/std-verification

Summary

Instrument a fork of the standard library (the [verify-rust-std] repository) with safety contracts,
and employ existing verification tools to verify the standard library.

Tasks and status

  • Discussion and moral support (libs Team)
  • Standard review (libs Team)
  • Problem proposals ()
  • Fork maintenance (@celinval, @jaisnan)
  • Fork PR Reviews ()
  • Instrumentation and verification ()
@nikomatsakis nikomatsakis added this to the 2024h2 milestone Jul 25, 2024
@rust-lang rust-lang locked and limited conversation to collaborators Jul 25, 2024
@nikomatsakis
Copy link
Contributor Author

This issue is intended for status updates only.

For general questions or comments, please contact the owner(s) directly.

@celinval
Copy link
Contributor

Update: So far we have integrated Kani into our repository and we have successfully instrumented and verified 22 functions in the standard library. We have also published 11 challenges.

We are currently investigating the integration of other tools, such as Gillian Rust and Verus.

@celinval
Copy link
Contributor

celinval commented Oct 1, 2024

Key developments: We have welcome the help of students from the CMU Practicum Project. They have started writing functions contracts that include the safety conditions for some unsafe functions in the core library, as well as verifying that safe abstractions respect those pre-conditions and are indeed safe.
Help wanted: Contracts and verification harnesses are being added to our existing fork: https://github.com/model-checking/verify-rust-std. Help needed to write more contracts, to integrate new tools, to review pull requests or to participate in the repository discussions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants