摘要

作为人工智能工程化的实现工具,智能计算框架已在近年来被广泛应用,其可靠性对于人工智能的有效实现至关重要.然而,智能计算框架的可靠性保障具有挑战性,一方面,智能计算框架代码迭代迅速、测试困难;另一方面,与传统软件不同,智能计算框架涉及大量张量计算,其代码规范缺乏软件工程理论指导.为了解决这一问题,现有的工作主要使用模糊测试手段实现缺陷定位,然而,这类方法只能实现特定类型缺陷的精准定位,却难以即时地在开发过程中引导开发者关注软件质量.因此,将国内外常见的智能计算框架(TensorFlow,百度飞桨等)作为研究对象,选取多种变更特征构建数据集,在代码提交级别对智能计算框架进行即时缺陷预测.另外,在此基础上使用LDA主题建模技术挖掘代码和代码提交信息作为新的特征,并使用随机森林进行预测.结果发现AUC-ROC平均值为0.77,且语义信息可以略微提升预测性能.最后,使用可解释机器学习方法 SHAP分析各特征属性对模型预测输出的影响,发现:(1)基本特征对于模型的影响符合传统软件开发规律;(2)代码和提交信息中的语义特征对模型的预测结果有重要影响;(3)不同系统中的不同特征对模型预测输出的贡献度排序也存在较大差异.

全文