Programming projects for Stanford's AA228V/CS238V Validation of Safety-Critical Systems.
Uses the StanfordAA228V.jl
Julia package.
- Project 0 — A light-weight introduction to falsification.
- Project 1 — Efficiently finding the most-likely failure.
- Project 2 — Efficiently estimating the failure probability.
- Project 3 — Estimating the volume of a reachable set.
For additional installation help, please post on Ed.
You can also follow this video.
Required Julia 1.11+: https://julialang.org/downloads/
- Windows users:
winget install julia -s msstore
- Linux/macOS users:
curl -fsSL https://install.julialang.org | sh
This will give you the julia
command in your terminal.
- If you already have
julia
and it's not updated to version 1.11, please run the following in a terminal:juliaup update
Note: You only need to do this once.
- Clone this git repo:
- Open a terminal and navigate to where you want the code to live.
- Run:
git clone https://github.com/sisl/AA228VProjects
- Install Pluto and the SISL Julia package registry:
- Open
julia
in a terminal. - Run:
using Pkg Pkg.add("Pluto") Registry.add(url="https://github.com/sisl/Registry.git")
- Open
- Open a terminal and navigate to your "AA228VProjects" directory.
- Run:
git pull
- Open the specific Pluto notebook and follow the update instructions within.
Julia is a just-in-time (JIT) compiled language. Don't be alarmed if the first time you run the installed code it's slow. This is because Julia will precompile the required packages. The next time you run it will be much faster.
Winter 2025 teaching team: