当前位置: X-MOL 学术J. Log. Algebr. Methods Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Defining behaviorizeable relations to enable inference in semi-automatic program synthesis
Journal of Logical and Algebraic Methods in Programming ( IF 0.7 ) Pub Date : 2021-08-19 , DOI: 10.1016/j.jlamp.2021.100714
Emmanouil Krasanakis 1 , Andreas Symeonidis 1
Affiliation  

Developing and using automatic program synthesis mechanisms within Domain Specific Languages (DSLs) requires transcribing empirical knowledge and specifications to formal models. Since the related expertise is time-consuming to build, software engineers are discouraged from adopting automated synthesis as a development paradigm. New approaches promise a significant reduction of human training effort by synthesizing programs from lax specifications, such as unstructured or semi-structured natural language. However, they do not introduce semantics of logical inference that would help users interact with the synthesis mechanism, for example to treat misinterpreted specifications. To cover this shortcoming, in this work we introduce the concept of behaviorizeable relations, which can be less rigorous than behavioral equivalence –and therefore allow laxer specifications– but still perform inference under implicit logical interpretations of the synthesis domain. Using these relations, we develop a generalized greedy framework that iteratively replaces parts of specifications with equivalent implementations; any behaviorizeable relation can be plugged in this framework to synthesize programs while respecting inference under a corresponding logical system. We finally perform a case study, where we define an example predicate-based behaviorizeable relation that lets our framework linearly combine blocks of Python code based on their comment similarity to natural language specifications. We use the resulting mechanism to demonstrate that implicit inference pertains to understanding how to adjust or state new specifications when lax behaviorizeable relations are employed.



中文翻译:

定义可行为化的关系以在半自动程序合成中进行推理

在领域特定语言 (DSL) 中开发和使用自动程序合成机制需要将经验知识和规范转录为正式模型。由于相关专业知识的构建非常耗时,因此不鼓励软件工程师采用自动综合作为开发范式。新方法承诺通过从松散的规范(例如非结构化或半结构化的自然语言)合成程序来显着减少人类培训工作。然而,它们没有引入有助于用户与综合机制交互的逻辑推理语义,例如处理被误解的规范。为了弥补这个缺点,在这项工作中,我们引入了可行为化关系的概念,这可能不如行为等价严格——因此允许更宽松的规范——但仍然在综合域的隐式逻辑解释下执行推理。使用这些关系,我们开发了一个通用的贪婪框架,用等效的实现迭代地替换部分规范;任何可行为化的关系都可以插入到这个框架中来合成程序,同时尊重相应逻辑系统下的推理。我们最终进行了一个案例研究,在那里我们定义了一个基于示例谓词的行为化关系,它让我们的框架根据 Python 代码块与自然语言规范的注释相似性线性组合它们。

更新日期:2021-08-27
down
wechat
bug