English
Related papers

Related papers: IPSynth: Interprocedural Program Synthesis for Sof…

200 papers

Software developers study and reuse existing source code to understand how to properly use application programming interfaces (APIs). However, manually finding sufficient and adequate code examples for a given API is a difficult and a…

Software Engineering · Computer Science 2022-08-02 Mohammad Ghafari , Konstantin Rubinov , Mohammad Mehdi Pourhashem K

This paper develops a new framework for program synthesis, called semantics-guided synthesis (SemGuS), that allows a user to provide both the syntax and the semantics for the constructs in the language. SemGuS accepts a recursively defined…

Programming Languages · Computer Science 2020-11-12 Jinwoo Kim , Qinheping Hu , Loris D'Antoni , Thomas Reps

Modern computer-assisted synthesis planning (CASP) systems show promises at generating chemically valid reaction steps but struggle to incorporate strategic considerations such as convergent assembly, protecting group minimization, and…

Artificial Intelligence · Computer Science 2025-12-02 Daniel Armstrong , Zlatko Jončev , Andres M Bran , Philippe Schwaller

In modern software development, Python third-party libraries play a critical role, especially in fields like deep learning and scientific computing. However, API parameters in these libraries often change during evolution, leading to…

Software Engineering · Computer Science 2025-12-24 Shuai Zhang , Guanping Xiao , Jun Wang , Huashan Lei , Gangqiang He , Yepang Liu , Zheng Zheng

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia

Modern programming frameworks come with large libraries, with diverse applications such as for matching regular expressions, parsing XML files and sending email. Programmers often use search engines such as Google and Bing to learn about…

Software Engineering · Computer Science 2016-02-16 Mukund Raghothaman , Yi Wei , Youssef Hamadi

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

Text-to-speech and co-speech gesture synthesis have until now been treated as separate areas by two different research communities, and applications merely stack the two technologies using a simple system-level pipeline. This can lead to…

Human-Computer Interaction · Computer Science 2021-08-27 Siyang Wang , Simon Alexanderson , Joakim Gustafson , Jonas Beskow , Gustav Eje Henter , Éva Székely

Security Application Programming Interfaces (APIs) are crucial for ensuring software security. However, their misuse introduces vulnerabilities, potentially leading to severe data breaches and substantial financial loss. Complex API design,…

Cryptography and Security · Computer Science 2025-05-15 Zahra Mousavi , Chadni Islam , M. Ali Babar , Alsharif Abuadbba , Kristen Moore

The IPARC Challenge, inspired by ARC, provides controlled program synthesis tasks over synthetic images to evaluate automatic program construction, focusing on sequence, selection, and iteration. This set of 600 tasks has resisted automated…

Software Engineering · Computer Science 2025-06-23 Shraddha Surana , Ashwin Srinivasan , Michael Bain

Responding to user reviews promptly and satisfactorily improves application ratings, which is key to application popularity and success. The proliferation of such reviews makes it virtually impossible for developers to keep up with…

Software Engineering · Computer Science 2020-11-12 Umar Farooq , A. B. Siddique , Fuad Jamour , Zhijia Zhao , Vagelis Hristidis

Provably correct software is one of the key challenges of our software-driven society. Program synthesis -- the task of constructing a program satisfying a given specification -- is one strategy for achieving this. The result of this task…

Logic in Computer Science · Computer Science 2022-06-24 Andreas Humenberger , Daneshvar Amrollahi , Nikolaj Bjørner , Laura Kovács

Large language models (LLMs) excel at zero-shot inference but continue to struggle with complex, multi-step reasoning. Recent methods that augment LLMs with intermediate reasoning steps such as Chain of Thought (CoT) and Program of Thought…

Computation and Language · Computer Science 2025-10-28 Adam Stein , Neelay Velingker , Mayur Naik , Eric Wong

Building meaningful interoperation with external software units requires performing the conceptual interoperability analysis that starts with identifying the conceptual interoperability constraints of each software unit, then it compares…

Software Engineering · Computer Science 2018-12-06 Hadil Abukwaik , Mohammed Abufouda , Thejashree Nair , Dieter Rombach

Issue tracking systems serve as the primary tool for incorporating external users and customizing a software project to meet the users' requirements. However, the limited number of contributors and the challenge of identifying the best…

Software Engineering · Computer Science 2024-02-07 Joy Krishan Das , Saikat Mondal , Chanchal K. Roy

For agentic systems to use external tools to solve complex, long-horizon tasks, we need a large set of diverse and controllable tool-use environments. We introduce SynthTools, a fully LLM-based pipeline spanning the entire lifecycle:…

Artificial Intelligence · Computer Science 2026-05-28 Tommaso Castellani , Naimeng Ye , Daksh Mittal , Thomson Yen , Emmanouil Koukoumidis , William Zeng , Hongseok Namkoong

Synthesis of program parts is very useful for concurrent systems. However, most synthesis approaches do not support common design tasks, like modifying a single process without having to re-synthesize or verify the whole system.…

Logic in Computer Science · Computer Science 2014-11-18 Roderick Bloem , Krishnendu Chatterjee , Swen Jacobs , Robert Koenighofer

Developing efficient parallel applications is critical to advancing scientific development but requires significant performance analysis and optimization. Performance analysis tools help developers manage the increasing complexity and scale…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-25 Onur Cankur , Aditya Tomar , Daniel Nichols , Connor Scully-Allison , Katherine E. Isaacs , Abhinav Bhatele

Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To…

Artificial Intelligence · Computer Science 2023-03-30 Ahana Ghosh , Sebastian Tschiatschek , Sam Devlin , Adish Singla

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama