reduxwise: Static analysis tool for Rust embedded systems complexity

[ bsd3, development, embedded, library, program, static-analysis ] [ Propose Tags ] [ Report a vulnerability ]

ReduxWise analyzes Rust projects for real-time embedded system scheduling. It detects IO operations, yield points, and computational complexity to help classify functions for embedded schedulers.

Features:

  • Analyzes IO operations (I2C, SPI, Flash, UART, Network, ADC, GPIO)

  • Detects yield points (.await, yield_now)

  • Measures computational complexity (loops, branches, arithmetic)

  • Classifies functions as IO-bound or CPU-bound

  • Generates JSON reports for scheduler integration

  • Parallel processing for fast analysis

See README for usage examples and documentation.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies aeson (>=2.0 && <2.3), async (>=2.2 && <2.3), base (>=4.7 && <5), bytestring (>=0.10 && <0.13), containers (>=0.6 && <0.8), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.6), mtl (>=2.2 && <2.4), optparse-applicative (>=0.16 && <0.19), reduxwise, regex-tdfa (>=1.3 && <1.4), text (>=1.2 && <2.2), time (>=1.9 && <1.15), yaml (>=0.11 && <0.12) [details]
License BSD-3-Clause
Copyright 2025 Theo M. Bulut
Author Theo M. Bulut
Maintainer vertexclique@gmail.com
Category Development, Static Analysis, Embedded
Home page https://github.com/vertexclique/reduxwise
Bug tracker https://github.com/vertexclique/reduxwise/issues
Source repo head: git clone https://github.com/vertexclique/reduxwise
Uploaded by vertexclique at 2025-10-10T21:27:55Z
Distributions
Executables reduxwise-exe
Downloads 2 total (2 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for reduxwise-0.1.0.0

[back to package description]

Reduxwise: Static analysis tool for real-time embedded system scheduling in Rust. Analyzes IO operations, computations, and complexity for real-time scheduling.

Build

stack build

Install

stack install

Binary installed to ~/.local/bin/reduxwise-exe

Usage

# Analyze a Rust project
reduxwise-exe /path/to/rust/project -o analysis.json

# With verbose output
reduxwise-exe /path/to/rust/project -v -o report.json

# Exclude directories
reduxwise-exe ./project --exclude "vendor,build" -o analysis.json

Options

reduxwise-exe PROJECT_PATH [OPTIONS]

Options:
  -o, --output FILE       Output JSON file (default: analysis.json)
  -e, --exclude DIRS      Comma-separated directories to exclude
  -v, --verbose           Verbose output
  -h, --help              Show help

Output

JSON report with:

  • Function complexity scores
  • IO operations (I2C, SPI, Flash, UART, Network, ADC, GPIO)
  • Yield points (.await, yield_now())
  • Computations (loops, branches, arithmetic)
  • Function classification (IO-bound vs CPU-bound)

Example

reduxwise-exe ~/my-embedded-project -v -o analysis.json
cat analysis.json | jq '.summary'

Output:

{
  "total_functions": 390,
  "io_bound_functions": 4,
  "cpu_bound_functions": 362
}

Requirements

  • Stack (Haskell build tool)
  • Rust project with Cargo.toml

License

See LICENSE file.