Abstractness, specificity, and complexity in software design
Proceedings of the 2nd international workshop on The role of abstraction in software engineering
Developing natural language-based program analyses and tools to expedite software maintenance
Companion of the 30th international conference on Software engineering
Recommending rename refactorings
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Recommending API methods based on identifier contexts
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
A software quality model for SOA
Proceedings of the 8th international workshop on Software quality
Deriving human-readable labels from SPARQL queries
Proceedings of the 7th International Conference on Semantic Systems
An eclipse plugin for validating names in UML conceptual schemas
ER'11 Proceedings of the 30th international conference on Advances in conceptual modeling: recent developments and new directions
The quamoco product quality modelling and assessment approach
Proceedings of the 34th International Conference on Software Engineering
Risk chain prediction metrics for predicting fault proneness in object oriented systems
Proceedings of the Second International Conference on Computational Science, Engineering and Information Technology
A method for the definition and treatment of conceptual schema quality issues
ER'12 Proceedings of the 31st international conference on Conceptual Modeling
Assisting code search with automatic query reformulation for bug localization
Proceedings of the 10th Working Conference on Mining Software Repositories
A dataset for evaluating identifier splitters
Proceedings of the 10th Working Conference on Mining Software Repositories
Editorial: A complete set of guidelines for naming UML conceptual schema elements
Data & Knowledge Engineering
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 somehow 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 bijective 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 supports programmers by proposing suitable names depending on the current context.