A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base

08/16/2021
by   Ali Shokri, et al.
0

Automatically constructing a program based on given specifications has been studied for decades. Despite the advances in the field of Program Synthesis, the current approaches still synthesize a block of code snippet and leave the task of reusing it in an existing code base to program developers. Due to its program-wide effects, synthesizing an architectural tactic and reusing it in a program is even more challenging. Architectural tactics need to be synthesized based on the context of different locations of the program, broken down to smaller pieces, and added to corresponding locations in the code. Moreover, each piece needs to establish correct data- and control-dependencies to its surrounding environment as well as to the other synthesized pieces. This is an error-prone and challenging task, especially for novice program developers. In this paper, we introduce a novel program synthesis approach that synthesizes architectural tactics and adds them to an existing code base.

READ FULL TEXT

page 1

page 2

page 3

research
06/26/2019

Program Synthesis and Semantic Parsing with Learned Code Idioms

Program synthesis of general-purpose source code from natural language s...
research
08/13/2019

Type-Directed Program Synthesis and Constraint Generation for Library Portability

Fast numerical libraries have been a cornerstone of scientific computing...
research
12/31/2020

Automatic Synthesis of Parallel and Distributed Unix Commands with KumQuat

We present KumQuat, a system for automatically synthesizing parallel and...
research
10/20/2022

Forest: Structural Code Editing with Multiple Cursors

Software developers frequently refactor code. Often, a single logical re...
research
05/25/2022

Katara: Synthesizing CRDTs with Verified Lifting

Conflict-free replicated data types (CRDTs) are a promising tool for des...
research
03/30/2023

Synthesis of Mathematical programs from Natural Language Specifications

Several decision problems that are encountered in various business domai...
research
05/25/2023

Learning-Based Automatic Synthesis of Software Code and Configuration

Increasing demands in software industry and scarcity of software enginee...

Please sign up or login with your details

Forgot password? Click here to reset