Foundations of statistical natural language processing
Foundations of statistical natural language processing
Nomen Est Omen: Analyzing the Language of Function Identifiers
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Wisdom of Crowds
Towards supporting on-demand virtual remodularization using program graphs
Proceedings of the 5th international conference on Aspect-oriented software development
What's in a Name? A Study of Identifiers
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Sourcerer: a search engine for open source code supporting structure-based search
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Data Mining: Practical Machine Learning Tools and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems)
Implementation Patterns
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Journal of Software Maintenance and Evolution: Research and Practice
Introducing natural language program analysis
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Quantifying identifier quality: an analysis of trends
Empirical Software Engineering
The Programmer's Lexicon, Volume I: The Verbs
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Indexing the Java API Using Source Code
ASWEC '08 Proceedings of the 19th Australian Conference on Software Engineering
Performance analysis of idle programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Canonical method names for Java: using implementation semantics to identify synonymous verbs
SLE'10 Proceedings of the Third international conference on Software language engineering
Improving identifier informativeness using part of speech information
Proceedings of the 8th Working Conference on Mining Software Repositories
Automatically detecting and describing high level actions within methods
Proceedings of the 33rd International Conference on Software Engineering
Detecting anomalies in the order of equally-typed method arguments
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Improving the tokenisation of identifier names
Proceedings of the 25th European conference on Object-oriented programming
Inferring specifications for resources from natural language API documentation
Automated Software Engineering
Naming anonymous javascript functions
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Finding and fixing Java naming bugs with the Lancelot Eclipse plugin
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Adaptable generic programming with required type specifications and package templates
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
Mining Java class identifier naming conventions
Proceedings of the 34th International Conference on Software Engineering
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Detecting API documentation errors
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Is this a bug or an obsolete test?
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Meaningful method names are crucial for the readability and maintainability of software. Existing naming conventions focus on syntactic details, leaving programmers with little or no support in assuring meaningful names. In this paper, we show that naming conventions can go much further: we can mechanically check whether or not a method name and implementation are likely to be good matches for each other. The vast amount of software written in Java defines an implicit convention for pairing names and implementations. We exploit this to extract rules for method names, which are used to identify "naming bugs" in well-known Java applications. We also present an approach for automatic suggestion of more suitable names in the presence of mismatch between name and implementation.