当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Analogy-Making as a Core Primitive in the Software Engineering Toolbox
arXiv - CS - Programming Languages Pub Date : 2020-09-14 , DOI: arxiv-2009.06592
Matthew Sotoudeh and Aditya V. Thakur

An analogy is an identification of structural similarities and correspondences between two objects. Computational models of analogy making have been studied extensively in the field of cognitive science to better understand high-level human cognition. For instance, Melanie Mitchell and Douglas Hofstadter sought to better understand high-level perception by developing the Copycat algorithm for completing analogies between letter sequences. In this paper, we argue that analogy making should be seen as a core primitive in software engineering. We motivate this argument by showing how complex software engineering problems such as program understanding and source-code transformation learning can be reduced to an instance of the analogy-making problem. We demonstrate this idea using Sifter, a new analogy-making algorithm suitable for software engineering applications that adapts and extends ideas from Copycat. In particular, Sifter reduces analogy-making to searching for a sequence of update rule applications. Sifter uses a novel representation for mathematical structures capable of effectively representing the wide variety of information embedded in software. We conclude by listing major areas of future work for Sifter and analogy-making in software engineering.

中文翻译:

类比作为软件工程工具箱中的核心原语

类比是识别两个对象之间的结构相似性和对应关系。类比计算的计算模型在认知科学领域得到了广泛的研究,以更好地理解人类的高级认知。例如,Melanie Mitchell 和 Douglas Hofstadter 试图通过开发 Copycat 算法来完成字母序列之间的类比,从而更好地理解高级感知。在本文中,我们认为类比制作应该被视为软件工程的核心原语。我们通过展示复杂的软件工程问题(如程序理解和源代码转换学习)如何简化为类比问题的一个实例来激发这一论点。我们使用 Sifter 演示了这个想法,一种适用于软件工程应用的新类比算法,它改编和扩展了模仿者的思想。特别是,Sifter 将类比减少到搜索更新规则应用程序的序列。Sifter 使用一种新颖的数学结构表示,能够有效地表示嵌入软件中的各种信息。最后,我们列出了软件工程中 Sifter 和类比制作的主要工作领域。
更新日期:2020-09-15
down
wechat
bug