软件文档中近似重复的检测
软件工程
2018-10-10 v1
摘要
当代软件文档与软件本身一样复杂。在其生命周期中,文档累积了大量近似重复片段,即从单一来源复制并后来以不同方式修改的文本块。此类近似重复降低文档质量,从而妨碍其进一步利用。同时,由于其模糊性,它们难以手动检测。在本文中我们给出近似重复的正式定义,并提出一种在软件文档中检测它们的算法。该算法基于精确的软件克隆检测方法:将软件克隆检测工具 Clone Miner 改造用于检测文档中的精确重复。然后,我们的算法利用这些精确重复构建近似重复。我们使用 19 个开源和商业项目的文档评估所提算法。我们的评估非常全面——涵盖各类文档:设计与需求规约、编程指南与 API 文档、用户手册。总体而言,评估显示所有种类的软件文档都包含大量精确与近似重复。接下来,我们报告对 Linux 内核文档中检测到的近似重复所进行的手动分析。我们给出该分析的定量与定性结果,展示算法优势与不足,并讨论软件文档中重复管理的益处。
引用
@article{arxiv.1711.04705,
title = {Detecting Near Duplicates in Software Documentation},
author = {D. V. Luciv and D. V. Koznov and G. A. Chernishev and A. N. Terekhov},
journal= {arXiv preprint arXiv:1711.04705},
year = {2018}
}