使用基于决策树的提升分析的定量程序绘制

IF 1.7 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Journal of Computer Languages Pub Date : 2023-06-01 DOI:10.1016/j.cola.2023.101206
Aleksandar S. Dimovski
{"title":"使用基于决策树的提升分析的定量程序绘制","authors":"Aleksandar S. Dimovski","doi":"10.1016/j.cola.2023.101206","DOIUrl":null,"url":null,"abstract":"<div><p>We present a novel approach for resolving numerical program sketches under Boolean and quantitative objectives. The input is a program sketch, which represents a partial program with missing numerical parameters (holes). The aim is to automatically synthesize values for the parameters, such that the resulting complete program satisfies: a <em>Boolean (qualitative) specification</em> given in the form of assertions; and a <em>quantitative specification</em> that estimates the number of execution steps to termination and which the synthesizer is expected to optimize.</p><p>To address the above quantitative sketching problem, we encode a program sketch as a program family (a.k.a. Software Product Line) and use the specifically designed lifted analysis algorithms based on abstract interpretation for efficiently analyzing program families with numerical features. The elements of the lifted analysis domain are <em>decision trees</em>, in which decision nodes are labeled with linear constraints defined over numerical features and leaf nodes belong to an existing single-program analysis domain. First, we transform a program sketch into a program family, such that numerical holes correspond to numerical features and all possible sketch realizations correspond to variants in the program family. Then, we use a combination of forward (numerical) and backward (quantitative termination) lifted analysis of program families to find the variants (family members) that satisfy all assertions, and moreover are optimal with respect to the given quantitative objective. Such obtained variants represent the “correct &amp; optimal” realizations of the given program sketch.</p><p>We present a prototype implementation of our approach within the <span>FamilySketcher</span>\n<!--> <!-->tool for resolving C sketches with numerical data types. We have evaluated our approach on a set of numerical benchmarks, and experimental results confirm the effectiveness of our approach. In some cases, our approach provides speedups against the well-known sketching tool <span>Sketch</span>\n<!--> <!-->and resolves some numerical benchmarks that <span>Sketch</span>\n<!--> <!-->cannot handle.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101206"},"PeriodicalIF":1.7000,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Quantitative program sketching using decision tree-based lifted analysis\",\"authors\":\"Aleksandar S. Dimovski\",\"doi\":\"10.1016/j.cola.2023.101206\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>We present a novel approach for resolving numerical program sketches under Boolean and quantitative objectives. The input is a program sketch, which represents a partial program with missing numerical parameters (holes). The aim is to automatically synthesize values for the parameters, such that the resulting complete program satisfies: a <em>Boolean (qualitative) specification</em> given in the form of assertions; and a <em>quantitative specification</em> that estimates the number of execution steps to termination and which the synthesizer is expected to optimize.</p><p>To address the above quantitative sketching problem, we encode a program sketch as a program family (a.k.a. Software Product Line) and use the specifically designed lifted analysis algorithms based on abstract interpretation for efficiently analyzing program families with numerical features. The elements of the lifted analysis domain are <em>decision trees</em>, in which decision nodes are labeled with linear constraints defined over numerical features and leaf nodes belong to an existing single-program analysis domain. First, we transform a program sketch into a program family, such that numerical holes correspond to numerical features and all possible sketch realizations correspond to variants in the program family. Then, we use a combination of forward (numerical) and backward (quantitative termination) lifted analysis of program families to find the variants (family members) that satisfy all assertions, and moreover are optimal with respect to the given quantitative objective. Such obtained variants represent the “correct &amp; optimal” realizations of the given program sketch.</p><p>We present a prototype implementation of our approach within the <span>FamilySketcher</span>\\n<!--> <!-->tool for resolving C sketches with numerical data types. We have evaluated our approach on a set of numerical benchmarks, and experimental results confirm the effectiveness of our approach. In some cases, our approach provides speedups against the well-known sketching tool <span>Sketch</span>\\n<!--> <!-->and resolves some numerical benchmarks that <span>Sketch</span>\\n<!--> <!-->cannot handle.</p></div>\",\"PeriodicalId\":48552,\"journal\":{\"name\":\"Journal of Computer Languages\",\"volume\":\"75 \",\"pages\":\"Article 101206\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2023-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Computer Languages\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2590118423000163\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118423000163","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 4

