https://github.com/viperproject/rust-pcs
https://github.com/viperproject/rust-pcs
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/viperproject/rust-pcs
- Owner: viperproject
- License: mpl-2.0
- Created: 2020-11-09T11:12:52.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-11-09T11:31:58.000Z (over 5 years ago)
- Last Synced: 2025-12-28T09:57:13.470Z (6 months ago)
- Language: Rust
- Size: 85 KB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust PCS
[](https://github.com/viperproject/rust-pcs/actions?query=workflow%3A"Test"+branch%3Amain)
This project provides the prototype of a library to compute Rust's Place Capabilities Summary (PCS) information. For details see the writups by Dylan Wolff ([project description](https://ethz.ch/content/dam/ethz/special-interest/infk/chair-program-method/pm/documents/Education/Theses/Dylan_Wolff_RICS_Report.pdf), [final report](https://ethz.ch/content/dam/ethz/special-interest/infk/chair-program-method/pm/documents/Education/Theses/Dylan_Wolff_RICS_Report.pdf)) and by William Seddon ([project description](https://ethz.ch/content/dam/ethz/special-interest/infk/chair-program-method/pm/documents/Education/Theses/William_Seddon_MA_Description.pdf), [final report](https://ethz.ch/content/dam/ethz/special-interest/infk/chair-program-method/pm/documents/Education/Theses/William_Seddon_MS_Report.pdf)).
## How do I run it?
1. `./x.py setup` to install the system dependencies.
2. `./x.py build --all` to compile the project.
3. `./x.py run --bin rust-epcs-cli rust-epcs/tests/resources/append.rs` to run the command line interface.
Note that `rust-epcs/tests/resources/append.rs` is just an example. Feel free to replace it in the command above with the path to another Rust program.
This will run the CLI with the appropriate `RUST_SYSROOT`, displaying at the end of the execution a textual (MIR-style) and a graphical (in the DOT file format) representation of the computed pointwise PCSs.
For the IDE plugin see the `vscode-epcs-hover` folder .
## License
Copyright 2020, ETH Zurich.
This project is released under the Mozilla Public License, v. 2.0 except for:
* the file `lsp-epcs-hover/src/main.rs`, which is an adaptation of
* the file `vscode-epcs-hover/client/src/extension.ts`, which is an adaptation of