Program Synthesis With Unit-Test Feedback and Actor-Critic Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program synthesis models have limited performance due to neglecting important signals from unit tests and accumulating errors during generation, leading to poor performance in complex coding tasks.

Innovation Solution

A reinforcement learning-based framework is employed to finetune pretrained language models for program synthesis, utilizing an actor-critic approach to assess functional correctness through unit tests and refine or repair generated code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard supervised fine-tuning procedure is used to train program synthesis model from natural language problem descriptions and ground-truth programs, then training simplicity is maintained, but code generation performance is limited due to ignoring unit test signals

Engineering Contradiction:
Improvecode generation performanceVSAvoidtraining procedure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms by executing generated programs against unit tests and using the test results to guide model updates. The critic model evaluates program correctness by running unit tests, and this feedback is used to compute policy gradients for updating the actor model, creating a closed-loop system that continuously improves code generation performance based on test outcomes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The training procedure transitions from static supervised fine-tuning to dynamic reinforcement learning where the model iteratively generates programs, receives feedback from unit test executions, and updates its parameters accordingly. This dynamic process allows the model to adapt and improve its code generation capabilities through multiple cycles of generation and evaluation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If pretrained language models generate programs autoregressively token by token, then sequence-to-sequence task structure is maintained, but errors accumulate during generation leading to poor performance on complex tasks

Engineering Contradiction:
Improveprogram correctnessVSAvoidgeneration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by executing the generated program against unit tests and using the execution results to guide corrections. The critic model evaluates the correctness of generated programs and provides feedback signals that are used to update the actor model, enabling error correction and improvement through iterative refinement rather than single-pass generation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces the purely mechanical autoregressive token generation process with a system that incorporates program execution and test validation. Instead of relying solely on sequential token prediction, the system substitutes in actual program execution and unit test evaluation to verify correctness, enabling the model to identify and correct errors that would otherwise accumulate during generation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If unit tests are incorporated into the training process through reinforcement learning, then code generation accuracy improves, but computational cost and training time increase

Engineering Contradiction:
Improveprogram correctness accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by using a critic model to evaluate only the most promising generated programs rather than exhaustively evaluating all possible generations. The critic model provides targeted feedback on program correctness, allowing the system to focus computational resources on refining high-potential candidates rather than uniformly processing all generated code.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The critic model serves as an intermediary between the actor model and the unit test execution process. Instead of directly using expensive unit test results for every training update, the critic model first evaluates generated programs and provides intermediate feedback signals that guide the actor model updates, reducing the direct computational burden of repeated unit test executions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12430584B2Systems and methods for program synthesis
Publication Date: 2025.09.30 SALESFORCE INC
  • US12430584B2 patent drawing
  • US12430584B2 patent drawing
  • US12430584B2 patent drawing

AI summary

Embodiments described herein provide a reinforcement learning based framework engaging pretrained language models (LMs) for program synthesis tasks. Specifically, the framework adopts a training strategy that optimizes pretrained LMs for program synthesis tasks in an actor-critic approach.