English
Related papers

Related papers: Program Synthesis using Natural Language

200 papers

Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of course,…

Logic in Computer Science · Computer Science 2011-11-10 Yoad Lustig , Moshe Vardi

For deterministic and probabilistic programs we investigate the problem of program synthesis and program optimisation (with respect to non-functional properties) in the general setting of global optimisation. This approach is based on the…

Programming Languages · Computer Science 2014-07-22 Herbert Wiklicky

When creating a new domain-specific language (DSL) it is common to embed it as a part of a flexible host language, rather than creating it entirely from scratch. The semantics of an embedded DSL (EDSL) is either given directly as a set of…

Programming Languages · Computer Science 2016-12-06 Piotr Danilewski , Philipp Slusallek

The advent of large language models (LLMs) has paved the way for a new era of programming tools with both significant capabilities and risks, as the generated code lacks guarantees of correctness and reliability. Developers using LLMs…

Programming Languages · Computer Science 2025-01-07 Kyla H. Levin , Kyle Gwilt , Emery D. Berger , Stephen N. Freund

We present a novel architecture for safely integrating Large Language Models (LLMs) into interactive game engines, allowing players to "program" new behaviors using natural language. Our framework mitigates risks by using an LLM to…

Human-Computer Interaction · Computer Science 2025-10-21 Austin Drake , Hang Dong

Large Language Models (LLMs) have shown increasing potential in automating model-driven software engineering tasks, particularly in generating models conforming to Domain Specific Languages (DSLs) from natural language. While most existing…

Software Engineering · Computer Science 2026-05-18 Junaid Baber , Nicolas Hili , Didier Schwab , Léo Challier , Cécilia Satrin

We develop an approach to estimate the probability that a program sampled from a large language model is correct. Given a natural language description of a programming problem, our method samples both candidate programs as well as candidate…

Software Engineering · Computer Science 2023-10-11 Darren Key , Wen-Ding Li , Kevin Ellis

Metamodel-based DSL development in language workbenches like Xtext allows language engineers to focus more on metamodels and domain concepts rather than grammar details. However, the grammar generated from metamodels often requires manual…

Software Engineering · Computer Science 2023-09-11 Weixing Zhang , Jan-Philipp Steghöfer , Regina Hebig , Daniel Strüber

Designing a new domain specific language is as any other complex task sometimes error-prone and usually time consuming, especially if the language shall be of high-quality and comfortably usable. Existing tool support focuses on the…

Software Engineering · Computer Science 2014-09-09 Gabor Karsai , Holger Krahn , Claas Pinkernell , Bernhard Rumpe , Martin Schindler , Steven Völkel

Reuse is a key technique for a more efficient development and ensures the quality of the results. In object technology explicit encapsulation, interfaces, and inheritance are well known principles for independent development that enable…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe , Stefan Völkel

We describe our ongoing research that centres on the application of natural language processing (NLP) to software engineering and systems development activities. In particular, this paper addresses the use of NLP in the requirements…

Computation and Language · Computer Science 2014-07-24 S. G. Macdonell , K. Min , A. M. Connor

Large, human-annotated datasets are central to the development of natural language processing models. Collecting these datasets can be the most challenging part of the development process. We address this problem by introducing a general…

Computation and Language · Computer Science 2020-04-29 Alana Marzoev , Samuel Madden , M. Frans Kaashoek , Michael Cafarella , Jacob Andreas

Neural inductive program synthesis is a task generating instructions that can produce desired outputs from given inputs. In this paper, we focus on the generation of a chunk of assembly code that can be executed to match a state change…

Machine Learning · Computer Science 2019-10-15 Yifan Xu , Lu Dai , Udaikaran Singh , Kening Zhang , Zhuowen Tu

Context: Having domain models derived from textual specifications has proven to be very useful in the early phases of software engineering. However, creating correct domain models and establishing clear links with the textual specification…

Software Engineering · Computer Science 2026-03-09 Shwetali Shimangaud , Lola Burgueño , Rijul Saini , Jörg Kienzle

How can we perform computations over natural language representations to solve tasks that require symbolic and numeric reasoning? We propose natural language embedded programs (NLEP) as a unifying framework for addressing math/symbolic…

Computation and Language · Computer Science 2024-04-01 Tianhua Zhang , Jiaxin Ge , Hongyin Luo , Yung-Sung Chuang , Mingye Gao , Yuan Gong , Xixin Wu , Yoon Kim , Helen Meng , James Glass

In today's software world with its cornucopia of reusable software libraries, when a programmer is faced with a programming task that they suspect can be completed through the use of a library, they often look for code examples using a…

Software Engineering · Computer Science 2021-10-08 Geert Heyman , Rafael Huysegems , Pascal Justen , Tom Van Cutsem

Coding standards are essential for maintaining consistent and high-quality code across teams and projects. Linters help developers enforce these standards by detecting code violations. However, manual linter configuration is complex and…

Software Engineering · Computer Science 2026-02-10 Zejun Zhang , Yixin Gan , Zhenchang Xing , Tian Zhang , Yi Li , Xiwei Xu , Qinghua Lu , Liming Zhu

Numerical software in computational science and engineering often relies on highly-optimized building blocks from libraries such as BLAS and LAPACK, and while such libraries provide portable performance for a wide range of computing…

Mathematical Software · Computer Science 2019-06-21 Daniele G. Spampinato , Diego Fabregat-Traver , Markus Püschel , Paolo Bientinesi

We propose using natural language outlines as a novel modality and interaction surface for providing AI assistance to developers throughout the software development process. An NL outline for a code function comprises multiple statements…

The stakeholders involved in software development are becoming increasingly diverse, with both human contributors from varied backgrounds and AI-powered agents collaborating together in the process. This situation presents unique governance…

Software Engineering · Computer Science 2025-10-17 Adem Ait , Gwendal Jouneaux , Javier Luis Cánovas Izquierdo , Jordi Cabot