Communication publiée dans un ouvrage (Colloques, congrès, conférences scientifiques et actes)
Learning to Spot and Refactor Inconsistent Method Names
LIU, Kui; Kim, Dongsun; BISSYANDE, Tegawendé François D Assise et al.
2019In 41st ACM/IEEE International Conference on Software Engineering (ICSE)
Peer reviewed
 

Documents


Texte intégral
camera-ready-version.pdf
Preprint Auteur (1.15 MB)
Télécharger

Tous les documents dans ORBilu sont protégés par une licence d'utilisation.

Envoyer vers



Détails



Mots-clés :
Code refactoring; inconsistent method names; deep learning; code embedding
Résumé :
[en] To ensure code readability and facilitate software maintenance, program methods must be named properly. In particular, method names must be consistent with the corresponding method implementations. Debugging method names remains an important topic in the literature, where various approaches analyze commonalities among method names in a large dataset to detect inconsistent method names and suggest better ones. We note that the state-of-the-art does not analyze the implemented code itself to assess consistency. We thus propose a novel automated approach to debugging method names based on the analysis of consistency between method names and method code. The approach leverages deep feature representation techniques adapted to the nature of each artifact. Experimental results on over 2.1 million Java methods show that we can achieve up to 15 percentage points improvement over the state-of-the-art, establishing a record performance of 67.9% F1-measure in identifying inconsistent method names. We further demonstrate that our approach yields up to 25% accuracy in suggesting full names, while the state-of-the-art lags far behind at 1.1% accuracy. Finally, we report on our success in fixing 66 inconsistent method names in a live study on projects in the wild.
Centre de recherche :
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Security Design and Validation Research Group (SerVal)
Disciplines :
Sciences informatiques
Auteur, co-auteur :
LIU, Kui ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Kim, Dongsun
BISSYANDE, Tegawendé François D Assise  ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Kim, Taeyoung
KIM, Kisub ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
KOYUNCU, Anil ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Kim, Suntae
LE TRAON, Yves ;  University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
Co-auteurs externes :
yes
Langue du document :
Anglais
Titre :
Learning to Spot and Refactor Inconsistent Method Names
Date de publication/diffusion :
mai 2019
Nom de la manifestation :
41st ACM/IEEE International Conference on Software Engineering
Date de la manifestation :
from 25-05-2019 to 31-05-2019
Manifestation à portée :
International
Titre de l'ouvrage principal :
41st ACM/IEEE International Conference on Software Engineering (ICSE)
Maison d'édition :
IEEE, Montreal, Canada
Peer reviewed :
Peer reviewed
Projet FnR :
FNR10449467 - Automatic Bug Fix Recommendation: Improving Software Repair And Reducing Time-to-fix Delays In Software Development Projects, 2015 (01/02/2016-31/01/2019) - Tegawendé François D'assise Bissyandé
Organisme subsidiant :
FNR - Fonds National de la Recherche
Disponible sur ORBilu :
depuis le 12 mars 2019

Statistiques


Nombre de vues
428 (dont 22 Unilu)
Nombre de téléchargements
1137 (dont 19 Unilu)

citations Scopus®
 
115
citations Scopus®
sans auto-citations
100

Bibliographie


Publications similaires



Contacter ORBilu