Renaming is one of the most popular software refactorings. Although developers may know what the new name should be when they conduct a renaming, it remains valuable for refactoring tools to recommend new names automatically so that developers can simply hit Enter and efficiently accept the recommendation to accomplish the refactoring. Consequently, most IDEs automatically recommend new names for renaming refactorings by default. However, the recommendation made by mainstream IDEs is often incorrect. For example, the precision of IntelliJ IDEA in recommending names for field renamings is as low as 6.3%. To improve the accuracy, in this paper, we propose a context-aware lightweight approach (called CARER) to recommend new names for Java field renamings. Different from mainstream IDEs that rely heavily on initializers and data types of the to-be-renamed fields, CARER exploits both dynamic and static contexts of the renamings as well as naming conventions. We evaluate CARER on 1.1K real-world field renamings discovered from open-source applications. Our evaluation results suggest that CARER can significantly improve the state of the practice in recommending new names for field renamings, improving the precision from 6.30% to 61.15%, and recall from 6.30% to 41.50%. Our evaluation results also suggest that CARER is as efficient as IntelliJ IDEA is, making it suitable to be integrated into IDEs.
Fri 19 AprDisplayed time zone: Lisbon change
14:00 - 15:30 | Evolution 5New Ideas and Emerging Results / Demonstrations / Research Track at Glicínia Quartin Chair(s): Martin Pinzger Universität Klagenfurt | ||
14:00 15mTalk | Semantic GUI Scene Learning and Video Alignment for Detecting Duplicate Video-based Bug Reports Research Track Yanfu Yan William & Mary, Nathan Cooper William & Mary, Oscar Chaparro William & Mary, Kevin Moran University of Central Florida, Denys Poshyvanyk William & Mary | ||
14:15 15mTalk | The Classics Never Go Out of Style: An Empirical Study of Downgrades from the Bazel Build Technology Research Track Pre-print | ||
14:30 15mTalk | Scaling Code Pattern Inference with Interactive What-If Analysis Research Track | ||
14:45 15mTalk | Context-Aware Name Recommendation for Field Renaming Research Track Chunhao Dong Beijing Institute of Technology, Yanjie Jiang Peking University, Nan Niu University of Cincinnati, Yuxia Zhang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology | ||
15:00 7mTalk | "Don’t Touch my Model!" Towards Managing Model History and Versions during Metamodel Evolution New Ideas and Emerging Results Marcel Homolka Institute for Software Systems Engineering, Johannes Kepler University, Linz, Luciano Marchezan Johannes Kepler University Linz, Wesley Assunção North Carolina State University, Alexander Egyed Johannes Kepler University Linz Pre-print | ||
15:07 7mTalk | Challenges in Empirically Testing Memory Persistency Models New Ideas and Emerging Results Vasileios Klimis Queen Mary University of London, Alastair F. Donaldson Imperial College London, Viktor Vafeiadis MPI-SWS, John Wickerson Imperial College London, Azalea Raad Imperial College London | ||
15:14 7mTalk | AntiCopyPaster 2.0: Whitebox just-in-time code duplicates extraction Demonstrations Eman Abdullah AlOmar Stevens Institute of Technology, Benjamin Knobloch Stevens Institute of Technology, Thomas Kain Stevens Institute of Technology, Christopher Kalish Stevens Institute of Technology, Mohamed Wiem Mkaouer University of Michigan - Flint, Ali Ouni ETS Montreal, University of Quebec |