English
Related papers

Related papers: Indexing Operators to Extend the Reach of Symbolic…

200 papers

We develop a simple functional programming language aimed at manipulating infinite, but first-order definable structures, such as the countably infinite clique graph or the set of all intervals with rational endpoints. Internally, such sets…

Programming Languages · Computer Science 2016-04-06 Bartek Klin , Michał Szynwelski

Symbolic execution is an effective path oriented and constraint based program analysis technique. Recently, there is a significant development in the research and application of symbolic execution. However, symbolic execution still suffers…

Software Engineering · Computer Science 2015-03-20 Yufeng Zhang , Zhenbang Chen , Ji Wang

Many Prolog programs are unnecessarily impure because of inadequate means to express syntactic inequality. While the frequently provided built-in `dif/2` is able to correctly describe expected answers, its direct use in programs often leads…

Programming Languages · Computer Science 2016-07-07 Ulrich Neumerkel , Stefan Kral

LLMs can solve program synthesis tasks but remain inefficient and unreliable on hard instances requiring large combinatorial search. Given a small set of reasoning traces, we use coding agents to compile them into reusable symbolic program…

Computation and Language · Computer Science 2026-05-08 Atharva Naik , Yash Mathur , Prakam , Carolyn Rose , David Mortensen

Recursive definitions of predicates are usually interpreted either inductively or coinductively. Recently, a more powerful approach has been proposed, called flexible coinduction, to express a variety of intermediate interpretations,…

Programming Languages · Computer Science 2020-09-23 Francesco Dagnino , Davide Ancona , Elena Zucca

Language models (LMs) can solve tasks such as answering questions about tables or images by writing programs. However, using primitive functions often leads to verbose and error-prone programs, and higher-level functions require expert…

Artificial Intelligence · Computer Science 2024-01-24 Zhiruo Wang , Daniel Fried , Graham Neubig

Symbolic execution helps check programs by exploring different paths based on symbolic inputs. Tools like KLEE are commonly used because they can automatically detect bugs and create test cases. But one of KLEE's biggest issues is how slow…

Software Engineering · Computer Science 2025-11-12 Rong Feng , Vanisha Gupta , Vivek Patel , Viroopaksh Reddy Ernampati , Suman Saha

There is increasing interest in applying verification tools to programs that have bitvector operations (eg., binaries). SMT solvers, which serve as a foundation for these tools, have thus increased support for bitvector reasoning through…

Programming Languages · Computer Science 2021-08-31 Yuandong Cyrus Liu , Chengbin Pang , Daniel Dietsch , Eric Koskinen , Ton-Chanh Le , Georgios Portokalidis , Jun Xu

The field of implicit complexity has recently produced several bounded-complexity programming languages. This kind of language allows to implement exactly the functions belonging to a certain complexity class. We here present a…

Logic in Computer Science · Computer Science 2012-06-22 Aloïs Brunel , Antoine Madet

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

Obfuscation poses a persistent challenge for software engineering tasks such as program comprehension, maintenance, testing, and vulnerability detection. While compiler optimizations and third-party code often introduce transformations that…

Software Engineering · Computer Science 2025-11-25 Rong Feng , Suman Saha

SMT solvers use sophisticated techniques for polynomial (linear or non-linear) integer arithmetic. In contrast, non-polynomial integer arithmetic has mostly been neglected so far. However, in the context of program verification, polynomials…

Logic in Computer Science · Computer Science 2025-08-29 Florian Frohn , Jürgen Giesl

Building robust and general reasoning ability is a central goal in the development of large language models (LLMs). Recent efforts increasingly turn to code as a rich training source, given its inherent logical structure and diverse…

Machine Learning · Computer Science 2025-10-29 Nuo Chen , Zehua Li , Keqin Bao , Junyang Lin , Dayiheng Liu

Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the need for language-specific implementation, the inability to…

Programming Languages · Computer Science 2018-07-03 Shiqi Shen , Soundarya Ramesh , Shweta Shinde , Abhik Roychoudhury , Prateek Saxena

Python's dynamic type system, while offering significant flexibility and expressiveness, poses substantial challenges for static analysis and automated tooling, particularly in unannotated or partially annotated codebases. Existing type…

Software Engineering · Computer Science 2026-04-08 Ali Aman , Muhammad Asaduzzaman , Shaowei Wang

Symbolic execution is a classic technique for systematic bug finding, which has seen many applications in recent years but remains hard to scale. Recent work introduced ranged symbolic execution to distribute the symbolic execution task…

Software Engineering · Computer Science 2021-06-07 Shikhar Singh , Sarfraz Khurshid

Constraint Programming (CP) is a powerful declarative programming paradigm where inference and search are interleaved to find feasible and optimal solutions to various type of constraint systems. However, handling logical connectors with…

Artificial Intelligence · Computer Science 2020-06-23 Arnaud Gotlieb , Dusica Marijan , Helge Spieker

The combination of uninterpreted function symbols and universal quantification occurs in many applications of automated reasoning, for example, due to their ability to reason about arrays. Yet the satisfiability of such formulas is, in…

Logic in Computer Science · Computer Science 2026-02-19 Stefan Ratschan , Anggha Nugraha , Mikoláš Janota , Marek Dančo

Achieving high code coverage is essential in testing, which gives us confidence in code quality. Testing floating-point code usually requires painstaking efforts in handling floating-point constraints, e.g., in symbolic execution. This…

Programming Languages · Computer Science 2017-04-17 Zhoulai Fu , Zhendong Su

We present a novel programming language design that attempts to combine the clarity and safety of high-level functional languages with the efficiency and parallelism of low-level numerical languages. We treat arrays as eagerly-memoized…

‹ Prev 1 2 3 10 Next ›