mlsanityData to 7 Oct 2026

Learning Program Behavioral Models from Synthesized Input-Output Pairs

arXiv 2407.08597 ↗First posted 11 Jul 2024cs.SE cs.LGcited by 4

Not on the map. Why?

Abstract (arXiv)

We introduce Modelizer - a novel framework that, given a black-box program, learns a model from its input/output behavior using neural machine translation algorithms. The resulting model mocks the original program: Given an input, the model predicts the output that would have been produced by the program. However, the model is also reversible - that is, the model can predict the input that would have produced a given output. Finally, the model is differentiable and can be efficiently restricted to predict only a certain aspect of the program behavior. Modelizer uses grammars to synthesize and inputs and unsupervised tokenizers to decompose the resulting outputs, allowing it to learn sequence-to-sequence associations between token streams. Other than input grammars, Modelizer only requires the ability to execute the program. The resulting models are small, requiring fewer than 6.3 million parameters for languages such as Markdown or HTML; and they are accurate, achieving up to 95.4% accuracy and a BLEU score of 0.98 with standard error 0.04 in mocking real-world applications. As it learns from and predicts executions rather than code, Modelizer departs from the LLM-centric research trend, opening new opportunities for program-specific models that are fully tuned towards individual programs. Indeed, we foresee several applications of these models, especially as the output of the program can be any aspect of program behavior. Beyond mocking and predicting program behavior, the models can also synthesize inputs that are likely to produce a particular behavior, such as failures or coverage, thus assisting in program understanding and maintenance.

Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). Builds on 45 of its 123 references that are in the map. First posted on arXiv 11 Jul 2024.

Builds on

45 of 123 references.

References · 45

  1. 2017Attention Is All You Needcited by 59,932
  2. 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
  3. 2020Language Models are Few-Shot Learnerscited by 32,199
  4. 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
  5. 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
  6. 2021LoRA: Low-Rank Adaptation of Large Language Modelscited by 14,084
  7. 2023Llama 2: Open Foundation and Fine-Tuned Chat Modelscited by 12,865
  8. 2021Evaluating Large Language Models Trained on Codecited by 8,053
  9. 2019Optuna: A Next-generation Hyperparameter Optimization Frameworkcited by 2,455
  10. 2023Code Llama: Open Foundation Models for Codecited by 2,105
  11. 2018SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processingcited by 1,973
  12. 2024LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Modelscited by 1,442
33 more
  1. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  2. 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
  3. 2020It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learnerscited by 668
  4. 2014Neural Turing Machinescited by 630
  5. 2018Quantizing deep convolutional networks for efficient inference: A whitepapercited by 507
  6. 2021Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributionscited by 417
  7. 2024The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bitscited by 289
  8. 2020Unsupervised Translation of Programming Languagescited by 262
  9. 2024CodeGemma: Open Code Models Based on Gemmacited by 145
  10. 2017RobustFill: Neural Program Learning under Noisy I/Ocited by 124
  11. 2020You Autocomplete Me: Poisoning Vulnerabilities in Neural Code Completioncited by 112
  12. 2022Large Language Models are Few-shot Testers: Exploring LLM-based General Bug Reproductioncited by 110
  13. 2014Learning to Executecited by 105
  14. 2022Productivity Assessment of Neural Code Completioncited by 97
  15. 2023Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitationscited by 96
  16. 2015Inferring Algorithmic Patterns with Stack-Augmented Recurrent Netscited by 76
  17. 2022Language Models Can Teach Themselves to Program Bettercited by 75
  18. 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
  19. 2021TOGA: A Neural Method for Test Oracle Generationcited by 57
  20. 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
  21. 2018Neural-Guided Deductive Search for Real-Time Program Synthesis from Examplescited by 39
  22. 2015Neural Programmer: Inducing Latent Programs with Gradient Descentcited by 32
  23. 2015Neural Random-Access Machinescited by 32
  24. 2017Learn&Fuzz: Machine Learning for Input Fuzzingcited by 23
  25. 2017Neural Program Meta-Inductioncited by 23
  26. 2019Towards Neural Decompilationcited by 15
  27. 2019Synthetic Datasets for Neural Program Synthesiscited by 15
  28. 2015Learning Simple Algorithms from Examplescited by 12
  29. 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
  30. 2023Boosting Neural Networks to Decompile Optimized Binariescited by 11
  31. 2018Smart Greybox Fuzzingcited by 6
  32. 2021Learning Highly Recursive Input Grammarscited by 4
  33. 2021DeepAnalyze: Learning to Localize Crashes at Scalecited by 2

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2024: 1; 2025: 2; 2026: 1.

4 papers.