Measuring program understanding

R. Zmud, Tricia W. Dudley
{"title":"Measuring program understanding","authors":"R. Zmud, Tricia W. Dudley","doi":"10.1145/503643.503719","DOIUrl":null,"url":null,"abstract":"A number of recent investigations have been concerned with the study of programming languages and practices from a human factors perspective (Green, 1977; Shneiderman, 1977; Sime et al, 1973). These research efforts have examined differences in programming languages, statement alternatives and programming aids in an attempt to increase programmer productivity by suggesting language designs and guidelines that should result in more efficient program development efforts. Four measures of programming ability have been suggested for use in the psychological study of programming languages and practices: composition, which reflects an ability to write a program; comprehension, which reflects a capability to understand an existing program; debugging, which reflects a capability to detect errors in an existing program; and modification, which reflects an ability to insert changes into an existing program (Shneiderman, 1976). Of the four measures, comprehension is believed the more basic and hence of the most interesting from a human factors viewpoint (Sime et al, 1973). Program comprehension, or understanding, occurs at two levels (Shneiderman and Mayer, 1976). The first is termed semantic understanding and refers to the realization of the purpose of a program or a program module. The second is termed syntactic understanding and refers to the knowledge of a language's grammar. Semantic understanding is considered a higher level of understanding as it is believed that programs are not comprehended in a line-byline fashion based on syntax but in terms of modules relating to semantics. Also, semantic understanding is of prime importance when modification, composition and non-syntax debugging activity are attempted. Three measurement techniques are suggested for ascertaining degree of program understanding: questionnaires, program memorization/ recall and program bracketing. Questionnaires can require subjects to indicate the results of a program or program module given certain conditions (\"tracing\") or to indicate which conditions need to be set to provide a given result (\"taxon identification\"). It is believed the second type of question better ascertains program understanding (Green, 1977). Memorization/ recall refers to observing how many lines of a program can be recalled by a subject. It is believed that semantic modules are memorized and are then converted back to the original program via syntactic knowledge (Shneiderman, 1976, 1977; Shneiderman and Mayer, 1976). Scoring can either be objective (perfect recall) or subjective (functionally correct recall). Finally, it is believed that the identification of semantic modules by bracketing logicallyrelated program segments also may indicate program understanding (Shneiderman and Mayer, 1976). Little work has been reported tha~ validates these measures of program understanding. The major intent of the two studies to be reported was to provide some information on the validity of memorization as a measure of program understanding. Study I","PeriodicalId":166583,"journal":{"name":"Proceedings of the 16th annual Southeast regional conference","volume":"57 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1978-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 16th annual Southeast regional conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/503643.503719","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

A number of recent investigations have been concerned with the study of programming languages and practices from a human factors perspective (Green, 1977; Shneiderman, 1977; Sime et al, 1973). These research efforts have examined differences in programming languages, statement alternatives and programming aids in an attempt to increase programmer productivity by suggesting language designs and guidelines that should result in more efficient program development efforts. Four measures of programming ability have been suggested for use in the psychological study of programming languages and practices: composition, which reflects an ability to write a program; comprehension, which reflects a capability to understand an existing program; debugging, which reflects a capability to detect errors in an existing program; and modification, which reflects an ability to insert changes into an existing program (Shneiderman, 1976). Of the four measures, comprehension is believed the more basic and hence of the most interesting from a human factors viewpoint (Sime et al, 1973). Program comprehension, or understanding, occurs at two levels (Shneiderman and Mayer, 1976). The first is termed semantic understanding and refers to the realization of the purpose of a program or a program module. The second is termed syntactic understanding and refers to the knowledge of a language's grammar. Semantic understanding is considered a higher level of understanding as it is believed that programs are not comprehended in a line-byline fashion based on syntax but in terms of modules relating to semantics. Also, semantic understanding is of prime importance when modification, composition and non-syntax debugging activity are attempted. Three measurement techniques are suggested for ascertaining degree of program understanding: questionnaires, program memorization/ recall and program bracketing. Questionnaires can require subjects to indicate the results of a program or program module given certain conditions ("tracing") or to indicate which conditions need to be set to provide a given result ("taxon identification"). It is believed the second type of question better ascertains program understanding (Green, 1977). Memorization/ recall refers to observing how many lines of a program can be recalled by a subject. It is believed that semantic modules are memorized and are then converted back to the original program via syntactic knowledge (Shneiderman, 1976, 1977; Shneiderman and Mayer, 1976). Scoring can either be objective (perfect recall) or subjective (functionally correct recall). Finally, it is believed that the identification of semantic modules by bracketing logicallyrelated program segments also may indicate program understanding (Shneiderman and Mayer, 1976). Little work has been reported tha~ validates these measures of program understanding. The major intent of the two studies to be reported was to provide some information on the validity of memorization as a measure of program understanding. Study I
测量程序理解
最近的许多调查都是从人为因素的角度来研究编程语言和实践(Green, 1977;Shneiderman, 1977;Sime et al, 1973)。这些研究工作检查了编程语言、语句替代和编程辅助的差异,试图通过建议语言设计和指导方针来提高程序员的生产力,这些设计和指导方针应该导致更有效的程序开发工作。在编程语言和实践的心理学研究中,已经提出了四个衡量编程能力的标准:构成,反映了编写程序的能力;理解能力,反映理解现有程序的能力;调试,它反映了在现有程序中检测错误的能力;和修改,这反映了将更改插入现有程序的能力(Shneiderman, 1976)。在这四种衡量标准中,理解被认为是最基本的,因此从人为因素的角度来看也是最有趣的(Sime et al, 1973)。程序理解或理解发生在两个层面上(Shneiderman和Mayer, 1976)。第一种被称为语义理解,是指实现程序或程序模块的目的。第二种被称为句法理解,指的是对一种语言语法的了解。语义理解被认为是一种更高层次的理解,因为人们认为,程序不是以基于语法的逐行方式理解的,而是根据与语义相关的模块来理解的。此外,在尝试修改、组合和非语法调试活动时,语义理解是最重要的。本文提出了三种确定节目理解程度的测量方法:问卷调查、节目记忆/召回和节目分类法。调查问卷可以要求受试者指出在特定条件下程序或程序模块的结果(“追踪”),或指出需要设置哪些条件才能提供给定结果(“分类单元鉴定”)。人们认为,第二类问题能更好地确定程序理解(Green, 1977)。记忆/回忆指的是观察一个对象能回忆起多少行程序。人们认为,语义模块被记忆,然后通过句法知识转换回原始程序(Shneiderman, 1976,1977;施耐德曼和梅尔,1976)。评分可以是客观的(完美回忆),也可以是主观的(功能正确回忆)。最后,人们认为,通过将逻辑相关的程序段括起来来识别语义模块也可能表明程序理解(Shneiderman和Mayer, 1976)。证实这些程序理解方法的工作报道很少。要报告的两项研究的主要目的是提供一些关于记忆有效性的信息,作为程序理解的衡量标准。研究我
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信