Page 69 - 《软件学报》2025年第12期
P. 69

5450                                                      软件学报  2025  年第  36  卷第  12  期


                 据进行专业的预处理, 导致在网络传递时特征信息损失较大, 无法获得准确分类结果. 在精确度方面, FSLNets-
                 TLSA  模型表现最佳, 达到了      0.96, 这表明其预测结果是可靠. SANN       模型在这方面也表现良好, 而其他模型则相
                 对较低. 在召回率方面, FSLNets-TLSA     同样表现最佳为      0.96, 显示出其在捕捉正类别样本的能力较强. SANN            模型
                 使用  LSTM  模型和自注意力机制, 和本文模型结构存在部分相似性, 其实验结果也较为优异. GPT-4                          的损失由
                 API 返回的  Loss 转化计算得出的近似值, 其依赖于庞大模型和数据支持, 在语义解析中表现优异. 在                         F1  值方面,
                 FSLNets-TLSA  模型取得了最佳结果     0.96, F1  得分是精确度和召回率的综合度量, 因此综合来看, 本文模型在损失
                 值、精确度、召回率和        F1  值这  4  个方面均表现出色, 显示出其网络结构在识别时序逻辑语义任务中的优异性能.

                                                   表 6 语义分析模型对比

                                模型             Loss        Precision     Recall         F1
                                    [34]
                              FastText       0.609 382     0.928 826    0.928 826     0.928 826
                                   [35]
                               CNN           0.916 068     0.900 446    0.927 639     0.915 691
                                   [36]
                               RNN            1.657 27     0.928 826    0.942 857     0.928 826
                                   [37]
                               SANN           1.251 84     0.940 828    0.943 060     0.941 943
                                   [38]
                               HAN            5.768 62     0.928 826    0.928 826     0.928 826
                                   [39]
                               GPT-4         0.435 971     0.932 974    0.942 687     0.936 806
                             FSLNets-TLSA    0.240 276     0.965 517    0.962 912     0.964 213

                    • 问题  3: 模型增强模块是否能应对监控语义分析准确率较低的问题?
                    监控语义是     PPTL  在描述多核并行程序进程间交互起到关键作用, 尤其是在处理并发和通信方面. 监控语义
                 通过投影算子和同步通信机制, 不仅支持并发进程以不同的执行速率动态执行, 还能确保在交汇点处进程间的变
                 量共享, 从而保障系统行为的一致性和安全性. 这些特性使监控语义成为形式化验证中关注的重点, 尤其是在验证
                 多核并行程序的安全性质时. 这一点体现在其能够细致地捕捉到进程间的精确交互和同步要求, 是其他形式规约
                 难以覆盖的. 因此, 本文将监控语义与模型增强模块的设计紧密关联, 反映了监控语义在确保并行程序正确性中的
                 核心作用, 也符合提高形式规约质量的必要性的要求, 这对于形式化验证的成功实施是不可或缺的.
                    以  Java.Io  中一个标注为监控语义的需求文本为具体实例, 解释监控语义具体含义. 在进行                     Java 程序的运行时
                 验证时, 本文可通过逻辑表达式来明确操作的序列性要求. Java.Io                需求明确规定要确保程序在写数据库之前必须
                 先建立数据库连接, 且此顺序不能颠倒. 设命题             c 表示程序连接数据库的行为, 命题          w 表示程序写入数据库的行为.
                 PPTL  公式  □ ¬w;c 可用于描述这一性质. 根据本文第        2.4  节监控语义定义, 可对该性质进行解释: 在监控           Java 程序
                 的过程中, 若观察到某个时刻程序正在连接数据库, 并且在此之前未发生写数据库的操作, 则可断定程序在数据库
                 操作步骤上是正确的, 验证结果为           true. 相反, 若观察到程序在未先连接数据库的情况下正在写入数据库, 则表明
                 程序违反了设定的性质, 验证结果为           false. 若在执行过程中既没有连接数据库的操作, 也没有写数据库的操作, 那
                 么无法判断性质是否成立, 此时验证结果为              inconclusive.
                    本文统计了在数据集中标注为监控语义的语句, 极其稀疏仅占                     4%, 远小于训练所需的样本规模, 也难以维持
                 与其他时序标签样本的平衡性. 因此为了适应监控语义识别, 本文继续引入并改良了同义词替换和回译方法对监
                 控语义数据增强, 并集成了对抗训练模块, 以增强神经网络模型的有效性和鲁棒性, 解决了模型的过拟合问题. 为
                 了分析本模块添加的两个方法对模型性能的影响, 本文使用消融实验验证其两者性能, 在监控语义数据集中, 对比
                 了添加   EDA  数据增强和   PGD  对抗训练的实验效果, 准确率的结果如表            7  和图  7  所示.

                                                表 7 消融实验准确率对比结果

                                           模型                                准确度
                                       FSLNets-TLSA                         0.870 370
                                     FSLNets-TLSA+EDA                       0.907 407
                                     FSLNets-TLSA+PGD                       0.944 444
                                        FSLNets-MSA                         0.956 790
   64   65   66   67   68   69   70   71   72   73   74