How are We Detecting Inconsistent Method Names? An Empirical Study from
Code Review Perspective
- URL: http://arxiv.org/abs/2308.12701v1
- Date: Thu, 24 Aug 2023 10:39:18 GMT
- Title: How are We Detecting Inconsistent Method Names? An Empirical Study from
Code Review Perspective
- Authors: Kisub Kim, Xin Zhou, Dongsun Kim, Julia Lawall, Kui Liu, Tegawend\'e
F. Bissyand\'e, Jacques Klein, Jaekwon Lee, and David Lo
- Abstract summary: Proper naming of methods can make program code easier to understand, and thus enhance software maintainability.
Much research effort has been invested into building automatic tools that can check for method name inconsistency.
We present an empirical study on how state-of-the-art techniques perform in detecting or recommending consistent and inconsistent method names.
- Score: 13.585460827586926
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Proper naming of methods can make program code easier to understand, and thus
enhance software maintainability. Yet, developers may use inconsistent names
due to poor communication or a lack of familiarity with conventions within the
software development lifecycle. To address this issue, much research effort has
been invested into building automatic tools that can check for method name
inconsistency and recommend consistent names. However, existing datasets
generally do not provide precise details about why a method name was deemed
improper and required to be changed. Such information can give useful hints on
how to improve the recommendation of adequate method names. Accordingly, we
construct a sample method-naming benchmark, ReName4J, by matching name changes
with code reviews. We then present an empirical study on how state-of-the-art
techniques perform in detecting or recommending consistent and inconsistent
method names based on ReName4J. The main purpose of the study is to reveal a
different perspective based on reviewed names rather than proposing a complete
benchmark. We find that the existing techniques underperform on our
review-driven benchmark, both in inconsistent checking and the recommendation.
We further identify potential biases in the evaluation of existing techniques,
which future research should consider thoroughly.
Related papers
- Exploring Large Language Models for Analyzing and Improving Method Names in Scientific Code [4.385741575933952]
The recent advances in Large Language Models (LLMs) present new opportunities for automating code analysis tasks.<n>Our study evaluates four popular LLMs on their ability to analyze grammatical patterns and suggest improvements for 496 method names extracted from Python-based Jupyter Notebooks.
arXiv Detail & Related papers (2025-07-22T10:33:49Z) - Method Names in Jupyter Notebooks: An Exploratory Study [5.8097100720874355]
We analyze the naming practices found in 691 methods across 384 Jupyter Notebooks.
Our findings reveal distinct characteristics of notebook method names, including a preference for conciseness.
We envision our findings contributing to developing specialized tools and techniques for evaluating and recommending high-quality names in scientific code.
arXiv Detail & Related papers (2025-04-29T00:38:56Z) - Automating Code Review: A Systematic Literature Review [15.416725497289697]
Code Review consists in assessing the code written by teammates with the goal of increasing code quality.
Empirical studies documented the benefits brought by such a practice that, however, has its cost to pay in terms of developers' time.
Researchers have proposed techniques and tools to automate code review tasks.
arXiv Detail & Related papers (2025-03-12T16:19:10Z) - Deep Learning-Based Identification of Inconsistent Method Names: How Far Are We? [6.199085977656376]
We present an empirical study that evaluates state-of-the-art deep learning methods for identifying inconsistent method names.
We create a new benchmark by combining automatic identification from commit histories and manual developer inspections.
Our results show that performance drops substantially when moving from the balanced dataset to the new benchmark.
arXiv Detail & Related papers (2025-01-22T03:51:56Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
We propose a comprehensive framework that includes candidate generation, $n$-best reranking, minimum Bayes risk (MBR) decoding, and self-ging as the core components.
Our findings highlight the importance of execution-based methods and the difference gap between execution-based and execution-free methods.
arXiv Detail & Related papers (2024-08-25T07:10:36Z) - Effective Technical Reviews [0.7212939068975619]
While executing a program is the ultimate test for its correctness reviewing the program can occur earlier in its development and find problems if done effectively.
This work focuses on review techniques. It enables the programmer to effectively review a program and find a range of problems from to interface issues.
arXiv Detail & Related papers (2024-07-02T15:19:52Z) - Using Changeset Descriptions as a Data Source to Assist Feature Location [0.0]
We implement a technique utilizing changeset descriptions and conduct an empirical study to observe this technique's overall performance.
Preliminary study with Rhino and Mylyn.Tasks systems suggest that the approach could lead to a potentially efficient feature location technique.
arXiv Detail & Related papers (2024-02-08T14:38:29Z) - Prior Knowledge Guided Unsupervised Domain Adaptation [82.9977759320565]
We propose a Knowledge-guided Unsupervised Domain Adaptation (KUDA) setting where prior knowledge about the target class distribution is available.
In particular, we consider two specific types of prior knowledge about the class distribution in the target domain: Unary Bound and Binary Relationship.
We propose a rectification module that uses such prior knowledge to refine model generated pseudo labels.
arXiv Detail & Related papers (2022-07-18T18:41:36Z) - Annotation Error Detection: Analyzing the Past and Present for a More
Coherent Future [63.99570204416711]
We reimplement 18 methods for detecting potential annotation errors and evaluate them on 9 English datasets.
We define a uniform evaluation setup including a new formalization of the annotation error detection task.
We release our datasets and implementations in an easy-to-use and open source software package.
arXiv Detail & Related papers (2022-06-05T22:31:45Z) - A Revealing Large-Scale Evaluation of Unsupervised Anomaly Detection
Algorithms [0.0]
Anomaly detection has many applications ranging from bank-fraud detection and cyber-threat detection to equipment maintenance and health monitoring.
We extensively reviewed twelve of the most popular unsupervised anomaly detection methods.
arXiv Detail & Related papers (2022-04-21T00:17:12Z) - Uncertainty Baselines: Benchmarks for Uncertainty & Robustness in Deep
Learning [66.59455427102152]
We introduce Uncertainty Baselines: high-quality implementations of standard and state-of-the-art deep learning methods on a variety of tasks.
Each baseline is a self-contained experiment pipeline with easily reusable and extendable components.
We provide model checkpoints, experiment outputs as Python notebooks, and leaderboards for comparing results.
arXiv Detail & Related papers (2021-06-07T23:57:32Z) - Exploiting Method Names to Improve Code Summarization: A Deliberation
Multi-Task Learning Approach [5.577102440028882]
We design a novel multi-task learning (MTL) approach for code summarization.
We first introduce the tasks of generation and informativeness prediction of method names.
A novel two-pass deliberation mechanism is then incorporated into our MTL architecture to generate more consistent intermediate states.
arXiv Detail & Related papers (2021-03-21T17:52:21Z) - CycAs: Self-supervised Cycle Association for Learning Re-identifiable
Descriptions [61.724894233252414]
This paper proposes a self-supervised learning method for the person re-identification (re-ID) problem.
Existing unsupervised methods usually rely on pseudo labels, such as those from video tracklets or clustering.
We introduce a different unsupervised method that allows us to learn pedestrian embeddings from raw videos, without resorting to pseudo labels.
arXiv Detail & Related papers (2020-07-15T09:52:35Z) - Frustratingly Simple Few-Shot Object Detection [98.42824677627581]
We find that fine-tuning only the last layer of existing detectors on rare classes is crucial to the few-shot object detection task.
Such a simple approach outperforms the meta-learning methods by roughly 220 points on current benchmarks.
arXiv Detail & Related papers (2020-03-16T00:29:14Z) - Formal Methods: From Academia to Industrial Practice. A Travel Guide [46.04829474801786]
No real change in industrial software development seems to be occurring.
Gap between what formal methods can achieve and the daily software-development practice does not appear to be getting smaller.
arXiv Detail & Related papers (2020-02-17T22:09:02Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.