×

通过合并库事实加速数据日志中的程序分析。 (英语) Zbl 1497.68085号

Drágoi,Cezara(编辑)等人,《静态分析》。第28届国际研讨会,SAS 2021,芝加哥,伊利诺伊州,美国,2021年10月17日至19日。诉讼程序。查姆:斯普林格。莱克特。票据计算。科学。12913, 77-101 (2021).
概要:静态程序分析使用敏感性来平衡精度和可伸缩性。然而,更精细的灵敏度不一定会导致更精确的结果,但可能会降低可伸缩性。最近,提出了许多方法来微调不同程序部分的灵敏度。然而,这些方法通常是为特定的程序分析设计的,它们的抽象调整是粗粒度的,因为它们直接删除了敏感元素。
在本文中,我们提出了一种新的技术,4DM,用于调整数据日志中程序分析的抽象。4DM合并域中的值,允许细粒度灵敏度调整。4DM使用数据驱动算法从一组训练程序中自动学习库的合并策略。与依赖于特定分析属性的现有方法不同,我们的学习算法适用于广泛的数据日志分析。我们已经在DaCapo基准套件上对我们的方法进行了点到分析和活性分析。我们的评估结果表明,我们的技术实现了显著的加速和可忽略的精度损失,达到了良好的平衡。
有关整个系列,请参见[Zbl 1489.68011号].

MSC公司:

68甲15 编程语言理论
68N17号 逻辑编程
第68页,共15页 数据库理论

软件:

