Generating Concurrent Programs From Sequential Data Structure Knowledge
Sarat Chandra Varanasi, Neeraj Mittal, Gopal Gupta

TL;DR
This paper presents an automated approach to generate concurrent data structure operations from sequential specifications using Answer Set Programming, mimicking human reasoning to produce safe concurrent code.
Contribution
It introduces a novel method employing ASP for automated, reasoning-based transformation of sequential data structures into concurrent versions, a first in the field.
Findings
Successfully generates concurrent code for linked lists and binary search trees.
Uses ASP to model pointer data structures and synchronization.
Demonstrates systematic, sound reasoning comparable to human judgment.
Abstract
In this paper 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…
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 · Semantic Web and Ontologies
