面向软件工程中存在大量异构数据,重点关注软件工程领域相关数据迅速膨胀背景下,如何应对海量、瞬时、多样和可变等软件工程大数据的机遇与挑战。针对关键技术和瓶颈问题开展系统研究,通过深入挖掘软件工程领域知识,分析和解决软件代码与接口分析失配、异常原因分类、问题定位困难等关键问题。
(1)解决自然语言与软件代码语义失配问题
针对软件代码与接口分析失配问题,提出软件语言语义适配框架[1],如图1,解决自然语言单词和软件接口的低维向量表示问题,通过对自然语言和代码的统一表示将两者进行关联,帮助开发人员理解软件代码,有效降低开发人员学习软件代码的难度。
图1软件语言语义适配算法框架
(2)提升工业界测试异常分类精度
针对工业界在测试脚本分析中测试异常原因分类困难的问题,提出面向系统集成测试过程的测试Bug原因自动分类算法[2],帮助测试人员自动分析测试脚本执行失败原因,提升测试人员识别软件产品缺陷、提交Bug报告的效率。算法将工业界的测试脚本分析准确率从20%提升至70%,将我国软件企业的测试脚本分析技术提升至国际先进水平。测试异常原因分类框架与成果转化情况如图2所示。
图2测试异常原因分类框架与成果转化情况
(3)软件不可重复编译定位自动化
针对软件的不可重复编译问题,首次提出自动化定位框架,如图3;提出基于多源信息融合的软件不可重复编译定位方法[3],解决在验证软件编译环境可靠性领域的重要研究问题,算法有效实现了对开源软件数据的不可重复问题自动化定位问题文件。相关工作均发表于CCF A类国际会议。其中软件的不可重复编译定位研究成果获得ACM SIGSOFT杰出论文奖。
图3不可重复编译自动定位框架
该研究方向发表如下代表性论文:
[1] He Jiang, Jingxuan Zhang, Zhilei Ren, and Tao Zhang. An Unsupervised Approach for Discovering Tutorial Fragments Explaining APIs. In Proc. of 39th IEEE International Conference on Software Engineering (ICSE'17)
[2] He Jiang, Xiaochen Li, Zijiang Yang, and Jifeng Xuan. What Causes My Test Alarm? Automatic Cause Analysis for Test Alarms in System and Integration Testing. In Proc. of 39th IEEE International Conference on Software Engineering (ICSE'17)
[3] Zhilei Ren, He Jiang, Jifeng Xuan, and Zijiang Yang. Automated Localization for Unreproducible Builds. In Proc. of 40th IEEE International Conference on Software Engineering (ICSE'18) (ACM SIGSOFT Distinguished Paper Award).