达卡波
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Barbuti,R。;Giacobazzi,R。;Levi,G.,基于语义的逻辑程序自底向上抽象解释的一般框架,ACM Trans。程序。语言系统。(托普拉斯),15,1,133-181(1993)·doi:10.1145/151646.151650
[2] Blackburn,S.M.等人:DaCapo基准测试:Java基准测试开发和分析。摘自:《面向对象编程系统、语言和应用第21届ACM SIGPLAN年会论文集》,OOPSLA 2006,第169-190页。ACM,纽约(2006)
[3] Bravenboer,M.,Smaragdakis,Y.:对复杂分析点的严格声明性规范。在:第24届ACM SIGPLAN面向对象编程系统语言与应用会议论文集,第243-262页(2009)
[4] 科尔特斯,A。;Filé,G.,《逻辑程序的抽象解释:基础性、共享性、自由性和复合性分析的抽象域》,ACM SIGPLAN Not。,26, 9, 52-61 (1991) ·doi:10.145/115866.115872
[5] 库索特,P。;库索特,R.,《逻辑程序的抽象解释和应用》,J.Log。程序。,13, 2, 103-179 (1992) ·Zbl 0776.68024号 ·doi:10.1016/0743-1066(92)90030-7
[6] 德布雷,S.K.:逻辑程序的全局优化(分析、转换、编译)(1987)
[7] Delzanno,G。;Giacobazzi,R。;Ranzato,F。;Dovier,A。;Pontelli,E.,《(约束逻辑)编程中的静态分析、抽象解释和验证》,《逻辑编程25年展望》,136-158(2010),海德堡:斯普林格·Zbl 1285.68030号 ·doi:10.1007/978-3642-14309-07
[8] Fähndrich,M.,Foster,J.S.,Su,Z.,Aiken,A.:包含约束图中的部分在线循环消除。摘自:1998年6月17日至19日加拿大蒙特利尔ACM SIGPLAN编程语言设计与实现会议记录,第85-96页(1998)
[9] Hardekopf,B.,Lin,C.:蚂蚁和蚱蜢:对数百万行代码进行快速准确的指针分析。摘自:2007年6月10日至13日在美国加利福尼亚州圣地亚哥举行的2007年ACM SIGPLAN编程语言设计与实现会议记录,第290-299页(2007)
[10] Jeon,M.、Jeong,S.、Oh,H.:通过数据驱动的上下文隧道实现精确和可伸缩的分析点。PACMPL 2(OOPSLA),140:1-140:29(2018)
[11] Jeong,S.,Jeon,M.,Cha,S.D.,Oh,H.:针对分析点的数据驱动上下文敏感性。PACMPL 1(OOPSLA),100:1-100:28(2017)
[12] Kulkarni,S.、Mangal,R.、Zhang,X.、Naik,M.:通过跨项目训练加速项目分析。摘自:2016年ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录,OOPSLA 2016,SPLASH 2016部分,荷兰阿姆斯特丹,2016年10月30日至11月4日,第359-377页(2016)
[13] Lhoták,O.,Hendren,L.J.:上下文敏感点——分析:值得吗?摘自:编译器构造,第15届国际会议论文集,CC 2006,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2006,奥地利维也纳,2006年3月30日至31日,第47-64页(2006)
[14] Li,Y.,Tan,T.,Möller,A.,Smaragdakis,Y.:指针分析的精确引导上下文敏感性。PACMPL 2(OOPSLA),141:1-141:29(2018)
[15] Li,Y.,Tan,T.,Möller,A.,Smaragdakis,Y.:具有自调整上下文敏感性的可伸缩性优先指针分析。摘自:2018年ACM欧洲软件工程联合会议会议记录和软件工程基础研讨会,ESEC/SIGSOFT FSE 2018,Lake Buena Vista,FL,USA,2018年11月4日至9日,第129-140页(2018)
[16] Liang,P.,Tripp,O.,Naik,M.:学习最小抽象。摘自:第38届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,2011年POPL,美国德克萨斯州奥斯汀,2011年1月26-28日,第31-42页(2011)·Zbl 1284.68519号
[17] 尼尔森,F。;尼尔森,人力资源;Hankin,C.,《程序分析原理》(1999),海德堡:斯普林格出版社·Zbl 0932.68013号 ·doi:10.1007/978-3-662-03811-6
[18] pjBench:并行Java基准测试(2014)
[19] Shivers,O.:高阶语言的控制流分析(1991)
[20] Smaragdakis,Y.,Kastrinis,G.,Balatsouras,G.:反思性分析:全面的语境敏感性。摘自:第35届ACM SIGPLAN编程语言设计与实现会议记录,PLDI 2014,第485-495页。ACM,纽约(2014)
[21] Tan,T.,Li,Y.,Xue,J.:高效而精确的分析要点:通过合并等价自动机对堆进行建模。摘自:第38届ACM SIGPLAN编程语言设计与实现会议记录,PLDI 2017,第278-291页。ACM,纽约(2017)
[22] Tang,H。;王,D。;熊,Y。;张,L。;王,X。;张,L。;Yang,H.,用于完整和高效库摘要的条件Dyck CFL可达性分析,编程语言和系统,880-908(2017),海德堡:施普林格,海德堡·Zbl 1485.68075号 ·doi:10.1007/978-3-662-54434-1_33
[23] Tang,H.,Wang,X.,Zhang,L.,Xie,B.,Zhang,L.,Mei,H.:存在回调时基于摘要的上下文敏感数据依赖性分析。摘自:2015年1月15日至17日在印度孟买举行的第42届ACM SIGPLAN-SIGACT编程语言原则年会论文集,POPL 2015,第83-95页(2015)·Zbl 1346.68066号
[24] Xiao,X.,Zhang,C.:几何编码:构建高性能上下文敏感点,用于Java分析。摘自:2011年7月17日至21日在加拿大安大略省多伦多举行的第20届国际软件测试与分析研讨会论文集,第188-198页(2011)
[25] Xu,G.,Rountev,A.:合并等效上下文以进行可扩展堆克隆的上下文敏感点分析。摘自:《2008年软件测试与分析国际研讨会论文集》,ISSTA 2008,第225-236页。ACM,纽约(2008)
[26] Yan,H.,Sui,Y.,Chen,S.,Xue,J.:时空上下文还原:一种基于指针分析的静态方法,用于检测无使用后漏洞。摘自:第40届国际软件工程会议记录,ICSE 2018,瑞典哥德堡,2018年5月27日至6月3日,第327-337页。ACM(2018)
[27] Zhang,X.、Mangal,R.、Grigore,R.,Naik,M.、Yang,H.:关于数据日志中程序分析的抽象细化。摘自:ACM SIGPLAN编程语言设计与实现会议,PLDI 2014,英国爱丁堡,2014年6月9日至11日,第239-248页。ACM(2014)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。