unsafe-dispositional-typing
Four-symbol algebra for code safety. Turns most unsafe blocks in C/C++/Rust into provably safe code.
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
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
Metadata Files
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
- matplotlib >=3.5.0
- numpy >=1.21.0
- pandas >=1.3.0
- scipy >=1.7.0
- seaborn >=0.11.0