跳到主要内容
研究论文
开放式访问

基于贝叶斯优化学习的自适应静态分析

出版:2018年11月16日 出版历史
  • 获取引文提醒
  • 摘要

    为真实世界的程序构建一个经济高效的静态分析器仍然被视为一门艺术。造成这种可怕声誉的一个关键因素是难以平衡分析器的成本和精度。理想的分析仪应适应给定的分析任务,避免使用不必要地提高精度和增加分析成本的技术。然而,实现这一理想非常重要,它需要大量的工程努力。
    在本文中,我们提出了一种新的基于学习的自适应静态分析方法。在我们的方法中,分析包括一个复杂的参数化策略,该策略决定对于给定程序的每个部分,是否对该部分应用精度改进技术。我们提出了一种通过贝叶斯优化从现有的代码库中学习这种策略的良好参数的方法。学习的策略然后用于新的、看不见的节目。使用我们的方法,我们开发了现实C静态分析器的部分流和上下文敏感变体。实验结果表明,使用贝叶斯优化对于从现有代码库中学习至关重要。此外,它们还表明,在所有需要流或上下文敏感的程序查询中,我们的部分流和上下文敏感分析回答了其中75%的问题,而分析成本只增加了基线流和上下文相关分析的3.3倍,而不是完全敏感版本的40倍或更多。

    工具书类

    [1]
    T.Ball和S.Rajamani。2002.SLAM项目:通过静态分析调试系统软件。在POPL会议记录中。
    [2]
    Nels E.Beckman和Aditya V.Nori,2011年。类型状态规范的概率、模块化和可扩展推理。PLDI会议记录。211--221.
    [3]
    Eric Brochu、Vlad M.Cora和Nando de Freitas。2010年,昂贵成本函数的贝叶斯优化教程,应用于主动用户建模和分层强化学习。CoRR abs/1012.2599。检索自http://arxiv.org/abs/1012.2599。
    [4]
    S.Chaki、E.Clarke、A.Groce、S.Jha和H.Veith。2003年,软件组件的模块化验证,摘自《ICSE会议录》。
    [5]
    Patrick Cousot和Radhia Cousot。1977.抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。在POPL会议记录中。238--252.
    [6]
    L.戴。1996。离散事件动态系统模拟中序数比较的收敛特性。J.优化。理论应用。91, 2 (1996), 363--388.
    [7]
    S.Grebenshchikov、A.Gupta、N.Lopes、C.Popeea和A.Rybalchenko。2012.HSF(C):基于horn子句的软件验证器。在TACAS会议记录中。
    [8]
    B.Gulavani、S.Chakraborty、A.Nori和S.Rajamani。2008.自动精炼抽象解释。在TACAS会议记录中。
    [9]
    Ashutosh Gupta、Rupak Majumdar和Andrey Rybalchenko。2013年,从测试到证明。STTT 15,4(2013),291--303。
    [10]
    T.Henzinger、R.Jhala、R.Majumdar和K.McMillan。2004年,证据摘要。在POPL会议记录中。
    [11]
    T.Henzinger、R.Jhala、R.Majumdar和G.Sutre。2003.使用BLAST进行软件验证。在SPIN软件模型检查研讨会的会议记录中。
    [12]
    于智浩。1999.序数优化的解释:硬问题的软计算。信息。科学。113, 34 (1999), 169--192.
    [13]
    Frank Hutter、Holger H.Hoos和Kevin Leyton-Brown。2011.通用算法配置的基于顺序模型的优化。狮子会会议记录。
    [14]
    泰德·克雷梅内克(Ted Kremenek)、安德鲁·Ng(Andrew Y.Ng)和道森·R·恩格尔(Dawson R.Engler)。2007.软件缺陷发现的因子图模型。在IJCAI会议记录中。2510--2516.
    [15]
    Percy Liang、Omer Tripp和Mayur Naik。2011.学习最低限度的抽象知识。在POPL会议记录中。
    [16]
    V.Benjamin Livshits、Aditya V.Nori、Sriram K.Rajamani和Anindya Banerjee。2009.梅林:显式信息流问题的规范推断。PLDI会议记录。
    [17]
    阿隆·米什内(Alon Mishne)、莎朗·肖姆(Sharon Shoham)和埃兰·雅哈(Eran Yahav)。2012.对部分程序进行基于类型状态的语义代码搜索。在OOPSLA会议记录中。997--1016.
    [18]
    乔纳斯·莫库斯。贝叶斯方法在全局和随机优化数值方法中的应用。J.全球优化。4, 4 (1994).
    [19]
    Mayur Naik、Hongseok Yang、Ghila Castelnuovo和Mooly Sagiv。2012.测试摘要。在POPL会议记录中。
    [20]
    George C.Necula、Scott McPeak、Shree Prakash Rahul和Westley Weimer。CIL:用于分析和转换C程序的中间语言和工具。在CC会议记录中。斯普林格·弗拉格,伦敦,213-228。检索自http://dl.acm.org/citation.cfm?id和equals;647478.727796.
    [21]
    Aditya V.Nori和Rahul Sharma。2013.测试的终止证明。FSE会议记录。
    [22]
    Oh Hakjoo、Wonchan Lee、Kihong Heo、Hongseok Yang和Kwangkeun Yi。2014.影响预分析指导下的选择性上下文敏感性。PLDI会议记录。
    [23]
    Hakjoo Oh、Kihong Heo、Wonchan Lee、Woosuk Lee和Kwangkeun Yi。2012.类C语言稀疏全局分析的设计和实现。PLDI会议记录。
    [24]
    Oh Hakjoo、Heo Kihong、Wonchan Lee、Woosuk Lee和Kwangkeun Yi。2014.麻雀。检索自http://ropas.snu.ac.kr/sparrow。
    [25]
    Hakjoo Oh、Hongseok Yang和Kwangkeun Yi。2015年。学习通过贝叶斯优化调整程序分析的策略。OOPSLA会议记录。
    [26]
    卡尔·爱德华·拉斯穆森和克里斯托弗·威廉姆斯。2005年,机器学习的高斯过程(自适应计算和机器学习)。麻省理工学院出版社。
    [27]
    韦塞林·雷切夫(Veselin Raychev)、马丁·维切夫(Martin Vechev)和安德烈亚斯·克劳斯(Andreas Krause)。2015.从“大代码”预测程序属性。《POPL会议录》。
    [28]
    Veselin Raychev、Martin Vechev和Eran Yahav。2014年,使用统计语言模型完成代码。PLDI会议记录。
    [29]
    Sriram Sankaranarayanan、Swarat Chaudhuri、Franjo Ivancic和Aarti Gupta。2008.通过树学习对谓词进行可能的数据前提条件的动态推断。ISSTA会议记录。
    [30]
    Sriram Sankaranarayanan、Franjo Ivancic和Aarti Gupta。2008.使用归纳逻辑编程挖掘库规范。ICSE会议记录。
    [31]
    埃里克·施库夫扎(Eric Schkufza)、拉胡尔·夏尔马(Rahul Sharma)和亚历克斯·艾肯(Alex Aiken)。2014.浮点程序的随机优化,精度可调。PLDI会议记录。ACM,纽约州纽约市,53-64。
    [32]
    Rahul Sharma、Saurabh Gupta、Bharath Hariharan、Alex Aiken、Percy Liang和Aditya V.Nori,2013年。代数循环不变量的数据驱动方法。在《员工持股计划程序》中。
    [33]
    Rahul Sharma、Saurabh Gupta、Bharath Hariharan、Alex Aiken和Aditya V.Nori,2013年。验证是学习几何概念。在SAS会议记录中。
    [34]
    Rahul Sharma、Aditya V.Nori和Alex Aiken。2012.刑警作为分类器。在CAV会议记录中。
    [35]
    亚尼斯·斯马拉格达基斯(Yannis Smaragdakis)、乔治·卡斯特里尼斯(George Kastrinis)和乔治·巴拉索拉斯(GeorgeBalatsouras)。2014.反思性分析:全面的上下文敏感性。在PLDI会议记录中。
    [36]
    贾斯珀·斯诺克(Jasper Snoek)、雨果·拉罗谢尔(Hugo Larochelle)和瑞安·亚当斯(Ryan P.Adams)。2012.机器学习算法的实用贝叶斯优化。在NIPS会议记录中。
    [37]
    雷纳·斯托恩和肯尼斯·普莱斯。差分进化——一种简单有效的启发式算法,用于连续空间上的全局优化。J.全球优化。11 (1997), 341--359. 第4版。
    [38]
    David J.Wales和Jonathan P.K.Doye。1997年,通过碱基跳跃和包含多达110个原子的lennard-jones团簇的最低能量结构进行全局优化。《物理学杂志》。化学。A 101,28(1997),5111--5116。
    [39]
    张欣(Xin Zhang)、拉维·曼格尔(Ravi Mangal)、拉杜·格里戈尔(Radu Grigore)、马尤尔·奈克(Mayur Naik)和杨洪seok Yang。2014.关于数据日志中程序分析的抽象细化。PLDI会议记录。
    [40]
    张欣(Xin Zhang)、Naik Mayur和Yang Hongseok。2013.在参数数据流分析中找到最佳抽象。PLDI会议记录。

    引用人

    查看全部
    • (2021)SootFX:Java和Android的静态代码特征提取工具2021年IEEE第21届国际源代码分析与处理工作会议(SCAM)10.1109/SCAM52516.2021.00030(181-186)在线发布日期:2021年9月
    • (2021)有效声侧信道分析的数据驱动合成第43届软件工程国际会议论文集10.1109/ICSE43902.2021.00079(810-822)在线发布日期:2021年5月22日
    • (2021)根据自定义使用场景自动定制抽象解释计算机辅助验证10.1007/978-3-030-81688-9_36(777-800)在线发布日期:2021年7月20日

    索引术语

    1. 基于贝叶斯优化学习的自适应静态分析

        建议

        评论

        信息和贡献者

        问询处

        发布于

        封面图片ACM编程语言和系统汇刊
        程序设计语言与系统学报 第40卷第4期
        2018年12月
        191页
        国际标准编号:0164-0925
        EISSN公司:1558-4593
        内政部:10.1145/3292525
        期刊目录
        如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人拥有的本作品组件的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        出版:2018年11月16日
        认可的:2017年6月1日
        修订过的:2017年4月1日
        收到:2016年3月1日
        在TOPLAS中发布体积40,发行4

        权限

        请求对此文章的权限。

        检查更新

        作者标记

        1. 贝叶斯优化
        2. 静态程序分析
        3. 数据驱动程序分析

        限定符

        • 研究文章
        • 研究
        • 推荐

        资金来源

        • 信息8通信技术促进研究所(IITP)
        • 自主学习网络免疫技术的发展
        • 信息8通信技术促进研究所(IITP)
        • 韩国政府(MSIT)
        • 三星研究基金8三星电子孵化中心

        贡献者

        其他指标

        文献计量学和引文

        文献计量学

        文章指标

        • 下载次数(过去12个月)96
        • 下载次数(最近6周)11

        其他指标

        引文

        引用人

        查看全部
        • (2021)SootFX:Java和Android的静态代码特征提取工具2021年IEEE第21届国际源代码分析与处理工作会议(SCAM)10.1109/SCAM52516.2021.00030(181-186)在线发布日期:2021年9月
        • (2021)有效声侧信道分析的数据驱动合成第43届软件工程国际会议论文集10.1109/ICSE43902.2021.00079(810-822)在线发布日期:2021年5月22日
        • (2021)根据自定义使用场景自动定制抽象解释计算机辅助验证10.1007/978-3-030-81688-9_36(777-800)在线发布日期:2021年7月20日

        视图选项

        查看选项

        PDF格式

        以PDF文件查看或下载。

        PDF格式

        电子阅读器

        使用联机查看电子阅读器.

        电子阅读器

        HTML格式格式

        在中查看本文HTML格式格式。

        HTML格式

        获取访问权限

        登录选项

        完全访问权限

        媒体

        数字

        其他

        桌子

        分享

        分享

        共享此出版物链接

        在社交媒体上分享