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

Add initial challenge template #10

Merged
merged 3 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Rust std-lib verification

[![Rust Tests](https://github.com/model-checking/verify-rust-std/actions/workflows/rustc.yml/badge.svg)](https://github.com/model-checking/verify-rust-std/actions/workflows/rustc.yml)
[![Build Book](https://github.com/model-checking/verify-rust-std/actions/workflows/book.yml/badge.svg)](https://github.com/model-checking/verify-rust-std/actions/workflows/book.yml)


This repository is a fork of the official Rust programming
language repository, created solely to verify the Rust standard
library. It should not be used as an alternative to the official
Expand Down
60 changes: 59 additions & 1 deletion doc/src/template.md
Original file line number Diff line number Diff line change
@@ -1 +1,59 @@
# Challenge Template
# Challenge XXXX[^challenge_id]: Challenge Title
celinval marked this conversation as resolved.
Show resolved Hide resolved

- **Status:** *One of the following: [Open | Resolved | Expired]*
- **Solution:** *Option field to point to the PR that solved this challenge.*
- **Tracking Issue:** *Link to issue*
- **Start date:** *YY/MM/DD*
- **End date:** *YY/MM/DD*

-------------------


## Goal

*Describe the goal of this challenge with 1-2 sentences.*

## Motivation

*Explain why this is a challenge that should be prioritized. Consider using a motivating example.*

## Description

*Describe the challenge in more details.*

### Assumptions

*Mention any assumption that users may make. Example, "assuming the usage of Stacked Borrows".*

### Success Criteria*

*Here are some examples of possible criteria:*

All the following unsafe functions must be annotated with safety contracts and the contracts have been verified:

|Function |Location |
|--- |--- |
| | |
| | |
| | |
| | |
| | |

At least N of the following usages were proven safe:

|Function |Location |
|--- |--- |
| | |
| | |
| | |
| | |
| | |

All proofs must automatically ensure the absence of the following undefined behaviors [[ref]](https://github.com/rust-lang/reference/blob/142b2ed77d33f37a9973772bd95e6144ed9dce43/src/behavior-considered-undefined.md):

*List of UBs*

Note: All solutions to verification challenges need to satisfy the criteria established in the [challenge book](general-rules.md)
in addition to the ones listed above.

[^challenge_id]: The number of the challenge sorted by publication date.
6 changes: 3 additions & 3 deletions doc/src/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ please see the [Tool Application](general-rules.md#tool-applications) section.

## Approved tools:

| Tool | CI Status |
|-----------|-----------|
| Kani | TODO |
| Tool | CI Status |
|---------------------|-------|
| Kani Rust Verifier | [![Kani](https://github.com/model-checking/verify-rust-std/actions/workflows/kani.yml/badge.svg)](https://github.com/model-checking/verify-rust-std/actions/workflows/kani.yml) |



Expand Down