Publication
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Learning Approaches
Abstract
Programming is a form of communication between the person who is writing code and the one reading it. Nevertheless, very often developers neglect readability, and even well-written code becomes less understandable as software evolves. Together with the growing complexity of software systems, this creates an increasing need for automated tools for improving the readability of source code. In this work, we focus on method names and study how a descriptive name can be automatically generated from a method’s body. We experiment with two approaches from the field of text summarization: One based on TF-IDF and the other on deep recurrent neural network. We collect a dataset of methods from 50 real world projects. We evaluate our approaches by comparing the generated names to the actual ones and report the result using Precision and Recall metrics. For TF-IDF, we get results as good as 28% precision and 45% recall; and for deep neural network, 46% precision and 32% recall.
Keywords
software evolution, machine learning, method names
Links
Official page · HAL · DOI
BibTeX
@inproceedings{zaitsev2020suggesting,
title = {Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Learning Approaches},
author = {Zaitsev, Oleksandr and Ducasse, Stéphane and Bergel, Alexandre and Eveillard, Mathieu},
year = {2020},
month = {September},
booktitle = {International Conference on the Quality of Information and Communications Technology},
series = {Communications in Computer and Information Science},
publisher = {Springer},
pages = {93-106},
isbn = {978-3-030-58792-5},
address = {Faro, Portugal},
doi = {10.1007/978-3-030-58793-2_8},
url = {https://link.springer.com/chapter/10.1007/978-3-030-58793-2_8}
}