This paper argues that semantic information encoded in natural language identifiers is a largely neglected resource for program analysis.First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language.We analyze a large corpus of Java programs to create a database that links common class name words with micro patterns. Finally we report on prototype tools integrated with the Eclipse development environment. These tools use the database to inform programmers of particular problems or optimization opportunities in their code.
Description
Using 9 project with 29398 classes to find a relation between micro patterns and class names. Only the last noun (the suffix) of the class name is used. Even though the number of nouns shared between projects is small (66 percent of nouns are not shared), the authors extracted 3 example rules which they argue are valid.
%0 Journal Article
%1 singer2008correspodence
%A Singer, Jeremy
%A Kirkham, Chris
%C Los Alamitos, CA, USA
%D 2008
%I IEEE Computer Society
%J Source Code Analysis and Manipulation, IEEE International Workshop on
%K caseStudy java microPattern patterns
%P 67-76
%R http://doi.ieeecomputersociety.org/10.1109/SCAM.2008.23
%T Exploiting the Correspondence between Micro Patterns and Class Names
%V 0
%X This paper argues that semantic information encoded in natural language identifiers is a largely neglected resource for program analysis.First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language.We analyze a large corpus of Java programs to create a database that links common class name words with micro patterns. Finally we report on prototype tools integrated with the Eclipse development environment. These tools use the database to inform programmers of particular problems or optimization opportunities in their code.
%@ 978-0-7695-3353-7
@article{singer2008correspodence,
abstract = {This paper argues that semantic information encoded in natural language identifiers is a largely neglected resource for program analysis.First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language.We analyze a large corpus of Java programs to create a database that links common class name words with micro patterns. Finally we report on prototype tools integrated with the Eclipse development environment. These tools use the database to inform programmers of particular problems or optimization opportunities in their code.},
added-at = {2009-08-06T09:33:55.000+0200},
address = {Los Alamitos, CA, USA},
author = {Singer, Jeremy and Kirkham, Chris},
biburl = {https://www.bibsonomy.org/bibtex/277e3eb661295fe6b91f6e3695a651828/ericbouwers},
description = {Using 9 project with 29398 classes to find a relation between micro patterns and class names. Only the last noun (the suffix) of the class name is used. Even though the number of nouns shared between projects is small (66 percent of nouns are not shared), the authors extracted 3 example rules which they argue are valid.},
doi = {http://doi.ieeecomputersociety.org/10.1109/SCAM.2008.23},
interhash = {b13456302bb20f07ac1e19a68ecce856},
intrahash = {77e3eb661295fe6b91f6e3695a651828},
isbn = {978-0-7695-3353-7},
journal = {Source Code Analysis and Manipulation, IEEE International Workshop on},
keywords = {caseStudy java microPattern patterns},
pages = {67-76},
publisher = {IEEE Computer Society},
timestamp = {2009-08-06T09:33:55.000+0200},
title = {Exploiting the Correspondence between Micro Patterns and Class Names},
volume = 0,
year = 2008
}