Page 277 - 《软件学报》2021年第7期
P. 277

徐海燕  等:针对复杂用户评论的代码质量属性判断                                                        2195


                 主题处理规则有两种.
                    处理规则 1:若主题 Ti、Tj 对应的代码质量属性表现与表现结果无同一词,则主题 Ti、Tj 合并为同一个主
                 题.合并后的主题对应的代码质量属性为其中一个主题对应的代码质量属性;主题对应的代码质量属性表现为
                 Ti、Tj 对应代码质量属性表现的并集;主题对应的代码质量属性表现结果为 Ti、Tj 对应代码质量属性表现结
                 果的并集.
                    处理规则 2:若主题 Ti、Tj 对应的代码质量属性表现与表现结果具有同一词,则主题 Ti、Tj 合并为同一个
                 主题.合并后的主题对应的代码质量属性为其中一个主题对应的代码质量属性;主题对应的代码质量属性表现
                 为 Ti、Tj 主题对应代码质量属性表现去掉表现交集后与表现交集的并集;主题对应的代码质量属性表现结果
                 为 Ti、Tj 主题对应代码质量属性表现结果去掉表现结果交集后与表现结果交集的并集.
                    (2)  当复杂用户评论中两个主题 Ti、Tj 的主题间关系为因果关系时,则主题 Ti、Tj 合并为同一个主题.将
                 原因对应的主题的代码质量属性与代码质量属性表现作为合并后的主题的代码质量属性与代码质量属性表
                 现,原因对应的主题的代码质量属性表现结果与另一个主题的代码质量属性表现与表现结果的并集作为合并
                 后的主题对应的代码质量属性表现结果.
                    因此,基于表 2 中给出的主题间关系的定义,给出了针对同一主题的处理规则,见表 3.
                                              Table 3    Same topic processing rule
                                                  表 3   同一主题处理规则
                      序号  主题间关系                 主题处理规则                              示例
                                                                       (1)  编码格式不对一直报错,而且缩进不对
                                                                       (2)  登录功能不出来,还有验证功能也是
                           并列关系                                        (1)  代码的注释没有,缩进没有
                       1
                           (Ti,coo,Tj)          (1)  处理规则 1            (2)  编码格式不对乱码了,用的什么编码
                                               topic Ti=topic Tj,若     (1)  项目运行慢占用内存太多
                                     exp=exp Tiexp Tj=NULL,res=res Tires Tj=NULL,   (2)  函数命名格式不对缩进格式也有问题
                                    则 out={Topic={topic Ti},Expression={exp Ti,exp Tj},  (1)  代码很不错,比如代码注释写的很清晰,
                                          Expression_Result={res Ti,res Tj}}
                           承接关系                                        很容易看懂
                       2
                           (Ti,con,Tj)                                 (2)  代码功能强大,比如登录功能、自动刷
                                                (2)  处理规则 2
                                      topic Ti=topic Tj,若 exp=exp Tiexp TjNULL 或  新功能
                           转折关系              res=res Tires TjNULL,   (1)  代码可以使用,但是缺少了一些包
                       3                                               (2)  函数方法命名可以见名知意,但是命名
                           (Ti,tur,Tj)   则 out={Topic={topic Ti},Expression={exp,exp Ti-exp,
                                    exp Tj-exp},Expression_Result={res,res Ti-res,res Tj-res}  格式不太规范
                                                                       (1)  尽管没有注释,还是可以看得懂
                           让步关系
                       4                                               (2)  尽管控制流程有些小问题导致逻辑不
                           (Ti,alt,Tj)
                                                                       太清楚,数据流程检查了没啥问题
                                                (1)  处理规则 1
                                            topic Ti=topic Tj,若 Ti 为原因,
                                      则 out={Topic={topic Ti},Expression={exp Ti},   (1)  因为内存占用太多,代码运行速度慢
                           因果关系          Expression_Result={res Ti,exp Tj,res Tj}
                       5                                               (2)   代码运行速度慢,由于代码内存占用
                           (Ti,cal,Tj)          (2)  处理规则 2            太多
                                            topic Ti=topic Tj,若 Tj 为原因,
                                      则 out={Topic={topic Tj},Expression={exp Tj},
                                         Expression_Result={res Tj,exp Ti,res Ti}
                    与同一主题判断规则不同,多个主题之间由于不具有相同的代码质量属性,不能进行合并处理.但是,不同
                 主题间关系的不同,表现出了用户对不同主题的关注度存在差异.例如,当两个不同主题间为转折关系时,用户
                 一般更关注转折之后的主题,则在给出复杂用户评论判断结果时,转折之后的主题对应的代码质量属性相关信
                 息应该位于转折之前的主题对应的代码质量属性相关信息之前.因此,不能根据相同主题的处理规则对主题对
                 应的代码质量属性相关信息直接进行处理,而应根据主题间关系的不同进行相应的处理.根据主题间关系的不
                 同,本文对相同主题处理后得到的复杂用户评论的主题,给出主题判断的结果,对于用户更关注的主题,在判断
                 的结果中,该主题对应的代码质量属性相关信息位置越靠前.因此,根据主题间的关系不同,不同主题处理主要
                 有以下 4 种规则.
   272   273   274   275   276   277   278   279   280   281   282