Title :
Impact of Limited Memory Resources
Author :
Binkley, Dave ; Lawrie, Dawn ; Maex, Steve ; Morrell, Christopher
Author_Institution :
Loyola Coll., Baltimore, MD
Abstract :
Since early variable mnemonics were limited to as few as six to eight characters, many early programmers abbreviated concepts in their variable names. The past thirty years has seen a steady increase in permitted name length and, slowly, an increase in the actual length of identifiers. However, in theory names can be too long. Most obviously, in object-oriented programs, names often involve chaining of method calls and field selectors (e.g., class.firstAssignment().name.trim()). While longer names bring the potential for easier comprehension through more embedded sub-words, there are practical limits to length given limited human memory resources. The central hypothesis studied herein is that names used in modern programs have reached this limit. Statistical models derived from an experiment involving 158 programmers of varying degrees of experience show that longer names extracted from production code take more time to process and reduce correctness in a simple recall activity. This has clear negative implications for any attempt to read, and hence comprehend or manipulate, the source code of modern software. The experiment also evaluates the advantage of identifiers having ties to a programmer´s persistent memory. Combined these results reinforce past proposals advocating the use of limited, consistent, and regular vocabulary in identifier names. In particular, good naming limits length and reduces the need for specialized vocabulary.
Keywords :
object-oriented programming; program compilers; resource allocation; human memory resource; modern software; object-oriented program; program compiler; programmer persistent memory; source code; statistical model; Computer languages; Educational institutions; Humans; Natural languages; Object oriented modeling; Production; Programming profession; Proposals; USA Councils; Vocabulary; identifier names; memory; program comprehension;
Conference_Titel :
Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on
Conference_Location :
Amsterdam
Print_ISBN :
978-0-7695-3176-2
DOI :
10.1109/ICPC.2008.31