← Search

Miltiadis Allamanis

17 accepted papers

2024

Do Large Code Models Understand Programming Concepts? Counterfactual Analysis for Code Predicates

ICML 2024poster

Large Language Models' success in text generation has also made them better at code generation and coding tasks. While a lot of work has demonstrated their remarkable performance on tasks such as code completion and editing, it is still unclear as to why. We help bridge this gap by exploring to what…

Cited by 4SourcePDFScholar
2024

NExT: Teaching Large Language Models to Reason about Code Execution

ICML 2024poster

A fundamental skill among human developers is the ability to understand and reason about program execution. As an example, a programmer can mentally simulate code execution in natural language to debug and repair code (aka. rubber duck debugging). However, large language models (LLMs) of code are ty…

Cited by 35SourcePDFScholar
2024

Unsupervised Evaluation of Code LLMs with Round-Trip Correctness

ICML 2024poster

To evaluate code large language models (LLMs), research has relied on a few small manually curated benchmarks, such as HumanEval and MBPP, which represent a narrow part of the real-world software domains. In this work, we introduce round-trip correctness (RTC) as an alternative evaluation method. RT…

Cited by 12SourcePDFScholar
2022

Learning to Complete Code with Sketches

ICLR 2022poster

Code completion is usually cast as a language modelling problem, i.e., continuing an input in a left-to-right fashion. However, in practice, some parts of the completion (e.g., string literals) may be very hard to predict, whereas subsequent parts directly follow from the context. To handle this, we…

Cited by 55SourcePDFScholar
2022

NS3: Neuro-symbolic Semantic Code Search

NeurIPS 2022accept

Semantic code search is the task of retrieving a code snippet given a textual description of its functionality. Recent work has been focused on using similarity metrics between neural embeddings of text and code. However, current language models are known to struggle with longer, compositional sente…

2022

Simultaneous Missing Value Imputation and Structure Learning with Groups

NeurIPS 2022accept

Learning structures between groups of variables from data with missing values is an important task in the real world, yet difficult to solve. One typical scenario is discovering the structure among topics in the education domain to identify learning pathways. Here, the observations are student perfo…

Cited by 22SourcePDFScholar
2021

Copy That! Editing Sequences by Copying Spans

AAAI 2021technical

Neural sequence-to-sequence models are finding increasing use in editing of documents, for example in correcting a text document or repairing source code. In this paper, we argue that common seq2seq models (with a facility to copy single tokens) are not a natural fit for such tasks, as they have to…

2021

Self-Supervised Bug Detection and Repair

NeurIPS 2021poster

Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is challenging. Towards addressing this, we present BugLab, an ap…

2019

Generative Code Modeling with Graphs

ICLR 2019poster

Generative models forsource code are an interesting structured prediction problem, requiring to reason about both hard syntactic and semantic constraints as well as about natural, likely programs. We present a novel model for this problem that uses a graph to represent the intermediate state of the…

2019

Learning to Represent Edits

ICLR 2019poster

We introduce the problem of learning distributed representations of edits. By combining a "neural editor" with an "edit encoder", our models learn to represent the salient information of an edit and can be used to apply edits to new inputs. We experiment on natural language and source code edit data…

2019

Program Synthesis and Semantic Parsing with Learned Code Idioms

NeurIPS 2019poster

Program synthesis of general-purpose source code from natural language specifications is challenging due to the need to reason about high-level patterns in the target program and low-level implementation details at the same time. In this work, we present Patois, a system that allows a neural program…

2018

Constrained Graph Variational Autoencoders for Molecule Design

NeurIPS 2018poster

Graphs are ubiquitous data structures for representing interactions between entities. With an emphasis on applications in chemistry, we explore the task of learning to generate graphs that conform to a distribution observed in training data. We propose a variational autoencoder model in which both e…

2017

Learning Continuous Semantic Representations of Symbolic Expressions

ICLR 2017workshop

The question of how procedural knowledge is represented and inferred is a fundamental problem in machine learning and artificial intelligence. Recent work on program induction has proposed neural architectures, based on abstractions like stacks, Turing machines, and interpreters, that operate on ab…

Cited by 128SourceScholar
2017

Learning Continuous Semantic Representations of Symbolic Expressions

ICML 2017poster

Combining abstract, symbolic reasoning with continuous neural reasoning is a grand challenge of representation learning. As a step in this direction, we propose a new architecture, called neural equivalence network, for the problem of learning continuous semantic representations of algebraic and log…

Cited by 128SourcePDFScholar
2016

A Convolutional Attention Network for Extreme Summarization of Source Code

ICML 2016poster

Attention mechanisms in neural networks have proved useful for problems in which the input and output do not have fixed dimension. Often there exist features that are locally translation invariant and would be valuable for directing the model’s attention, but previous attentional architectures are n…

Cited by 0SourcePDFScholar