一句话:提出超越纯示例的交互式程序合成意图表达方式,允许程序员参照生成程序的具体部分来精化意图。
自动程序合成可根据程序员表达的意图生成代码,但意图传达仍是难题。粗粒度意图(如表达式期望类型的限制)常导致合成器返回大量候选,把筛选负担转移给用户。端用户合成中的示例编程(PBE)通过示例让用户交互式、迭代地精化意图,但仅依赖示例对程序员而言表达力不足:程序员能够观察生成程序,并直接针对生成程序的局部来精化意图。本文据此提出超越纯示例的意图表达与交互方式,让程序员把示例与生成程序的组成部分关联起来,以更精确地指导合成。摘要未给出具体实现与评估细节。
Recent years have seen great progress in automated synthesis techniques that can automatically generate code based on some intent expressed by the programmer, but communicating this intent remains a major challenge. When the expressed intent is coarse-grained (for example, restriction on the expected type of an expression), the synthesizer often produces a long list of results for the programmer to choose from, shifting the heavy-lifting to the user. An alternative approach, successfully used in end-user synthesis, is programming by example (PBE), where the user leverages examples to interactively and iteratively refine the intent. However, using only examples is not expressive enough for programmers, who can observe the generated program and refine the intent by directly relating to parts of the generated program.