How fatematabassum/code_rename_anonymize works
This repository is a research toolkit for preparing and analyzing Juliet C/C++ vulnerability test cases. Its clearest workflow is to group related source files and gate each group for completeness and consistency; the tree also shows separate labeling, renaming, and control-flow feature-extraction capabilities. The sampled gate explicitly consumes groups produced by grouping, while wiring for the other branches is not established by the excerpts. The root README was empty, so unsampled subsystem details are represented conservatively.
Main entry points: process_juliet.py Label processing · cfgave.py CFG vectors · step_1_grouping.py Group cases · cwe121.py CWE-121 labels
Components 16
Case preparation
- Group cases
prompt_pipeline/src/step_1_grouping.py - Validate groups
prompt_pipeline/src/step_2_gate.py - Rename symbols
prompt_pipeline/src/prototype_cg_rename.py - Group utilities
others/code_juliet/groups.py
Vulnerability labels
- Label processing
others/juliet-labeling/process_juliet.py - Label preprocessing
others/juliet-labeling/preprocess.py - CWE-121 labels
others/juliet-labeling/cwe121.py - CWE-122 labels
others/juliet-labeling/cwe122.py - Label utilities
others/juliet-labeling/util.py
Program analysis
- CFG vectors
others/CFGAVE/src/cfgave.py - CFG recovery
others/CFGAVE/src/recovery.py - Basic-block model
others/CFGAVE/src/BB_node.py - CFG utilities
others/CFGAVE/src/util.py
Case support
- Juliet support headers
prompt_pipeline/juliet_support/std_testcase.h - Test-case declarations
prompt_pipeline/juliet_support/testcases.h
Other components
- Juliet cases
Connections 15
- Juliet cases → Group cases: groups sources
- Group cases → Validate groups: checks groups
- Juliet cases → Label processing: labels cases
- Label processing → Label preprocessing: processes labels
- Label processing → CWE-121 labels: uses CWE rules
- Label processing → CWE-122 labels: uses CWE rules
- CWE-121 labels → Label utilities: writes labels
- CWE-122 labels → Label utilities: writes labels
- Juliet cases → Rename symbols: renames declarations
- Juliet cases → CFG vectors: extracts features
- CFG vectors → CFG recovery: recovers CFGs
- CFG vectors → Basic-block model: creates nodes
- CFG vectors → CFG utilities: uses utilities
- Juliet support headers → Group cases: supports compilation
- Test-case declarations → Group cases: provides declarations