TU Darmstadt / ULB / TUbiblio

Nomen est Omen: Exploring and Exploiting Similarities between Argument and Parameter Names

Liu, Hui ; Liu, Qiurong ; Staicu, Cristian-Alexandru ; Pradel, Michael ; Luo, Yue (2016)
Nomen est Omen: Exploring and Exploiting Similarities between Argument and Parameter Names.
Austin, Texas
doi: 10.1145/2884781.2884841
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Programmer-provided identifier names convey information about the semantics of a program. This information can complement traditional program analyses in various software engineering tasks, such as bug finding, code completion, and documentation. Even though identifier names appear to be a rich source of information, little is known about their properties and their potential usefulness. This paper presents an empirical study of the lexical similarity between arguments and parameters of methods, which is one prominent situation where names can provide otherwise missing information. The study involves 60 real-world Java programs. We find that, for most arguments, the similarity is either very high or very low, and that short and generic names often cause low similarities. Furthermore, we show that inferring a set of low-similarity parameter names from one set of programs allows for pruning such names in another set of programs. Finally, the study shows that many arguments are more similar to thecorresponding parameter than any alternative argument available in the call site's scope. As applications of our findings, we present an anomaly detection technique that identifies 144 renaming opportunities and incorrect arguments in 14 programs, and a code recommendation system that suggests correct arguments with a precision of 83%.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2016
Autor(en): Liu, Hui ; Liu, Qiurong ; Staicu, Cristian-Alexandru ; Pradel, Michael ; Luo, Yue
Art des Eintrags: Bibliographie
Titel: Nomen est Omen: Exploring and Exploiting Similarities between Argument and Parameter Names
Sprache: Deutsch
Publikationsjahr: Mai 2016
Verlag: ACM
(Heft-)Nummer: 38
Buchtitel: ICSE '16 Proceedings of the 38th International Conference on Software Engineering
Veranstaltungsort: Austin, Texas
DOI: 10.1145/2884781.2884841
Kurzbeschreibung (Abstract):

Programmer-provided identifier names convey information about the semantics of a program. This information can complement traditional program analyses in various software engineering tasks, such as bug finding, code completion, and documentation. Even though identifier names appear to be a rich source of information, little is known about their properties and their potential usefulness. This paper presents an empirical study of the lexical similarity between arguments and parameters of methods, which is one prominent situation where names can provide otherwise missing information. The study involves 60 real-world Java programs. We find that, for most arguments, the similarity is either very high or very low, and that short and generic names often cause low similarities. Furthermore, we show that inferring a set of low-similarity parameter names from one set of programs allows for pruning such names in another set of programs. Finally, the study shows that many arguments are more similar to thecorresponding parameter than any alternative argument available in the call site's scope. As applications of our findings, we present an anomaly detection technique that identifies 144 renaming opportunities and incorrect arguments in 14 programs, and a code recommendation system that suggests correct arguments with a precision of 83%.

Freie Schlagworte: Semantics, Java, Documentation, Open source software, Data collection
ID-Nummer: TUD-CS-2016-14766
Fachbereich(e)/-gebiet(e): Profilbereiche
Profilbereiche > Cybersicherheit (CYSEC)
Hinterlegungsdatum: 14 Aug 2017 11:13
Letzte Änderung: 12 Jan 2019 21:20
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen