data has transfered to another zenodo

ICFlowNet Executable binaries underpin virtually every computing system today, yet analyzing them without source code remains a formidable challenge—particularly in reconstructing control-flow graphs where runtime-determined indirect control-flow (ICF) transfers such as indirect calls, jump tables, indirect tail calls, and returns pose the greatest hurdle—and in our paper we introduce ICFlowNet, a graph neural network–based multi-task learning framework that jointly predicts all major ICF types by leveraging inductive knowledge transfer between frequent and rare patterns to learn unified, generalized control-flow representations, which, when evaluated on over 15,000 Arch Linux binaries, significantly outperforms state-of-the-art single-task models under strict data deduplication, representing a substantial advance in practical and precise binary analysis. Project Structure .├── env.yml # Conda environment file for reproducing experiments├── graph/ # Graph generation and preprocessing of ground truth├── llvm-project/ # Customized LLVM sources for compilation + ground truth collection(x86labelindirecttarget.cpp CGcall.cpp..)├── model/ # Pretrained models├── pin/ # Dynamic tracing tools (Mypintool.cpp)├── readme.md # Project documentation and setup guide├── scripts/ # Utility and helper scripts (automation, data prep...)└── src/ # Core source code (training, evaluation, main pipeline) 🚀 Detailed Workflow > Note: All code should be run with the appropriate path completions. 1. Binary Generation Binaries are generated using the customized LLVM toolchain (see (./llvm-project)) and the dynamic tracing tool (see (./pin)).For convenience, a pre-collected dataset is provided in icf_data.zip. 2. Environment Setup cd ~/icflownet/conda env create -f env.yml -n icflownetconda activate icflownet # Install DGL (CUDA 11.8 build for PyTorch 2.3)pip install dgl==2.4.0+cu118 \ -f https://data.dgl.ai/wheels/torch-2.3/cu118/repo.html 3. Graph Generation & Ground Truth Processing # To generate a graph from a binary:cd ~/icflownet/scripts/./getstaticgt_pipeline.sh <binary_path> 4. Model Training # Single-task trainingpython3 train_single.py --graph_dir# Multi-task trainingpython3 train_multi.py --graph_dir

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2025-08-18
DOI
https://doi.org/10.5281/zenodo.16895223
Primary Topic
Muon and positron interactions and applications
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

data has transfered to another zenodo

Zenodo (CERN European Organization for Nuclear Research)
Muon and positron interactions and applications
article

data has transfered to another zenodo

article en

Abstract

ICFlowNet Executable binaries underpin virtually every computing system today, yet analyzing them without source code remains a formidable challenge—particularly in reconstructing control-flow graphs where runtime-determined indirect control-flow (ICF) transfers such as indirect calls, jump tables, indirect tail calls, and returns pose the greatest hurdle—and in our paper we introduce ICFlowNet, a graph neural network–based multi-task learning framework that jointly predicts all major ICF types by leveraging inductive knowledge transfer between frequent and rare patterns to learn unified, generalized control-flow representations, which, when evaluated on over 15,000 Arch Linux binaries, significantly outperforms state-of-the-art single-task models under strict data deduplication, representing a substantial advance in practical and precise binary analysis. Project Structure .├── env.yml # Conda environment file for reproducing experiments├── graph/ # Graph generation and preprocessing of ground truth├── llvm-project/ # Customized LLVM sources for compilation + ground truth collection(x86labelindirecttarget.cpp CGcall.cpp..)├── model/ # Pretrained models├── pin/ # Dynamic tracing tools (Mypintool.cpp)├── readme.md # Project documentation and setup guide├── scripts/ # Utility and helper scripts (automation, data prep...)└── src/ # Core source code (training, evaluation, main pipeline) 🚀 Detailed Workflow > Note: All code should be run with the appropriate path completions. 1. Binary Generation Binaries are generated using the customized LLVM toolchain (see (./llvm-project)) and the dynamic tracing tool (see (./pin)).For convenience, a pre-collected dataset is provided in icf_data.zip. 2. Environment Setup cd ~/icflownet/conda env create -f env.yml -n icflownetconda activate icflownet # Install DGL (CUDA 11.8 build for PyTorch 2.3)pip install dgl==2.4.0+cu118 \ -f https://data.dgl.ai/wheels/torch-2.3/cu118/repo.html 3. Graph Generation & Ground Truth Processing # To generate a graph from a binary:cd ~/icflownet/scripts/./getstaticgt_pipeline.sh <binary_path> 4. Model Training # Single-task trainingpython3 train_single.py --graph_dir# Multi-task trainingpython3 train_multi.py --graph_dir

Zenodo (CERN European Organization for Nuclear Research)
Openalex Percentile: Top 49%
Muon and positron interactions and applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

data has transfered to another zenodo · Zenodo (CERN European Organization for Nuclear Research) (2025) | TGRS Research Map | TGRS