[发明专利]一种基于搜索的编译器优化序列故障定位方法在审
| 申请号: | 202110331114.4 | 申请日: | 2021-03-29 |
| 公开(公告)号: | CN113064821A | 公开(公告)日: | 2021-07-02 |
| 发明(设计)人: | 周志德;江贺;任志磊;高国军 | 申请(专利权)人: | 大连理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06N3/12 |
| 代理公司: | 大连理工大学专利中心 21200 | 代理人: | 隋秀文;温福雪 |
| 地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 搜索 编译器 优化 序列 故障 定位 方法 | ||
本发明提供了一种基于搜索的编译器优化序列故障定位方法,可用于C/C++语言的编译器优化序列故障定位,如开源编译器LLVM等;亦可根据特定编程语言的编译器特性,对本发明的相关步骤进行适配,从而定位该特定编程语言的编译器优化序列故障。本发明能够有效地对编译器优化序列故障进行分析定位,从而帮助编译器开发者更好、更快地理解与修复编译器优化序列相关的故障,提高编译器的质量。
技术领域
本发明属于软件编译领域,涉及一种用于定位编译器优化序列故障的技术,具体为一种基于搜索的编译器优化序列故障定位方法。
背景技术
编译器是整个软件开发过程中不可或缺的重要基础软件,其不仅将开发者用高级编程语言编写的程序转换为计算机可识别的机器码,而且要负责在编译过程中对目标程序进行优化,以最大限度地发挥目标程序的性能。随着编译技术的发展,现代编译器拥有了大量的代码优化技术。用户在使用编译器编译程序时,一般会使用多个优化组合成一条优化序列对目标程序进行优化。然而,编译器作为一种软件,也不可避免地会出现故障。特别是编译器优化更容易产生故障,各种优化之间可能存在相互影响,一种优化技术优化后的程序,可能使其他优化发挥更好的效果,也可能使其他优化失效,甚至出现故障。但是,当编译器开发者对编译器故障进行修复时,由于编译器自身规模较大,使得修复编译器故障较为耗时,尤其是编译优化序列相关的故障。因此,为帮助编译器开发者快速分析与修复编译器优化序列故障,确保编译器质量,编译器优化序列故障的自动定位就显得至关重要。
编译器优化序列故障自动定位是提升编译器开发者分析编译器优化序列故障效率的重要途径,其不仅能自动化地完成对编译器优化序列故障的分析,而且也能准确地报告优化序列故障出现的位置。然而,由于现代编译器中优化技术众多,使得分析与定位编译器优化序列故障复杂且耗时。虽然已有一些编译器故障定位技术的发明专利,但这些已有的发明专利面对编译器优化序列故障定位问题,仍存在适配困难、效率低等困难。例如,基于强化学习的编译器缺陷定位方法(专利号:CN202010880640.1)利用结构变异与强化学习生成编译成功的变异程序,从而通过对比变异程序和故障触发程序使编译器执行路径的差异来定位编译器故障;但该方法生成变异程序消耗时间长,难以高效地定位编译器优化序列故障。一种对编译器中的错误进行自动定位的方法(专利号:CN200510090093.2)和一种实现编译器错误的自动定位方法和装置(专利号:CN201010508986.5)则通过对比正确编译器和故障编译器输出的可执行程序来定位编译器中的故障,但该方法针对优化较多的编译器效率不高,以至于难以定位编译器优化序列故障。
因此,为了高效、准确地定位编译器优化序列故障,本发明通过对编译器优化序列进行搜索,寻找包含故障优化序列中的所有优化,但不会触发故障的优化序列,从而利用在不同优化序列下,编译器执行路径之间的差异对优化序列故障进行定位。
发明内容
为解决上述问题,本发明提供了一种基于搜索的编译器优化序列故障定位方法。本发明可用于C/C++语言的编译器优化序列故障定位,如开源编译器LLVM等;亦可根据特定编程语言的编译器特性,对本发明的相关步骤进行适配,从而定位该特定编程语言的编译器优化序列故障。
本发明的技术方案:
一种基于搜索的编译器优化序列故障定位方法,主要步骤如下:
步骤1:编译故障编译器,获取优化集合。
使用插桩的方式编译故障编译器C,并获取编译优化信息,构成优化集合O。
步骤2:获取触发编译器优化序列故障的程序p和优化序列s。
步骤3:获取故障时编译器的代码覆盖信息。
使用编译器C在优化序列s的作用下编译程序p,并获取编译器C执行过程中的代码覆盖信息ts;其中代码覆盖信息包括编译器执行时所涉及的文件以及文件中被执行的代码语句。
步骤4:搜索无故障优化序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110331114.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有防尘功能的激光切割装置
- 下一篇:一种涤纶面料防皱染整处理工艺





