Skip to content

Repository files navigation

Exploiting Code Symmetries for Learning Program Semantics

See the ICML 2024 paper Exploiting Code Symmetries for Learning Program Semantics for more details.

Installation

pip install .

Training

Function Signature

bash command/finetune/finetune_arg_type_graph.sh $TRAIN_KEYWORD $VALID_KEYWORD $LABEL_TYPE $CUDA_VISIBLE_DEVICES

Memory Region

bash command/memory_region/finetune_symmetry_concrete.sh $CUDA_VISIBLE_DEVICES $MEMORY_REGION_CLASS $PERTURB

Function Similarity

bash command/similarity/pretrain_symmetry.sh $TRAIN_KEYWORD $VALID_KEYWORD $CUDA_VISIBLE_DEVICES

Function Name

bash command/source_code/pretrain_symmetry.sh $CUDA_VISIBLE_DEVICES

Testing

Function Signature

bash command/finetune/validate_arg_type_graph.sh $TRAIN_KEYWORD $VALID_KEYWORD $LABEL_TYPE $CUDA_VISIBLE_DEVICES

Memory Region

bash command/memory_region/eval_symmetry.sh $CUDA_VISIBLE_DEVICES $MEMORY_REGION_CLASS $PERTURB

Function Similarity

bash command/similarity/eval_symmetry.sh $TRAIN_KEYWORD $VALID_KEYWORD $CUDA_VISIBLE_DEVICES

Function Name

bash command/source_code/eval_symmetry.sh $CUDA_VISIBLE_DEVICES

Example Dataset

Memory Region: Google Drive

Function Similary: Google Drive

Function Name: Google Drive

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages