Views
No views yet
microsoft/codebert-baseDetectVul/devign1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4# Load the fine-tuned model
5tokenizer = AutoTokenizer.from_pretrained("microsoft/codebert-base")
6model = AutoModelForSequenceClassification.from_pretrained("mahdin70/codebert-devign-code-vulnerability-detector")
7
8# Sample code snippet
9code_snippet = '''
10void process(char *input) {
11 char buffer[50];
12 strcpy(buffer, input); // Potential buffer overflow
13}
14'''
15
16# Tokenize the input
17inputs = tokenizer(code_snippet, return_tensors="pt", truncation=True, padding="max_length", max_length=512)
18
19# Run inference
20with torch.no_grad():
21 outputs = model(**inputs)
22 predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
23 predicted_label = torch.argmax(predictions, dim=1).item()
24
25# Output the result
26print("Vulnerable Code" if predicted_label == 1 else "Safe Code")DetectVul/devign0 (Safe), 1 (Vulnerable)21800 Code Snippets| Metric | Score |
|---|---|
| Train Loss | 0.5898 |
| Evaluation Loss | 0.6153 |
| Accuracy | 64.09% |
| F1 Score | 46.42% |
| Precision | 73.78% |
| Recall | 33.86% |
| Factor | Value |
|---|---|
| GPU Used | T4 GPU |
| Training Time | ~1 hour |