近日,软件研究所谢冰教授课题组题为“Summary-based context-sensitive data-dependence analysis in presence of callbacks”的学术论文被第42届程序语言原理会议(ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL)所接收。POPL是程序语言领域历史最久、水平最高的国际会议,被国际期刊和会议的各种分区方法放在该领域的最高区域中。这是北京大学研究团队在该会议上的首次突破。此前,在该会议四十多年的历史上,中国大陆研究机构作为第一署名单位的学术论文仅在第39届会议上发表过一篇。
在现代软件开发中,每个程序都是建立在庞大复杂的软件库之上,这使得在分析一个小程序时也必须对软件库进行分析。为了减少对软件库的重复分析,就需要对软件库进行预分析,以建立软件库摘要。然而,当软件库存在回调函数时(即软件库调用未知程序的情况),已有方法只能建立不充分的摘要,导致在分析具体程序时仍然要重复分析软件库。谢冰课题组在计算软件库摘要时,创造性地引入一种原本用于描述自然语言语法的形式语言——tree adjoining language,提出了tree adjoining language可达性分析技术,以建立更充分的软件库摘要。初步的实验表明,该方法建立的摘要可使程序分析的效率平均提高8倍左右。
该项工作是与美国德克萨斯大学圣安东尼奥分校王啸吟博士、德克萨斯大学达拉斯分校张令明博士(二人均毕业于软件所)合作完成的。谢冰课题组博士研究生唐浩是该论文第一作者,软件所张路教授、梅宏教授也参与了研究工作。
该项工作得到了国家自然科学基金和科技部的资助。