摘要

我们提出了一种在布尔和定量目标下求解数值程序草图的新方法。输入是程序草图,表示缺少数值参数(孔)的部分程序。其目的是自动合成参数的值,使生成的完整程序满足:以断言形式给出的布尔(定性)规范;以及量化规范,其估计到终止的执行步骤的数量并且期望合成器优化该数量。为了解决上述定量草图问题,我们将程序草图编码为程序族(也称为软件产品线),并使用专门设计的基于抽象解释的提升分析算法来有效分析具有数字特征的程序族。提升分析域的元素是决策树,其中决策节点用在数值特征上定义的线性约束进行标记,叶节点属于现有的单个程序分析域。首先,我们将程序草图转换为程序族,使得数值孔对应于数值特征,并且所有可能的草图实现对应于程序族中的变体。然后,我们使用程序族的前向(数值)和后向(定量终止)提升分析的组合来找到满足所有断言的变体(族成员),并且对于给定的定量目标是最优的。这样获得的变体代表了给定程序草图的“正确和最佳”实现。我们在FamilySketcher工具中展示了我们的方法的原型实现,用于解析具有数字数据类型的C草图。我们在一组数值基准上评估了我们的方法,实验结果证实了我们方法的有效性。在某些情况下,我们的方法与著名的绘制工具Sketch相比提供了加速,并解决了Sketch无法处理的一些数字基准。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Quantitative program sketching using decision tree-based lifted analysis

We present a novel approach for resolving numerical program sketches under Boolean and quantitative objectives. The input is a program sketch, which represents a partial program with missing numerical parameters (holes). The aim is to automatically synthesize values for the parameters, such that the resulting complete program satisfies: a Boolean (qualitative) specification given in the form of assertions; and a quantitative specification that estimates the number of execution steps to termination and which the synthesizer is expected to optimize.

To address the above quantitative sketching problem, we encode a program sketch as a program family (a.k.a. Software Product Line) and use the specifically designed lifted analysis algorithms based on abstract interpretation for efficiently analyzing program families with numerical features. The elements of the lifted analysis domain are decision trees, in which decision nodes are labeled with linear constraints defined over numerical features and leaf nodes belong to an existing single-program analysis domain. First, we transform a program sketch into a program family, such that numerical holes correspond to numerical features and all possible sketch realizations correspond to variants in the program family. Then, we use a combination of forward (numerical) and backward (quantitative termination) lifted analysis of program families to find the variants (family members) that satisfy all assertions, and moreover are optimal with respect to the given quantitative objective. Such obtained variants represent the “correct & optimal” realizations of the given program sketch.

We present a prototype implementation of our approach within the FamilySketcher  tool for resolving C sketches with numerical data types. We have evaluated our approach on a set of numerical benchmarks, and experimental results confirm the effectiveness of our approach. In some cases, our approach provides speedups against the well-known sketching tool Sketch  and resolves some numerical benchmarks that Sketch  cannot handle.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Journal of Computer Languages
Journal of Computer Languages Computer Science-Computer Networks and Communications
CiteScore
5.00
自引率
13.60%
发文量
36
期刊最新文献
Editorial Board Code histories: Documenting development by recording code influences and changes in code A comprehensive meta-analysis of efficiency and effectiveness in the detection community MTable: Visual query interface for browsing and navigation in NoSQL data stores Mental stress analysis by measuring heart rate variability during learning programming: Comparison of visual- and text-based languages
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1