Page 100 - 《软件学报》2021年第9期
P. 100

2724                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021














                              Fig.7    Comparison of results of Python group and Java group
                                     图 7   Python 组和 Java 组实验结果对比

         4.3   多阶段评估日志打印位置决策
             本实验旨在评估特征向量生成步骤与日志打印决策模型的效果.在特征向量生成评估中,仅利用基础分类
         模型,包括 Logistic 回归(logistic regression,简称 LR)、k-最近邻(k-nearest neighbor,简称 kNN)和支持向量机
         (support vector machine,简称 SVM)的分类效果来评估所生成的特征向量的质量.在日志打印决策评估中,则对
         比分析了加入迁移学习模型后和仅使用基础分类模型的效果.
             图 8 为特征向量生成步骤的实验结果.
             •   在版本升级(跨版本决策)场景中,Java 组的平均准确率为 0.959,平均 F1 为 0.865;在 Python 组中,平均
                准确度为 0.664,平均 F1 为 0.469;
             •   在新组件开发(跨组件决策)场景中,Java 组的平均准确率为 0.943,平均 F1 为 0.838;同时,Python 组的平
                均准确率为 0.649,平均 F1 为 0.644;
             •   在新的系统开发(跨系统决策)场景中,Java 组的平均准确率为 0.960,平均 F1 为 0.899;而 Python 组的平
                均准确率为 0.667,平均 F1 为 0.527.
             结果表明,特征向量生成方法可以有效地从源代码中提取特征向量.即使使用基本的简单分类模型,Java 组
         中的实验结果也达到 0.9 以上的精确度和 0.8 以上的 F1.










                                              (a)  准确率实验结果











                                                (b) F1 实验结果
                                 Fig.8    Experiment result of feature vector generation
                                   图 8   特征向量生成步骤效果验证实验结果
   95   96   97   98   99   100   101   102   103   104   105