Proceedings of the 2006 international workshop on Software quality
Challenges of using LSI for concept location
ACM-SE 45 Proceedings of the 45th annual southeast regional conference
An empirical study of rules for well-formed identifiers: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Source Code Analysis and Manipulation (SCAM 2006)
Quantifying identifier quality: an analysis of trends
Empirical Software Engineering
Understanding programmer language
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Identifier length and limited programmer memory
Science of Computer Programming
Validating Documentation with Domain Ontologies
Proceedings of the 2005 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fourth SoMeT_W05
The effect of identifier naming on source code readability and quality
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Increasing diversity: Natural language measures for software fault prediction
Journal of Systems and Software
Empirical studies on programming language stimuli
Software Quality Control
Canonical method names for Java: using implementation semantics to identify synonymous verbs
SLE'10 Proceedings of the Third international conference on Software language engineering
An exploratory study of identifier renamings
Proceedings of the 8th Working Conference on Mining Software Repositories
The impact of identifier style on effort and comprehension
Empirical Software Engineering
Normalizing source code vocabulary to support program comprehension and software quality
Proceedings of the 2013 International Conference on Software Engineering
An Empirical Investigation into Programming Language Syntax
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Approximately 70% of the source code of a software system consists of identifiers. Hence, the names chosen as identifiers are of paramount importance for the readability of computer programs and therewith their comprehensibility. However, virtually every programming language allows programmers to use almost arbitrary sequences of characters as identifiers which far too often results in more or less meaningless or even misleading naming. Coding style guides address this problem but are usually limited to general and hard to enforce rules like "identifiers should be self-describing". This paper renders adequate identifier naming far more precisely. A formal model, based on bi-jective mappings between concepts and names, provides a solid foundation for the definition of precise rules for concise and consistent naming. The enforcement of these rules is supported by a tool that incrementally builds and maintains a complete identifier dictionary while the system is being developed. The identifier dictionary explains the language used in the software system, aids in consistent naming, and improves productivity of programmers by proposing suitable names depending on the current context.