Expand description
Reports which functions can panic, why, and through what call path.
The analysis proper is the taxonomy, the graph, the solver and the witness
search. None of it depends on the compiler: the driver produces
Artifact values and everything here works from those, which is what
lets the whole thing be tested without building a crate first.
The binaries are thin shells around these modules, so argument parsing and rendering can be exercised directly by tests.
Re-exports§
pub use crate::category::Category;pub use crate::category::CategorySet;pub use crate::category::Termination;pub use crate::category::parse_selector;pub use crate::graph::FuncId;pub use crate::graph::Graph;pub use crate::model::Artifact;pub use crate::model::Body;pub use crate::model::BuildConfig;pub use crate::model::CallSite;pub use crate::model::EdgeKind;pub use crate::model::FuncKey;pub use crate::model::Guard;pub use crate::model::Loc;pub use crate::model::OPEN_PREFIX;pub use crate::model::PanicSite;pub use crate::model::Reified;pub use crate::model::StdMode;pub use crate::model::UnwindOrigin;pub use crate::solve::Policy;pub use crate::solve::Solution;pub use crate::solve::Solver;pub use crate::witness::Terminal;pub use crate::witness::Witness;
Modules§
- api
- Shared by the interactive view and the drawing, so it is only built when one of them is. JSON payloads served to the interactive view.
- args
- Command line parsing.
- category
- The panic taxonomy and the bitset used to propagate it.
- check
- The gate a continuous integration run applies to the findings.
- graph
- The merged call graph.
- model
- The data model the driver emits and the solver consumes.
- palette
- The colours the view and the drawing share, so it is built with either. The colours both renderings draw with, read from one file.
- report
- Rendering of analysis results.
- run
- Drives a cargo build through the analysis wrapper and loads the results.
- select
- Which functions a rendering names, and under what names.
- serve
- A small HTTP server for the interactive view.
- solve
- The suppression-aware reachability solver.
- svg
- A standalone flame graph.
- util
- Shared container aliases.
- verify
- Verification of findings against the compiled artifact.
- witness
- Shortest call path from a function to a panic it can reach.