Analogy-Making as a Core Primitive in the Software Engineering Toolbox
- URL: http://arxiv.org/abs/2009.06592v1
- Date: Mon, 14 Sep 2020 17:24:15 GMT
- Title: Analogy-Making as a Core Primitive in the Software Engineering Toolbox
- Authors: Matthew Sotoudeh and Aditya V. Thakur
- Abstract summary: We argue that analogy making should be seen as a core primitive in software engineering.
We demonstrate this idea using Sifter, a new analogy-making algorithm suitable for software engineering applications.
- Score: 7.396342576390398
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: 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.
Related papers
- Improving Complex Reasoning over Knowledge Graph with Logic-Aware Curriculum Tuning [89.89857766491475]
We propose a complex reasoning schema over KG upon large language models (LLMs)
We augment the arbitrary first-order logical queries via binary tree decomposition to stimulate the reasoning capability of LLMs.
Experiments across widely used datasets demonstrate that LACT has substantial improvements(brings an average +5.5% MRR score) over advanced methods.
arXiv Detail & Related papers (2024-05-02T18:12:08Z) - "Like a Nesting Doll": Analyzing Recursion Analogies Generated by CS Students using Large Language Models [5.162225137921625]
A good analogy can bridge the gap between unfamiliar concepts and familiar ones, providing an engaging way to aid understanding.
We investigate what extent large language models (LLMs), specifically ChatGPT, can provide access to personally relevant analogies on demand.
arXiv Detail & Related papers (2024-03-14T14:01:26Z) - ParallelPARC: A Scalable Pipeline for Generating Natural-Language Analogies [16.92480305308536]
We develop a pipeline for creating complex, paragraph-based analogies.
We publish a gold-set, validated by humans, and a silver-set, generated automatically.
We demonstrate that our silver-set is useful for training models.
arXiv Detail & Related papers (2024-03-02T08:53:40Z) - Life is a Circus and We are the Clowns: Automatically Finding Analogies
between Situations and Processes [12.8252101640812]
Much research has suggested that analogies are key to non-brittle systems that can adapt to new domains.
Despite their importance, analogies received little attention in the NLP community.
arXiv Detail & Related papers (2022-10-21T18:54:17Z) - Language Model Decoding as Likelihood-Utility Alignment [54.70547032876017]
We introduce a taxonomy that groups decoding strategies based on their implicit assumptions about how well the model's likelihood is aligned with the task-specific notion of utility.
Specifically, by analyzing the correlation between the likelihood and the utility of predictions across a diverse set of tasks, we provide the first empirical evidence supporting the proposed taxonomy.
arXiv Detail & Related papers (2022-10-13T17:55:51Z) - A modular software framework for the design and implementation of
ptychography algorithms [55.41644538483948]
We present SciCom, a new ptychography software framework aiming at simulating ptychography datasets and testing state-of-the-art reconstruction algorithms.
Despite its simplicity, the software leverages accelerated processing through the PyTorch interface.
Results are shown on both synthetic and real datasets.
arXiv Detail & Related papers (2022-05-06T16:32:37Z) - Neural Logic Analogy Learning [33.424692414746836]
Letter-string analogy is an important analogy learning task which seems to be easy for humans but challenging for machines.
In this paper, we propose Neural logic analogy learning (Noan), which is a dynamic neural architecture driven by differentiable logic reasoning.
Noan learns the logical variables as vector embeddings and learns each logical operation as a neural module.
arXiv Detail & Related papers (2022-02-04T23:35:53Z) - On the validity of pre-trained transformers for natural language
processing in the software engineering domain [78.32146765053318]
We compare BERT transformer models trained with software engineering data with transformers based on general domain data.
Our results show that for tasks that require understanding of the software engineering context, pre-training with software engineering data is valuable.
arXiv Detail & Related papers (2021-09-10T08:46:31Z) - Thinking Like Transformers [64.96770952820691]
We propose a computational model for the transformer-encoder in the form of a programming language.
We show how RASP can be used to program solutions to tasks that could conceivably be learned by a Transformer.
We provide RASP programs for histograms, sorting, and Dyck-languages.
arXiv Detail & Related papers (2021-06-13T13:04:46Z) - Information Theoretic Meta Learning with Gaussian Processes [74.54485310507336]
We formulate meta learning using information theoretic concepts; namely, mutual information and the information bottleneck.
By making use of variational approximations to the mutual information, we derive a general and tractable framework for meta learning.
arXiv Detail & Related papers (2020-09-07T16:47:30Z) - Machine Learning for Software Engineering: A Systematic Mapping [73.30245214374027]
The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems.
No comprehensive study exists that explores the current state-of-the-art on the adoption of machine learning across software engineering life cycle stages.
This study introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages.
arXiv Detail & Related papers (2020-05-27T11:56:56Z) - Learning to See Analogies: A Connectionist Exploration [0.0]
This dissertation explores the integration of learning and analogy-making through the development of a computer program, called Analogator.
By "seeing" many different analogy problems, along with possible solutions, Analogator gradually develops an ability to make new analogies.
arXiv Detail & Related papers (2020-01-18T14:06:16Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.