atlas

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

Evaluation of Large Language Models on Code Obfuscation (Student Abstract)

AAAI 2024 · Large language models › Language, safety and interpretability · approach: Pruning and circuits in LLMs · 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.

Evaluates ChatGPT 3.5, Jurassic-2, and PaLM on detecting C++ code obfuscations and identifying code behavior across 21 base programs and many obfuscation types.

Problem

Whether LLMs can understand code behavior and detect functionality-preserving obfuscations, which tests code reasoning and analysis ability.

Approach

Systematic prompt-based evaluation of off-the-shelf LLMs on simple C++ programs under layered and single obfuscation transformations, with a strict accuracy criterion requiring both a correct answer and a consistent explanation.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use Jurassic-2 instead of PaLM or ChatGPT 3.5LLMs identifying code functionality · All evaluated code responsesaccuracy: 47% -> 60%; 47.45% -> 60%Helped
Ask the model to describe the obfuscated code's functionality without the original codeAll LLMs · Obfuscated-code functionality promptaccuracy: ˜48% -> ˜55%Helped
Include the original code when asking whether it has the same functionality as the obfuscated codeAll LLMs · Code functionality comparisonaccuracy: ˜55% -> ˜48%Hurt
Layer multiple transformations in the obfuscationAll LLMs · Layered obfuscationscorrect response rate: 20-40%Hurt
Use identifier-changing obfuscations rather than code-insertion obfuscationsAll LLMs · Obfuscated-code detection and behavior identificationaccuracyHelped
Add misleading documentation to the obfuscated codeAll LLMs · Obfuscated-code behavior identificationaccuracyHurt
Transform for-loops into recursive codeAll LLMs · For-loop-to-recursion obfuscationaccuracyNo clear effect

Surprising findings

Limitations

Experimental setup

Datasets: 21 hand-written C++ base programs with multiple obfuscation variants

Benchmarks: self-constructed C++ obfuscation set (21 base codes)

Metrics: accuracy (correct answer with consistent explanation)

Baselines: ChatGPT 3.5 Jurassic-2 PaLM

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