English
Related papers

Related papers: Bonsai: Synthesis-Based Reasoning for Type Systems

200 papers

We introduce a new type of programming challenge called programming puzzles, as an objective and comprehensive evaluation of program synthesis, and release an open-source dataset of Python Programming Puzzles (P3). Each puzzle is defined by…

Machine Learning · Computer Science 2021-11-09 Tal Schuster , Ashwin Kalyan , Oleksandr Polozov , Adam Tauman Kalai

In formal synthesis of reactive systems an implementation of a system is automatically constructed from its formal specification. The great advantage of synthesis is that the resulting implementation is correct by construction; therefore…

Logic in Computer Science · Computer Science 2019-01-04 Hadas Kress-Gazit , Hazem Torfah

Symmetry reduction is a well-known approach for alleviating the state explosion problem in model checking. Automatically identifying symmetries in concurrent systems, however, is computationally expensive. We propose a symbolic framework…

Logic in Computer Science · Computer Science 2015-10-30 Anthony W. Lin , Truong Khanh Nguyen , Philipp Rümmer , Jun Sun

We introduce a formal meta-language for probabilistic programming, capable of expressing both programs and the type systems in which they are embedded. We are motivated here by the desire to allow an AGI to learn not only relevant knowledge…

Artificial Intelligence · Computer Science 2022-08-17 Jonathan Warrell , Alexey Potapov , Adam Vandervorst , Ben Goertzel

Large Language Models (LLMs) excel in complex reasoning tasks but struggle with consistent rule application, exception handling, and explainability, particularly in domains like legal analysis that require both natural language…

Artificial Intelligence · Computer Science 2025-11-11 Albert Sadowski , Jarosław A. Chudziak

Symbolic execution is a powerful technique for bug finding and program testing. It is successful in finding bugs in real-world code. The core reasoning techniques use constraint solving, path exploration, and search, which are also the same…

Software Engineering · Computer Science 2020-07-20 Sahil Verma , Roland H. C. Yap

Even with impressive advances in automated formal methods, certain problems in system verification and synthesis remain challenging. Examples include the verification of quantitative properties of software involving constraints on timing…

Logic in Computer Science · Computer Science 2015-03-19 Sanjit A. Seshia

The automated recognition of algorithm implementations can support many software maintenance and re-engineering activities by providing knowledge about the concerns present in the code base. Moreover, recognizing inefficient algorithms like…

Software Engineering · Computer Science 2026-05-08 Denis Neumüller , Florian Sihler , Raphael Straub , Matthias Tichy

Neuro-Symbolic AI (NeSy) holds promise to ensure the safe deployment of AI systems, as interpretable symbolic techniques provide formal behaviour guarantees. The challenge is how to effectively integrate neural and symbolic computation, to…

Artificial Intelligence · Computer Science 2024-02-06 Daniel Cunnington , Mark Law , Jorge Lobo , Alessandra Russo

Neural models excel at extracting statistical patterns from large amounts of data, but struggle to learn patterns or reason about language from only a few examples. In this paper, we ask: Can we learn explicit rules that generalize well…

Computation and Language · Computer Science 2021-06-15 Saujas Vaduguru , Aalok Sathe , Monojit Choudhury , Dipti Misra Sharma

Program synthesis has seen many new applications in recent years, in large part thanks to the introduction of SyGuS. However, no existing SyGuS solvers have support for synthesizing recursive functions. We introduce an multi-phase algorithm…

Programming Languages · Computer Science 2021-08-20 Shmuel Berman , Mark Santolucito

In recent years, there has been an increased interest in tools that establish \emph{incorrectness} rather than correctness of program properties. In this work we build on this approach by developing a novel methodology to prove…

Programming Languages · Computer Science 2024-09-24 Kelvin Qian , Scott Smith , Brandon Stride , Shiwei Weng , Ke Wu

Probabilistic programs are key to deal with uncertainty in e.g. controller synthesis. They are typically small but intricate. Their development is complex and error prone requiring quantitative reasoning over a myriad of alternative…

Software Engineering · Computer Science 2019-04-30 Milan Češka , Christian Hensel , Sebastian Junges , Joost-Pieter Katoen

Numerous Bayesian Network (BN) structure learning algorithms have been proposed in the literature over the past few decades. Each publication makes an empirical or theoretical case for the algorithm proposed in that publication and results…

Machine Learning · Computer Science 2020-09-14 Anthony C. Constantinou , Yang Liu , Kiattikun Chobtham , Zhigao Guo , Neville K. Kitson

Program synthesis with language models (LMs) has unlocked a large set of reasoning abilities; code-tuned LMs have proven adept at generating programs that solve a wide variety of algorithmic symbolic manipulation tasks (e.g. word…

Computation and Language · Computer Science 2024-11-05 Nathaniel Weir , Muhammad Khalifa , Linlu Qiu , Orion Weller , Peter Clark

The rise of AI-driven coding assistants signals a fundamental shift in how software is built. While AI coding assistants have been integrated into existing Integrated Development Environments (IDEs), their full potential remains largely…

Software Engineering · Computer Science 2025-03-05 Raula Gaikovina Kula , Christoph Treude

Language models have shown remarkable proficiency in code generation; nevertheless, ensuring type correctness remains a challenge. Although traditional methods, such as constrained decoding, alleviate this problem by externally rejecting…

Programming Languages · Computer Science 2026-02-09 Zhechong Huang , Zhao Zhang , Ruyi Ji , Tingxuan Xia , Qihao Zhu , Qinxiang Cao , Zeyu Sun , Wiggin Zhou , Yingfei Xiong

Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction.…

Logic in Computer Science · Computer Science 2021-03-08 Andreas Humenberger , Laura Kovacs

Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that…

Artificial Intelligence · Computer Science 2022-04-07 Saujas Vaduguru , Kevin Ellis , Yewen Pu

Program synthesis from incomplete specifications (e.g. input-output examples) has gained popularity and found real-world applications, primarily due to its ease-of-use. Since this technology is often used in an interactive setting,…

Programming Languages · Computer Science 2017-03-13 Vu Le , Daniel Perelman , Oleksandr Polozov , Mohammad Raza , Abhishek Udupa , Sumit Gulwani