Skip to content

Commit 5a369ec

Browse files
authored
Add initial challenge template (#10)
Add an initial template for challenges, and also a CI status badge for README and tools page. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.
1 parent b8464d4 commit 5a369ec

File tree

3 files changed

+66
-4
lines changed

3 files changed

+66
-4
lines changed

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Rust std-lib verification
22

3+
[![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)
4+
[![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)
5+
6+
37
This repository is a fork of the official Rust programming
48
language repository, created solely to verify the Rust standard
59
library. It should not be used as an alternative to the official

doc/src/template.md

+59-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,59 @@
1-
# Challenge Template
1+
# Challenge XXXX[^challenge_id]: Challenge Title
2+
3+
- **Status:** *One of the following: [Open | Resolved | Expired]*
4+
- **Solution:** *Option field to point to the PR that solved this challenge.*
5+
- **Tracking Issue:** *Link to issue*
6+
- **Start date:** *YY/MM/DD*
7+
- **End date:** *YY/MM/DD*
8+
9+
-------------------
10+
11+
12+
## Goal
13+
14+
*Describe the goal of this challenge with 1-2 sentences.*
15+
16+
## Motivation
17+
18+
*Explain why this is a challenge that should be prioritized. Consider using a motivating example.*
19+
20+
## Description
21+
22+
*Describe the challenge in more details.*
23+
24+
### Assumptions
25+
26+
*Mention any assumption that users may make. Example, "assuming the usage of Stacked Borrows".*
27+
28+
### Success Criteria*
29+
30+
*Here are some examples of possible criteria:*
31+
32+
All the following unsafe functions must be annotated with safety contracts and the contracts have been verified:
33+
34+
|Function |Location |
35+
|--- |--- |
36+
| | |
37+
| | |
38+
| | |
39+
| | |
40+
| | |
41+
42+
At least N of the following usages were proven safe:
43+
44+
|Function |Location |
45+
|--- |--- |
46+
| | |
47+
| | |
48+
| | |
49+
| | |
50+
| | |
51+
52+
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):
53+
54+
*List of UBs*
55+
56+
Note: All solutions to verification challenges need to satisfy the criteria established in the [challenge book](general-rules.md)
57+
in addition to the ones listed above.
58+
59+
[^challenge_id]: The number of the challenge sorted by publication date.

doc/src/tools.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ please see the [Tool Application](general-rules.md#tool-applications) section.
99

1010
## Approved tools:
1111

12-
| Tool | CI Status |
13-
|-----------|-----------|
14-
| Kani | TODO |
12+
| Tool | CI Status |
13+
|---------------------|-------|
14+
| 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) |
1515

1616

1717

0 commit comments

Comments
 (0)