首页> 中文期刊>智能计算机与应用 >二次文本差异化的失配问题及其改进算法

二次文本差异化的失配问题及其改进算法

     

摘要

当前人工理解代码变更主要在文本差异化分析(textual code differencing)工具提供的Hunk集上进行,而有些工具还对每个Hunk进行二次差异化分析,并将结果展现在并排(side-by-side)的视图中,从而方便用户查看Hunk内部的变更.然而现有的二次差异化分析工具得到的结果普遍存在语句失配问题,即Hunk内部删除行与添加行之间的不恰当匹配以及配对的语句内部Token的拆分问题,影响理解事实的变更.本文首先对该问题的分布进行了调查,证实了其在二次差异化分析中的普遍性;其次,对该失配问题产生的原因进行了分析,并提出了一种对其改进的算法.该算法基于轻语法分析,将Hunk中的文本行映射为语句行,并将语句行识别为基于单词(Token)的序列;对所有的删除语句和添加语句进行相似性匹配,对于匹配的语句应用最长公共子序列算法获取其内部的差异Token.算法当前采用Java语言实现,并在一个自制的eclipse展示插件中对其结果予以展示.通过在5个开源项目上的实验,证明了该算法可以有效克服Hunk内语句行之间的失配以及Token的拆分问题.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号