• DocumentCode
    1999580
  • Title

    Impact of Limited Memory Resources

  • Author

    Binkley, Dave ; Lawrie, Dawn ; Maex, Steve ; Morrell, Christopher

  • Author_Institution
    Loyola Coll., Baltimore, MD
  • fYear
    2008
  • fDate
    10-13 June 2008
  • Firstpage
    83
  • Lastpage
    92
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on
  • Conference_Location
    Amsterdam
  • ISSN
    1092-8138
  • Print_ISBN
    978-0-7695-3176-2
  • Type

    conf

  • DOI
    10.1109/ICPC.2008.31
  • Filename
    4556120