atlas

Research map / Large language models / Language, safety and interpretability

Source Code Foundation Models are Transferable Binary Analysis Knowledge Bases

NeurIPS 2024 · Large language models › Language, safety and interpretability · approach: Data and evaluation methodology · 1 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes ProRec, a probe-and-recover framework where a CodeArt binary encoder aligned to a frozen Code Llama SCFM synthesizes source-code fragments that black-box LLMs use as context for binary summarization and function name recovery.

Problem

Human-oriented binary reverse engineering (lifting stripped binary/decompiled code to human-readable, source-like content such as summaries and function names) suffers from the binary-source semantic gap; existing supervised small models generalize poorly and direct LLM prompting struggles on stripp

Approach

Align a binary function encoder (CodeArt) to a frozen source code foundation model via a small MLP prefix so the SCFM, used as a parametric knowledge base, generates symbol-rich source fragments from binary input; a black-box LLM then analyzes these probed contexts plus the decompiled code to recover the target output.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Add ProRec-generated source code snippetsGPT-3.5-turbo · Binary summarizationCHRF: 30.4 -> 33.5Helped
Add ProRec-generated source code snippetsGPT-3.5-turbo · Binary summarizationG4-F: 3.6 -> 4.2Helped
Add ProRec-generated source code snippetsGPT-3.5-turbo · Binary summarizationG4-C: 3.8 -> 4.0Helped
Add ProRec-generated source code snippetsGPT-3.5-turbo · Binary function name recoveryP_SymLM: 16.3 -> 22.2Helped
Add ProRec-generated source code snippetsGPT-3.5-turbo · Binary function name recoveryR_SymLM: 20.9 -> 28.3Helped
Add ProRec-generated source code snippetsGemini-Pro · Binary function name recoveryP_SymLM: 25.3 -> 32.6Helped
Add ProRec-generated source code snippetsGemini-Pro · Binary function name recoveryR_SymLM: 28.7 -> 30.5Helped
Add ProRec-generated source code snippetsClaude-3 · Binary function name recoveryP_SymLM: 16.5 -> 25.9Helped
Add ProRec-generated source code snippetsClaude-3 · Binary function name recoveryR_SymLM: 22.3 -> 29.4Helped
Use larger base SCFMs (CodeLlama-7b, CodeLlama-13b, CodeLlama-34b) (ablation)ProRec · Binary summarizationCHRF: 31.52 ($\pm$0.642); 32.01 ($\pm$0.886); 31.54 ($\pm$0.163)No clear effect
Add CP-BCS-generated commentsGPT-3.5-turbo summarization · Binary summarizationCHRF: 30.4 -> 29.0Hurt
Use black-box self-generated contexts instead of ProRec contextsGPT-3.5-turbo · Binary function name recovery (100 examples)P_SymLM: 20.38 -> 16.02Hurt

Surprising findings

Limitations

Experimental setup

Datasets: GHCC-compiled GitHub repositories (270k binary-source function pairs) 1k test samples subset

Benchmarks: binary summarization (CHRF, GPT4-based functionality and context relevance metrics) binary function name recovery (SymLM token-level P/R/F1, character-level BLEU/ROUGE-L/METEOR)

Metrics: CHRF G4-F G4-C SymLM precision SymLM recall SymLM F1 cBLEU cRoL cMETEOR

Baselines: GPT-3.5-turbo decompiled-only prompting retrieval-augmented baseline with dense retriever CP-BCS self-probing

Builds on: CodeArt Code Llama CodeT5+ retrieval-augmented generation GenRead

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy