English
Related papers

Related papers: Towards Porting Operating Systems with Program Syn…

200 papers

Program synthesis is the task of automatically generating a program consistent with a given specification. A natural way to specify programs is to provide examples of desired input-output behavior, and many current program synthesis…

Machine Learning · Computer Science 2020-07-28 Alexander Suh , Yuval Timen

The automatic generation of source code is one of the long-lasting dreams in software engineering research. Several techniques have been proposed to speed up the writing of new code. For example, code completion techniques can recommend to…

Software Engineering · Computer Science 2023-02-09 Matteo Ciniselli , Luca Pascarella , Emad Aghajani , Simone Scalabrino , Rocco Oliveto , Gabriele Bavota

In many scenarios we need to find the most likely program under a local context, where the local context can be an incomplete program, a partial specification, natural language description, etc. We call such problem program estimation. In…

Software Engineering · Computer Science 2018-02-22 Yingfei Xiong , Bo Wang , Guirong Fu , Linfei Zang

The wide-spread adoption of system defenses such as the randomization of code, stack, and heap raises the bar for code-reuse attacks. Thus, attackers utilize a scripting engine in target programs like a web browser to prepare the code-reuse…

Cryptography and Security · Computer Science 2020-07-07 Jannik Pewny , Philipp Koppe , Thorsten Holz

The recent development on large language models makes automatically constructing small programs possible. It thus has the potential to free software engineers from low-level coding and allow us to focus on the perhaps more interesting parts…

Software Engineering · Computer Science 2024-01-03 Simiao Zhang , Jiaping Wang , Guoliang Dong , Jun Sun , Yueling Zhang , Geguang Pu

As the complexity and heterogeneity of a system grows, the challenge of specifying, documenting and synthesizing correct, machine-readable designs increases dramatically. Separation of the system into manageable parts is needed to support…

Software Engineering · Computer Science 2021-06-25 John D. Foley , Spencer Breiner , Eswaran Subrahmanian , John M. Dusel

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

Learning effective representations of source code is critical for any Machine Learning for Software Engineering (ML4SE) system. Inspired by natural language processing, large language models (LLMs) like Codex and CodeGen treat code as…

Software Engineering · Computer Science 2023-07-11 Debeshee Das , Noble Saji Mathews , Alex Mathai , Srikanth Tamilselvam , Kranthi Sedamaki , Sridhar Chimalakonda , Atul Kumar

We present a framework for generating physically realizable assembly instructions from natural language descriptions. Unlike unconstrained text-to-3D approaches, our method operates within a discrete parts vocabulary, enforcing geometric…

Artificial Intelligence · Computer Science 2025-12-19 David Noever

The emergence of Large Code Models (LCMs) has transformed software engineering (SE) automation, driving significant advancements in tasks such as code generation, source code documentation, code review, and bug fixing. However, these…

Software Engineering · Computer Science 2025-05-06 Antonio Mastropaolo , Denys Poshyvanyk

A programming language is a formally constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express…

Software Engineering · Computer Science 2017-12-13 Ghassan Samara

The automatic verification of programs that maintain unbounded low-level data structures is a critical and open problem. Analyzers and verifiers developed in previous work can synthesize invariants that only describe data structures of…

Programming Languages · Computer Science 2017-10-11 Caleb Voss , David Heath , William Harris

Large Language models (LLMs) have shown promise as generators of symbolic control policies, producing interpretable program-like representations through iterative search. However, these models are not capable of separating the functional…

Machine Learning · Computer Science 2025-10-02 Carlo Bosio , Matteo Guarrera , Alberto Sangiovanni-Vincentelli , Mark W. Mueller

As an important goal of high-performance computing, the concept of performance portability has been around for many years. As the failure of Moore's Law, it is no longer feasible to improve computer performance by simply increasing the…

Hardware Architecture · Computer Science 2023-08-29 Weifeng Liu , Linping Wu , Xiaowen Xu , Yuren Wang

Harnessing modern parallel computing resources to achieve complex multi-physics simulations is a daunting task. The Multiphysics Object Oriented Simulation Environment (MOOSE) aims to enable such development by providing simplified…

We present new techniques for automatically constructing probabilistic programs for data analysis, interpretation, and prediction. These techniques work with probabilistic domain-specific data modeling languages that capture key properties…

Programming Languages · Computer Science 2019-07-16 Feras A. Saad , Marco F. Cusumano-Towner , Ulrich Schaechtle , Martin C. Rinard , Vikash K. Mansinghka

Programming by Example (PBE) is a program synthesis paradigm in which the synthesizer creates a program that matches a set of given examples. In many applications of such synthesis (e.g., program repair or reverse engineering), we are to…

Programming Languages · Computer Science 2021-06-23 Bo Wang , Teodora Baluta , Aashish Kolluri , Prateek Saxena

Data labeling is a time intensive process. As such, many data scientists use various tools to aid in the data generation and labeling process. While these tools help automate labeling, many still require user interaction throughout the…

Machine Learning · Computer Science 2021-06-09 Kyle M. Hart , Ari B. Goodman , Ryan P. O'Shea

Compiling programs to an instruction set architecture (ISA) requires a set of rewrite rules that map patterns consisting of compiler instructions to patterns consisting of ISA instructions. We synthesize such rules by constructing SMT…

Logic in Computer Science · Computer Science 2024-05-21 Ross Daly , Caleb Donovick , Caleb Terrill , Jackson Melchert , Priyanka Raina , Clark Barrett , Pat Hanrahan

Large Language Models (LLMs) are increasingly applied to real-world code generation, where functional correctness alone is insufficient for reliable deployment, developers also expect adherence to explicit requirements for robustness,…

Software Engineering · Computer Science 2025-12-22 Sravani Gunnu , Shanmukha Guttula , Hima Patel