Generating Concurrent Programs From Sequential Data Structure Knowledge Using Answer Set Programming
Sarat Chandra Varanasi (The University of Texas at Dallas), Neeraj, Mittal (The University of Texas at Dallas), Gopal Gupta (The University of, Texas at Dallas)

TL;DR
This paper presents a novel approach that uses Answer Set Programming to automatically generate correct concurrent data structure operations from sequential specifications, mimicking human reasoning.
Contribution
It introduces a method employing ASP for automated, safe transformation of sequential data structure code into concurrent versions, a first in the field.
Findings
Successfully generated concurrent code for linked lists and binary search trees.
Demonstrated the reasoning capabilities of ASP in modeling pointer structures and synchronization.
Achieved systematic, provably safe concurrent code transformations.
Abstract
We tackle the problem of automatically designing concurrent data structure operations given a sequential data structure specification and knowledge about concurrent behavior. Designing concurrent code is a non-trivial task even in simplest of cases. Humans often design concurrent data structure operations by transforming sequential versions into their respective concurrent versions. This requires an understanding of the data structure, its sequential behavior, thread interactions during concurrent execution and shared memory synchronization primitives. We mechanize this design process using automated commonsense reasoning. We assume that the data structure description is provided as axioms alongside the sequential code of its algebraic operations. This information is used to automatically derive concurrent code for that data structure, such as dictionary operations for linked lists and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Logic, programming, and type systems · Formal Methods in Verification
