unsafe-dispositional-typing

Four-symbol algebra for code safety. Turns most unsafe blocks in C/C++/Rust into provably safe code.

https://github.com/dougjhmoore/unsafe-dispositional-typing

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Four-symbol algebra for code safety. Turns most unsafe blocks in C/C++/Rust into provably safe code.

Basic Info
  • Host: GitHub
  • Owner: dougjhmoore
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 1.79 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Dispositional Typing: Eliminating Unsafe Annotations in C, C++, and Rust.

Reproducibility package for paper:
"Dispositional Typing: Eliminating Unsafe Annotations in C, C++, and Rust" by Anonymous.

🎯 Key Claims

  • 78% reduction in unsafe annotations across diverse codebases
  • Zero false positives in comprehensive evaluation
  • Linear O(n) complexity with ~0.8μs/SSA edge coefficient
  • Language-agnostic approach (C, C++, Rust)

🚀 Reproduction (3 minutes total)

Step 1: Setup Environment (2-3 minutes)

```bash

################ Clone repository

git clone https://github.com/anonymouse cd unsafe-dispositional-typing

Setup Python environment

python3 -m venv venv source venv/bin/activate pip install -r scripts/requirements.txt ```

Step 2: Reproduce Figure 1 (30 seconds)

```bash

Run scalability analysis

make analysis ```

Step 3: Verify Results

```bash

Check generated files

ls -la data/scalability/

-> scalability_figure.png (Figure 1 from paper)

-> timing_data.csv (Raw measurements)

-> tikz_coordinates.txt (LaTeX coordinates)

-> analysis_report.txt (Statistical validation)

```

📊 Expected Results

The analysis should reproduce Figure 1 from the paper with these characteristics:

  • Linear complexity: R² > 0.94
  • Timing coefficient: ~0.74 ± 0.03 μs/SSA edge
  • Maximum analysis time: ~411μs for 567-edge functions
  • Statistical significance: p-value < 1e-25

Sample output:

Linear Regression Results: - Measured coefficient: 0.740 ± 0.028 μs/edge - R² correlation: 0.9406 - p-value: 1.30e-28 - Linear complexity confirmed: O(n) with excellent fit

📁 Repository Structure

├── scripts/analysis/scalability/ # Core scalability analysis ├── data/scalability/ # Generated outputs ├── scripts/requirements.txt # Python dependencies ├── Makefile # Simple commands └── docs/ # Paper and documentation

📄 Citation (to be added after acceptance)

(citation details withheld for double-anonymous review)

year={2025}, doi={XX.XXX/zenodo.XXXXXXXX} }

```

📄 License

MIT License - see LICENSE for details.


Author: Anonymous (anon@anonymous.edu.au)
Institution: Anonomous

❓ Questions?

For reproduction issues or questions about the implementation, please open an issue in this repository. ```

GitHub Events

Total
  • Release event: 3
  • Push event: 4
  • Create event: 3
Last Year
  • Release event: 3
  • Push event: 4
  • Create event: 3

Dependencies

scripts/requirements.txt pypi
  • matplotlib >=3.5.0
  • numpy >=1.21.0
  • pandas >=1.3.0
  • scipy >=1.7.0
  • seaborn >=0.11.0