Fine-tuning LLMs for vulnerability detection.
Jupyter Notebook
0
71 commits
updated Apr 20, 2026
A deep learning framework for detecting vulnerabilities in source code across multiple programming languages.
Romeo is a research project focused on vulnerability detection in source code using deep learning models. The system processes functions from C and Java codebases, identifies vulnerabilities at the line level, and trains neural network models to detect these vulnerabilities in new code.
Key features:
├── models/ # Neural network model definitions
│ ├── lstm.py # LSTM-based model for vulnerability detection
│ └── transformer_model.py # Self-attention transformer model
├── datasets/ # SQLite databases containing code samples
│ ├── juliet_c_10+.db # C code vulnerability database
│ └── juliet_java_10+.db # Java code vulnerability database
├── tensors/ # Generated tensor data for training
├── plots/ # Visualization outputs
├── preprocessing.py # Data processing utilities
├── preprocessing.ipynb # Interactive preprocessing notebook
├── generate_language_matrix.py # Creates cross-language experiment sets
├── run_models.py # Model training and evaluation script
├── environment.yml # Conda environment specification
The system processes C and Java code from the JULIET dataset and extracts functions with labeled vulnerabilities. The preprocessing pipeline:
Two main neural network architectures are implemented:
The project includes a comprehensive experimental framework:
conda env create -f environment.yml
conda activate romeo
# Generate cross-language experiment data
python generate_language_matrix.py
# Alternatively, run preprocessing directly
python preprocessing.py
# Run models with default configurations
python run_models.py
# For hyperparameter tuning
python param_tuning.py
Several notebooks are available for visualizing results:
plotting.ipynb: Result visualizationsmodel_visualization.py: Model architecture visualizationThis is an ongoing research project. Current focus areas:
Fine-tuning LLMs for vulnerability detection.
Jupyter Notebook
0
71 commits
updated Apr 20, 2026
A deep learning framework for detecting vulnerabilities in source code across multiple programming languages.
Romeo is a research project focused on vulnerability detection in source code using deep learning models. The system processes functions from C and Java codebases, identifies vulnerabilities at the line level, and trains neural network models to detect these vulnerabilities in new code.
Key features:
├── models/ # Neural network model definitions
│ ├── lstm.py # LSTM-based model for vulnerability detection
│ └── transformer_model.py # Self-attention transformer model
├── datasets/ # SQLite databases containing code samples
│ ├── juliet_c_10+.db # C code vulnerability database
│ └── juliet_java_10+.db # Java code vulnerability database
├── tensors/ # Generated tensor data for training
├── plots/ # Visualization outputs
├── preprocessing.py # Data processing utilities
├── preprocessing.ipynb # Interactive preprocessing notebook
├── generate_language_matrix.py # Creates cross-language experiment sets
├── run_models.py # Model training and evaluation script
├── environment.yml # Conda environment specification
The system processes C and Java code from the JULIET dataset and extracts functions with labeled vulnerabilities. The preprocessing pipeline:
Two main neural network architectures are implemented:
The project includes a comprehensive experimental framework:
conda env create -f environment.yml
conda activate romeo
# Generate cross-language experiment data
python generate_language_matrix.py
# Alternatively, run preprocessing directly
python preprocessing.py
# Run models with default configurations
python run_models.py
# For hyperparameter tuning
python param_tuning.py
Several notebooks are available for visualizing results:
plotting.ipynb: Result visualizationsmodel_visualization.py: Model architecture visualizationThis is an ongoing research project. Current focus areas: