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 |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |