mlsanityData to 7 Oct 2026

OBsmith: LLM-Powered JavaScript Obfuscator Testing

arXiv 2510.10066 ↗First posted 11 Oct 2025cs.SE cs.AI cs.PLcited by 2

Not on the map. Why?

Abstract (arXiv)

JavaScript obfuscators are widely deployed to protect intellectual property and resist reverse engineering, yet their correctness has been largely overlooked compared to performance and resilience. Existing evaluations typically measure resistance to deobfuscation, leaving the critical question of whether obfuscators preserve program semantics unanswered. Incorrect transformations can silently alter functionality, compromise reliability, and erode security-undermining the very purpose of obfuscation. To address this gap, we present OBsmith, a novel framework to systematically test JavaScript obfuscators using large language models (LLMs). OBsmith leverages LLMs to generate program sketches abstract templates capturing diverse language constructs, idioms, and corner cases-which are instantiated into executable programs and subjected to obfuscation under different configurations. Besides LLM-powered sketching, OBsmith also employs a second source: automatic extraction of sketches from real programs. This extraction path enables more focused testing of project specific features and lets developers inject domain knowledge into the resulting test cases. OBsmith uncovers 11 previously unknown correctness bugs. Under an equal program budget, five general purpose state-of-the-art JavaScript fuzzers (FuzzJIT, Jsfunfuzz, Superion, DIE, Fuzzilli) failed to detect these issues, highlighting OBsmith's complementary focus on obfuscation induced misbehavior. An ablation shows that all components except our generic MRs contribute to at least one bug class; the negative MR result suggests the need for obfuscator-specific metamorphic relations. Our results also seed discussion on how to balance obfuscation presets and performance cost. We envision OBsmith as an important step towards automated testing and quality assurance of obfuscators and other semantic-preserving toolchains.

Key facts. Cited by 2 papers in the map (data through 7 Oct 2026). Builds on 31 of its 108 references that are in the map. First posted on arXiv 11 Oct 2025.

Builds on

31 of 108 references.

References · 31

  1. 2024StarCoder 2 and The Stack v2: The Next Generationcited by 484
  2. 2024Agentless: Demystifying LLM-based Software Engineering Agentscited by 400
  3. 2024Reinforcement learningcited by 236
  4. 2023Using an LLM to Help With Code Understandingcited by 222
  5. 2023CodePlan: Repository-level Coding using LLMs and Planningcited by 139
  6. 2023How well do Large Language Models perform in Arithmetic tasks?cited by 130
  7. 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 118
  8. 2023Fuzz4All: Universal Fuzzing with Large Language Modelscited by 88
  9. 2024Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLMcited by 63
  10. 2021TOGA: A Neural Method for Test Oracle Generationcited by 57
  11. 2023A Quantitative and Qualitative Evaluation of LLM-Based Explainable Fault Localizationcited by 50
  12. 2023Make LLM a Testing Expert: Bringing Human-like Interaction to Mobile GUI Testing via Functionality-aware Decisionscited by 41
19 more
  1. 2024LLMParser: An Exploratory Study on Using Large Language Models for Log Parsingcited by 32
  2. 2023LILAC: Log Parsing using LLMs with Adaptive Parsing Cachecited by 30
  3. 2024Language Models Do Hard Arithmetic Tasks Easily and Hardly Do Easy Arithmetic Taskscited by 24
  4. 2024Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Examplecited by 15
  5. 2024LLM-Powered Test Case Generation for Detecting Bugs in Plausible Programscited by 14
  6. 2024Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Taskscited by 13
  7. 2018Superion: Grammar-Aware Greybox Fuzzingcited by 12
  8. 2021Mate! Are You Really Aware? An Explainability-Guided Testing Framework for Robustness of Malware Detectorscited by 7
  9. 2025On the Effectiveness of Large Language Models in Writing Alloy Formulascited by 7
  10. 2016Skeletal Program Enumeration for Rigorous Compiler Testingcited by 6
  11. 2024Generating executable oracles to check conformance of client code to requirements of JDK Javadocs using LLMscited by 6
  12. 2020UNIFUZZ: A Holistic and Pragmatic Metrics-Driven Platform for Evaluating Fuzzerscited by 5
  13. 2023Uncovering the Causes of Emotions in Software Developer Communication Using Zero-shot LLMscited by 5
  14. 2025CASCADE: LLM-Powered JavaScript Deobfuscator at Googlecited by 5
  15. 2015JSKETCH: Sketching for Javacited by 3
  16. 2024FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniquescited by 3
  17. 2025Interleaving Large Language Models for Compiler Testingcited by 3
  18. 2024Java JIT Testing with Template Extractioncited by 1
  19. 2025JSProtect: A Scalable Obfuscation Framework for Mini-Games in WeChatcited by 1

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2026: 2.

2 papers.