paper-with-me

Papers

Learning Program Behavioral Models from Synthesized Input-Output Pairs

2024-07-11 · Tural Mammadov, Dietrich Klakow, Alexander Koller, Andreas Zeller

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.

📄 PDF Abstract BibTeX arXiv:2407.08597

Code (1)

2ral/Modelizer 공식 구현 pytorch

Tasks

Machine Translation

Similar Papers 제목 키워드 기반

Hierarchical Neural Program Synthesis

2023-03-09 · Linghan Zhong, Ryan Lindeborg, Jesse Zhang, Joseph J. Lim 외

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a vari…

DecoderProgram Synthesis

Latent Execution for Neural Program Synthesis

2021-06-29 · NeurIPS 2021 12 · Xinyun Chen, Dawn Song, Yuandong Tian

Program synthesis from input-output (IO) examples has been a long-standing challenge. While recent works demonstrated limited success on domain-specific languages (DSL), it remains highly challenging to apply them to rea…

C++ codeProgram Synthesis

Latent Execution for Neural Program Synthesis Beyond Domain-Specific Languages

2021-05-21 · NeurIPS 2021 12 · Xinyun Chen, Dawn Song, Yuandong Tian

Program synthesis from input-output (IO) examples has been a long-standing challenge. While recent works demonstrated limited success on domain-specific languages (DSL), it remains highly challenging to apply them to rea…

C++ codeProgram Synthesis

GP and LLMs for Program Synthesis: No Clear Winners

2025-08-05 · Jose Guadalupe Hernandez, Anil Kumar Saini, Gabriel Ketron, Jason H. Moore arxiv

Genetic programming (GP) and large language models (LLMs) differ in how program specifications are provided: GP uses input-output examples, and LLMs use text descriptions. In this work, we compared the ability of PushGP …

Program Synthesis

Towards Synthesizing Complex Programs from Input-Output Examples

2017-06-05 · ICLR 2018 1 · Xinyun Chen, Chang Liu, Dawn Song

In recent years, deep learning techniques have been developed to improve the performance of program synthesis from input-output examples. Albeit its significant progress, the programs that can be synthesized by state-of-…

Program Synthesisreinforcement-learningReinforcement LearningReinforcement Learning (RL)