揭示程序综合中的任务分解:合成器模型的驱动力
软件工程
2025-03-21 v3 机器学习
编程语言
摘要
任务分解是程序综合中的基本机制,使复杂问题能够拆解为可管理的子任务。ExeDec 这种领先的程序综合框架通过结合用于分解的子目标模型(Subgoal Model)和用于程序生成的综合器模型(Synthesizer Model)来实现这一方法,从而促进组合泛化。在本工作中,我们开发了 REGISM,这是 ExeDec 的一种改进方案,移除了分解指导,仅依赖于迭代执行驱动的综合。通过对比这两种典型方法——即利用任务分解的 ExeDec 和不使用任务分解的 REGISM,我们研究了任务分解与程序生成之间的相互作用。我们的发现表明,ExeDec 在长度泛化和概念组合任务中表现出显著优势,可能是由于其明确的分解策略所致。与此同时,REGISM 在各种情形下经常与 ExeDec 相当或超越其性能,其解决方案往往更贴近真实的分解。这些观察结果凸显了即使在包含明确分解策略的框架中,重复执行驱动的综合也对提高任务解决性能具有重要作用。我们的分析表明,诸如 ExeDec 之类的任务分解方法在推动程序综合方面具有巨大的潜力,尽管仍需进一步工作来阐明这些策略在何时以及为何最为有效。
引用
@article{arxiv.2503.08738,
title = {Shedding Light in Task Decomposition in Program Synthesis: The Driving Force of the Synthesizer Model},
author = {Janis Zenkner and Tobias Sesterhenn and Christian Bartelt},
journal= {arXiv preprint arXiv:2503.08738},
year = {2025}
}
备注
Accepted at ICLR 2025 Workshop Deep Learning for Code