no code implementations • 25 Mar 2024 • Islem Bouzenia, Premkumar Devanbu, Michael Pradel
Unlike existing deep learning-based approaches, which prompt a model with a fixed prompt or in a fixed feedback loop, our work treats the LLM as an agent capable of autonomously planning and executing actions to fix bugs by invoking suitable tools.
no code implementations • 23 Feb 2024 • Toufique Ahmed, Christian Bird, Premkumar Devanbu, Saikat Chakraborty
We find that performance for C# changes little from OSS --> proprietary code, but does significantly reduce for C++; we find that this difference is attributable to differences in identifiers.
no code implementations • 31 May 2023 • Toufique Ahmed, Premkumar Devanbu
Large Language models (LLMs) can be induced to solve non-trivial problems with "few-shot" prompts including illustrative problem-solution examples.
no code implementations • 13 Apr 2023 • Toufique Ahmed, Kunal Suresh Pai, Premkumar Devanbu, Earl T. Barr
This approach improves performance in several different settings suggested by prior work, including for two different Large Language Models.
1 code implementation • 4 Jan 2023 • Ali Al-Kaswan, Toufique Ahmed, Maliheh Izadi, Anand Ashok Sawant, Premkumar Devanbu, Arie van Deursen
While the automated summarisation of decompiled code can help Reverse Engineers understand and analyse binaries, current work mainly focuses on summarising source code, and no suitable dataset exists for this task.
no code implementations • 9 Jul 2022 • Toufique Ahmed, Premkumar Devanbu
Very large language models (LLMs), such as GPT-3 and Codex have achieved state-of-the-art performance on several natural-language tasks, and show great promise also for code.
1 code implementation • 15 Jun 2022 • Saikat Chakraborty, Toufique Ahmed, Yangruibo Ding, Premkumar Devanbu, Baishakhi Ray
Pre-trained Generative Language models (e. g. PLBART, CodeT5, SPT-Code) for source code yielded strong results on several tasks in the past few years, including code generation and translation.
no code implementations • 2 Jun 2022 • Toufique Ahmed, Premkumar Devanbu
We compare several models and training approaches, including same-project training, cross-project training, training a model especially designed to be sample efficient (and thus prima facie well-suited for learning in a limited-sample same-project setting) and a maximalist hybrid approach, fine-tuning first on many projects in many languages and then training on the same-project.
no code implementations • 3 Dec 2021 • Toufique Ahmed, Premkumar Devanbu
As a way around such data bottlenecks, we present evidence suggesting that human-written code in different languages (which performs the same function), is rather similar, and particularly preserving of identifier naming patterns; we further present evidence suggesting that identifiers are a very important element of training data for software engineering tasks.
Ranked #5 on Type prediction on ManyTypes4TypeScript
no code implementations • 29 Apr 2021 • Toufique Ahmed, Noah Rose Ledesma, Premkumar Devanbu
Beginning programmers struggle with the complex grammar of modern programming languages like Java, and make lot of syntax errors.
no code implementations • NeurIPS Workshop CAP 2020 • Vincent Josua Hellendoorn, Premkumar Devanbu, Alex Polozov, Mark Marron
Source code is notably different from natural language in that it is meant to be executed.
1 code implementation • 24 Aug 2020 • Yangruibo Ding, Baishakhi Ray, Premkumar Devanbu, Vincent J. Hellendoorn
Given these findings, we demonstrate how a more principled approach to model design, based on our empirical findings and general knowledge of software development, can lead to better solutions.
no code implementations • 18 Sep 2017 • Miltiadis Allamanis, Earl T. Barr, Premkumar Devanbu, Charles Sutton
We contrast programming languages against natural languages and discuss how these similarities and differences drive the design of probabilistic models.
no code implementations • 26 Jul 2016 • Niraj Kumar, Premkumar Devanbu
Most application development happens in the context of complex APIs; reference documentation for APIs has grown tremendously in variety, complexity, and volume, and can be difficult to navigate.