Detecting Near Duplicates in Software Documentation

11/13/2017
by   D. V. Luciv, et al.
0

Contemporary software documentation is as complicated as the software itself. During its lifecycle, the documentation accumulates a lot of near duplicate fragments, i.e. chunks of text that were copied from a single source and were later modified in different ways. Such near duplicates decrease documentation quality and thus hamper its further utilization. At the same time, they are hard to detect manually due to their fuzzy nature. In this paper we give a formal definition of near duplicates and present an algorithm for their detection in software documents. This algorithm is based on the exact software clone detection approach: the software clone detection tool Clone Miner was adapted to detect exact duplicates in documents. Then, our algorithm uses these exact duplicates to construct near ones. We evaluate the proposed algorithm using the documentation of 19 open source and commercial projects. Our evaluation is very comprehensive - it covers various documentation types: design and requirement specifications, programming guides and API documentation, user manuals. Overall, the evaluation shows that all kinds of software documentation contain a significant number of both exact and near duplicates. Next, we report on the performed manual analysis of the detected near duplicates for the Linux Kernel Documentation. We present both quantative and qualitative results of this analysis, demonstrate algorithm strengths and weaknesses, and discuss the benefits of duplicate management in software documents.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/22/2019

Interactive Duplicate Search in Software Documentation

Various software features such as classes, methods, requirements, and te...
research
12/05/2018

How practical is it? Machine Learning for Identifying Conceptual Interoperability Constraints in API Documents

Building meaningful interoperation with external software units requires...
research
03/01/2020

Longitudinal Evaluation of Open-Source Software Maintainability

We present a longitudinal study on the long-term evolution of maintainab...
research
08/16/2018

Do software firms collaborate or compete? A model of coopetition in community-initiated OSS projects

[Background] An increasing number of commercial firms are participating ...
research
12/16/2017

Overview of the Wikidata Vandalism Detection Task at WSDM Cup 2017

We report on the Wikidata vandalism detection task at the WSDM Cup 2017....
research
02/12/2020

Multi-Objective Optimization for Token-Based Clone Detection

Clone detection plays an important role in software engineering. Finding...
research
01/09/2022

A Benchmark of JSON-compatible Binary Serialization Specifications

We present a comprehensive benchmark of JSON-compatible binary serializa...

Please sign up or login with your details

Forgot password? Click here to reset