• Home
  • Search
  • Pointer Program Synthesis as Non-deterministic Planning
  • https://doi.org/10.1007/978-3-030-77474-5_9Copy DOI Icon

Pointer Program Synthesis as Non-deterministic Planning

  • Jan 1, 2021
  • Xu Lu +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

Program synthesis is the task of automatically constructing programs that satisfy a given high-level formal specification (constraints). In this paper, we concentrate on the synthesis problem of a special category of program, named pointer program that manipulate heaps. Separation logic has been applied successfully in modular reasoning of pointer programs. There are many studies on formal analysis of pointer programs using a form of symbolic execution based on a decidable proof theory of separation logic. Automatic specification checking can be done efficiently by means of symbolic execution. With this basis, we present a novel approach to simulate the symbolic execution process for the sake of synthesizing pointer programs. Concretely, symbolic execution rules are compiled into a non-deterministic planning problem which can be directly solved by existing planners. The reason of using non-deterministic planning is that it enables to generate strong cyclic plans where loop and branch connections (similar to basic program constructs) may appear. We show the preliminary experimental results on synthesizing several programs that work with linked lists.

Similar Papers
  • Conference Article
  • Citations2

Modular Verification of Termination and Execution Time Bounds Using Separation Logic

  • Jul 01, 2016
  • Jafar Hamin +1
  • Research Article
  • Citations67

Implicit dynamic frames

  • Apr 01, 2012
  • ACM Transactions on Programming Languages and Systems
  • Jan Smans +2
  • Conference Article
  • Citations39

Android testing via synthetic symbolic execution

  • Sep 03, 2018
  • Xiang Gao +3
  • Research Article
  • Citations104

Symbolic Evaluation and the Analysis of Programs

  • Jul 01, 1979
  • IEEE Transactions on Software Engineering
  • T.E Cheatham +2
  • Research Article
  • Citations1

Large Language Model Powered Symbolic Execution

  • Oct 09, 2025
  • Proceedings of the ACM on Programming Languages
  • Yihe Li +2
  • Book Chapter
  • Citations44

Automatic Parallelization with Separation Logic

  • Jan 01, 2009
  • Mohammad Raza +2
  • Conference Article
  • Citations1

SuSLik: Synthesis of Safe Pointer-Manipulating Programs (Invited Tutorial)

  • Oct 01, 2019
  • Nadia Polikarpova
  • Book Chapter
  • Citations56

Symbolic Execution with Abstract Subsumption Checking

  • Jan 01, 2006
  • Saswat Anand +2
  • Book Chapter
  • Citations4

One Step Towards Automatic Inference of Formal Specifications Using Automated VeriFast

  • Jan 01, 2016
  • Mahmoud Mohsen +1
  • Conference Article
  • Citations31

Generalizing symbolic execution to library classes

  • Sep 05, 2005
  • Sarfraz Khurshid +1
  • Research Article
  • Citations8

Scaling symbolic execution using ranged analysis

  • Oct 19, 2012
  • ACM SIGPLAN Notices
  • Junaid Haroon Siddiqui +1
  • PDF
  • Research Article
  • Citations46

Quantitative separation logic: a logic for reasoning about probabilistic pointer programs

  • Jan 02, 2019
  • Proceedings of the ACM on Programming Languages
  • Kevin Batz +4
  • Research Article
  • Citations8

Fast and Optimal Extraction for Sparse Equality Graphs

  • Oct 08, 2024
  • Proceedings of the ACM on Programming Languages
  • Amir Kafshdar Goharshady +2
  • Conference Article
  • Citations57

Path-based inductive synthesis for program inversion

  • Jun 04, 2011
  • Saurabh Srivastava +3
  • Conference Article
  • Citations351

Symbolic execution for software testing in practice

  • May 21, 2011
  • Cristian Cadar +6
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.