paperbot · PL 论文追踪

全部论文 待读 收藏

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

一种向现有代码库添加架构策略的程序合成方法
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021匹配度 2/10 · 论文属于传统程序合成与软件架构交叉方向,关注将架构策略片段合成并植入现有代码库,不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心研究方向。引用 0 inbox
Ali Shokri
crossref: 2026-09-12

AI 速览

一句话:提出一种程序合成方法,能根据程序上下文合成架构策略片段并正确植入现有代码库。

程序合成领域虽已发展数十年,但现有方法通常高度依赖程序员提供规约,并把合成代码集成到现有代码库的工作留给开发者。对于具有程序范围影响的架构策略而言,合成与复用更困难:需要根据程序不同位置的上下文进行合成,拆分为较小片段,并添加到代码中的相应位置;每个片段还必须与周围环境以及其他合成片段建立正确的数据依赖和控制依赖。这对新手开发者尤其易错且困难。本文提出一种新的程序合成方法,面向现有代码库合成并添加架构策略。摘要未报告具体实现或实证评估结果。

问题
现有程序合成方法依赖程序员提供规约,且不负责将合成代码集成到现有代码库;合成并植入具有程序级影响的架构策略尤其困难。
方法
提出一种面向现有代码库的程序合成方法,按程序不同位置的上下文合成架构策略,将其分解为片段并植入相应位置,同时建立与周围环境及其他片段的数据/控制依赖。
评估
摘要未给出评估方式或实验结果,仅提出方法。
原文摘要(Abstract)

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 suffer from a twofold issue: highly relying on the programmer for providing the specifications, and leaving the task of incorporating the synthesized code 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 and adds architectural tactics to an existing code base.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6519,
  title = {A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base},
  author = {Ali Shokri},
  booktitle = {ASE},
  year = {2021},
  doi = {10.1109/ase51524.2021.9678705}
}