指针编程题的标准化及其自动评分方法的研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:zhchbetty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序设计语言考试中的自动化试卷评分技术是一项非常有意义的研究课题,是在线考试系统的关键技术,因其涉及多方面的理论知识而成为技术难点,目前在该领域内,实用性好而且功能健全的系统很少。在基于程序理解和语义分析的编程题自动评分模型中,用对完整源程序的静态分析和语义等价的转换的方法,将学生程序和作为标准答案的模板程序转化为系统依赖图,通过标准化处理,消除程序中语义等价的表达式的形式多样化,计算它们的语义相似度,应用评分策略给出学生程序的得分。已有的编程题自动评分模型不能对含有指针的学生程序进行自动评分。本文在原有的编程题自动评分模型的基础上,对指针编程题的标准化和自动评分方法进行研究,并在以下几个方面完善原有模型:在词法、语法分析中加入了对指针及相关语法的识别功能;改进了原有的系统依赖图,将指针变量和数组元素用统一的抽象语法树来表示;改进了原模型中的数据流分析算法,充分挖掘指针别名引起的隐含的数据依赖关系;针对目前的指针别名信息表示方法或过于复杂、或存在冗余、或不直观、或不精确的问题,提出了改进的别名信息表示方法;针对目前的指针别名分析算法相对复杂且精度有限的问题,提出了流敏感和上下文敏感的过程间指针别名分析算法,对Banning算法进行改进,结合函数内联的策略,扬长避短地分别处理递归的过程调用和非递归的过程调用;在程序的系统依赖图的标准化处理中,加入了两个阶段:必然别名替换和指针表达式的标准化,最大程度地消除指针程序中的代码多样化;通过对原模型中的匹配和评分策略的研究,根据指针程序的特点作了改进。完善后的自动评分模型应用在“C语言在线考试系统”中,经测试实验证明了模型的正确性和系统的有效性。
其他文献
网络技术的发展和网络应用使得数字信息呈爆炸式增长趋势,对存储的需求也越来越大,新型网络存储系统的研究已经成为计算机领域的热点。下一代互联网对网络存储的容量,服务质
棉花是我国最重要的经济作物,是仅次于粮食的第二大宗农产品。棉花生产直接关系农业和棉纺工业的发展,关系国计民生。我国人多地少,棉花种植面积十分有限。因此,加强栽培中的调控
由于受到处理器性能、存储容量和能耗等方面限制,实时嵌入式软件在发展过程中一直落后于主流软件发展的逻辑方法,在发展和维护上都支付了昂贵的代价。更为糟糕的是实时嵌入式
在高层建筑中,电梯是不可缺少的垂直运输设备,电梯服务的好坏直接关系到人们的生产生活。随着电梯控制技术的飞速发展,很多先进高效的思想被引入到电梯群控技术中来,对电梯的
随着社会的进步与经济的快速发展,城市交通拥挤甚至堵塞现象日趋严重,成为现代城市发展的主要瓶颈之一,交通安全事故频发亦引起各国社会的普遍关注。在这种情况下,人们开始进
现代互联网每日产生大量的数据,引发了对大规模数据处理的需求。面对海量的数据,研究者们提出了新形式的分布式文件存储系统,并且基于文件系统之上提出了并行的计算方式解决
物联网作为继计算机互联网之后第三次世界信息产业浪潮,通过各种信息传感设备与互联网联系在一起,按约定的协议,让所有物品都能够被感知和控制,实现智能化的识别、定位、跟踪
目前,P2P已经作为一种流行的网络技术被越来越多地应用于文件共享、分布式计算、资源搜索等领域。P2P系统以其资源共享程度高、节点独立、自适应性强等优点吸引着越来越多的用
中间件的研究与发展为开发分布式应用提供了有效的支持,但随着应用的深入,在许多分布式系统中,比如军事指挥系统、电信监管系统、多媒体系统等等都提出了对实时的需求。传统
随着基于用户位置的服务(Location-Based Service, LBS)研究的日益深入,用户对LBS的需求日趋丰富。例如在智能交通领域,自动驾驶技术不仅需要解决普通的位置定位技术,更重要