When Are Names Similar Or the Same? Introducing the Code Names Matcher Library

09/07/2022
by   Moshe Munk, et al.
0

Program code contains functions, variables, and data structures that are represented by names. To promote human understanding, these names should describe the role and use of the code elements they represent. But the names given by developers show high variability, reflecting the tastes of each developer, with different words used for the same meaning or the same words used for different meanings. This makes comparing names hard. A precise comparison should be based on matching identical words, but also take into account possible variations on the words (including spelling and typing errors), reordering of the words, matching between synonyms, and so on. To facilitate this we developed a library of comparison functions specifically targeted to comparing names in code. The different functions calculate the similarity between names in different ways, so a researcher can choose the one appropriate for his specific needs. All of them share an attempt to reflect human perceptions of similarity, at the possible expense of lexical matching.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/12/2021

How Developers Choose Names

The names of variables and functions serve as implicit documentation and...
research
10/31/2019

Implementation of an Index Optimize Technology for Highly Specialized Terms based on the Phonetic Algorithm Metaphone

When compiling databases, for example to meet the needs of healthcare es...
research
03/15/2021

Using Non-Verbal Expressions as a Tool in Naming Research

Variable and function names are extremely important for program comprehe...
research
12/09/2019

It Runs in the Family: Searching for Similar Names using Digitized Family Trees

Searching for a person's name is a common online activity. However, web ...
research
12/17/2019

Function Naming in Stripped Binaries Using Neural Networks

In this paper we investigate the problem of automatically naming pieces ...
research
03/19/2021

Does Code Structure Affect Comprehension? On Using and Naming Intermediate Variables

Intermediate variables can be used to break complex expressions into mor...

Please sign up or login with your details

Forgot password? Click here to reset