Page 196 - 《软件学报》2026年第5期
P. 196

潘伟丰 等: 基于动态分析和引力公式的关键类识别                                                        2075


                    从图  6  可知, 当采用  DWM  为  CCN  中不同类型的耦合赋权时: 1) 没有一种方法在这             8  个系统的  15  个阈值处
                 均取得最好的结果; 2) 当阈值等于         15%  时, 除了  Maze 系统之外, CDAG  在其他   7  个系统上均优于    (或不差于) 11
                 种对比方法; 3) 当阈值从      1%  以步长  1%  增加到  14%  的过程中, CDAG  在大部分情况下优于        (或不差于) 其他    11
                 种对比方法; 4) 在部分阈值处, CDAG       比  iFit (如  jEdit 的  1%  和  2%  处)、ICOOK (如  jHotDraw  的  2%  和  5%  处)、
                 h-index (如  jEdit 的  2%  处)、Pride (如  jEdit 的  2%  处) 略差. 当采用  OWM  或  EWM  为  CCN  中不同类型的耦合赋
                 权时, 我们也得到了类似的结果         (结果如图    7  和图  8  所示).

                                                                                     0.8
                   1.0                   1.0                   1.0
                                                                                     0.7
                   0.8                   0.8                   0.8                   0.6
                                                                                     0.5
                   0.6
                                         0.6
                                                               0.6
                  Recall  0.4           Recall  0.4           Recall  0.4           Recall  0.4
                                                                                     0.3
                   0.2                   0.2                   0.2                   0.2
                                                                                     0.1
                    0                     0                     0
                                                                                      0
                      0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16
                            k (%)                 k (%)                 k (%)                 k (%)
                          (a) argoUML            (b) jEdit            (c) jHotDraw          (d) jMeter
                   1.0                  0.40
                   0.9                  0.35                   1.0                   1.0
                   0.8                  0.30
                   0.7                  0.25                   0.8                   0.8
                   0.6
                  Recall  0.5           Recall  0.20          Recall  0.6           Recall  0.6
                   0.4
                   0.3                  0.15                   0.4                   0.4
                   0.2                  0.10                   0.2                   0.2
                   0.1                  0.05
                    0                     0                     0                     0
                  −0.1
                     0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16
                            k (%)                 k (%)                 k (%)                 k (%)
                           (e) Mars              (f) Maze             (g) PDFBox             (h) wro4j
                                          a-index  PageRankBR  PageRank  ICOOK  h-index  k-core
                                          PageRankIVOL  ElementRank  Pride  MinClass  iFit  CDAG
                                图 7 Recall@top-k (使用  OWM  为不同类型的耦合赋权, k 为百分比形式)

                                                                                     0.8
                   1.0                   1.0                   1.0
                                                                                     0.7
                   0.8                   0.8                   0.8                   0.6
                                                                                     0.5
                   0.6
                  Recall  0.4            Recall  0.4          Recall  0.4           Recall  0.4
                                                               0.6
                                         0.6
                                                                                     0.3
                   0.2                   0.2                   0.2                   0.2
                                                                                     0.1
                    0                     0                     0
                                                                                      0
                      0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16
                            k (%)                 k (%)                 k (%)                 k (%)
                          (a) argoUML            (b) jEdit            (c) jHotDraw          (d) jMeter
                   1.0                  0.40
                   0.9                  0.35                   1.0                   1.0
                   0.8                                         0.8                   0.8
                   0.7                  0.30
                                        0.25
                   0.6
                  Recall  0.5           Recall  0.20          Recall  0.6           Recall  0.6
                   0.4
                   0.3                  0.15                   0.4                   0.4
                   0.2                  0.10                   0.2                   0.2
                   0.1                  0.05
                    0                     0                     0                     0
                  −0.1
                     0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16  0  2  4  6  8 10 12 14 16
                            k (%)                 k (%)                 k (%)                 k (%)
                           (e) Mars              (f) Maze             (g) PDFBox             (h) wro4j
                                          a-index  PageRankBR  PageRank  ICOOK  h-index  k-core
                                          PageRankIVOL  ElementRank  Pride  MinClass  iFit  CDAG
                                图 8 Recall@top-k (使用  EWM  为不同类型的耦合赋权, k 为百分比形式)

                    如前所述, 没有一种方法在所有          8  个系统的  15  个阈值上都表现的最好. 这促使我们进一步分析不同方法在整
                 个测试集   (8  个系统) 上的整体性能. 为此, 我们引入了         Friedman  检验  (Friedman test) [40] . Friedman  检验是一种无参
                 数统计检验方法, 可以根据不同方法在不同软件某一相同阈值处的                      Recall 值, 计算特定阈值处不同方法在整个测
   191   192   193   194   195   196   197   198   199   200   201