Source Code Retrieval Using Sequence Based Similarity

Abstract

Duplicated code has a negative impact on the quality of software systems and should be detected at least. In this paper, we discuss an approach that improves source code retrieval using the structural information about the programs. We developed a lexical parser to extract control statements and method identifiers from Java programs. We propose a similarity measure that is defined by the ratio of the number of sequentially full matching statements to the number of sequentially partial matching ones. The similarity measure is considered to be an extension of a set based similarity index, e.g., Sorensen-Dice index. Our key contribution of this research is the development of a similarity retrieval algorithm that derives meaningful search conditions from a given sequence, and then performs retrieval using all of the derived conditions. Experiments show that our retrieval model outperforms the other retrieval models up to 90.9% in the number of retrieved methods.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…