系统软件与软件安全

研究组关于程序分析的两篇论文被SANER 2023(CCF B类会议)录用

发布时间:2023-03-31  浏览次数:101

IEEE 国际软件分析、演化和再工程会议(SANER)是关注从现有软件和系统中恢复信息的理论和实践的重要会议。该会议探索从软件、软件工程文档和系统实现中提取多种信息的创新方法,并研究在系统更新和程序理解中使用这些信息的创新方法。SANER 是中国计算机学会推荐的 B 类国际学术会议。

研究组在 2023 年第 30 届 SANER 会议 Research Track 和 ERA (Early Research Achievement) Track 分别录用了两篇文章。

1. 胡明哲,赵琦,张昱*,熊焰. Cross-Language Call Graph Construction Supporting Different Host Languages

该文提出了一种跨语言软件分析中构建外部映射的方法,建模外部函数声明的语义,抽象不同宿主语言和 C/C++ 互操作的多语言软件系统中的外部函数调用;通过图变换和函数融合算法构建完整的跨语言调用图;在 10 个应用、3 种互操作机制(基于 Python/C API 的 Python/C 互操作、基于 Pybind11 的 Python/C 接口生产、基于 Node.js C++ addons 的 JavaScript/C 互操作)上的实验表明该方法较已有的工作有更好的泛化能力和精度,同时保持了较好的时间效率。

2. 丁伯尧,张昱*,陈金宝,胡明哲,李清伟. CGORewritter: A better way to use C library in Go, ERA(早期研究工作)

该文提出了一种在Go中半自动生成C代码绑定的代码生成框架。与其他类似的代码生成工具不同的是,CGORewritter专注于为已有的Go代码库生成C代码绑定,从而支持在不改变Go函数API接口的情况下将其内部实现修改为对C函数的调用。该研究全面分析了在这种场景下进行代码生成所遇到的挑战;提出了一种用户描述语言Lgo2c-d来描述Go和C之间的接口映射关系;在用户描述文件的基础上结合对源码的分析得到映射规则,最终通过映射规则进行代码生成。利用CGORewritter,可以为Go标准库crypto生成OpenSSL的绑定,生成新包保持和原包功能的一致,并且有着平均1.93倍的性能提升。


研究组参会师生合影,左起:丁伯尧,张昱,胡明哲

地址:安徽省合肥市蜀山区黄山路443号     电话:0551-63603804         

中国科学技术大学网络信息中心制作维护