Page 55 - 《软件学报》2021年第12期
P. 55

张杨  等:基于下推自动机的细粒度锁自动重构方法                                                         3719




































                                         Fig.4    Screenshot of the FLock
                                          图 4   FLock 重构工具界面

         5    实验评估

             本节对所提出的方法和工具进行了实验评估.首先对实验配置和测试程序进行介绍,然后从重构数目、改
         变的代码行数和时间等方面给出了实验结果,并对结果进行了分析                        [18] .
         5.1   实验配置
             所有实验都是在 HP Z240 工作站上完成的,该工作站搭载 Intel Core  i7-7700 处理器,该处理器主频为
         3.6GHz,有 4 个处理核,均支持超线程技术,可以支持 8 个线程同时运行,内存为 8GB.软件上,操作系统使用
         Ubuntu 16.04,使用 Eclipse 4.12.0 作为重构工具的开发平台,使用 JDK 1.8.0_221 和程序分析工具 WALA 1.52.
         5.2   测试程序
             本文选取了 11 个实际应用程序来验证我们重构工具的有效性和适用性,这些应用程序包括 HSQLDB                                [19] ,
         Jenkins [20] ,Cassandra [21] ,SPECjbb2005 [22] ,JGroups [23] ,Xalan [24] ,Fop [25] ,RxJava [26] ,Freedomotic [27] ,Antlr [28] ,MINA [29] .
         其中,HSQLDB 是一个开源的 Java 数据库,Cassandra 是 Apache 公司的开源分布式 NoSQL 数据库系统,Jenkins
         是一个开源的自动化服务器,JGroups 是群组通信工具,SPECjbb 2005 是 Java 应用服务器测试程序,Xalan 和 Fop
         分别是 Apache 公司的 XSLT 转换处理器和格式化对象处理器,RxJava 是 Netflix 公司的在 Java VM 上使用可观
         测的序列来组成异步的、基于事件的程序的库,Freedomotic 是一个开源的物联网框架,Antlr 是一个解析器生成
         器,MINA 是 Apache 公司的网络应用框架.这些程序的版本号信息、包含同步方法和同步块的个数以及源码行
         数见表 1.
   50   51   52   53   54   55   56   57   58   59   60