【摘 要】
:
本文研究了程序自动修正方法,并设计了一个学生程序自动修正系统,针对高校Java语言课程的编程练习,为学生提交的有缺陷的程序代码提供修正方案。由于学生程序具有程序规模小
论文部分内容阅读
本文研究了程序自动修正方法,并设计了一个学生程序自动修正系统,针对高校Java语言课程的编程练习,为学生提交的有缺陷的程序代码提供修正方案。由于学生程序具有程序规模小、含有丰富的模板程序、程序中包含多个缺陷等特征,教师人工检查大量学生程序的错误会耗费大量的时间和精力。目前现有的程序自动修正方法多为针对工业程序,且能够修正的错误具有局限性,取决于变异算子的设计,以及现有修正方法大多只能修正程序中的单个错误,对于包含多个缺陷的程序则无法解决,且程序修正的准确性一般依赖于错误定位的准确性,故修正的时间效率较低,占用空间较大。本文针对学生程序的特点研究基于示例演化的学生程序修正方法,并完成系统设计,设计并实现了基于示例演化的Java学生程序自动修正系统,学生在本系统上练习编程题,可以对学生提交的程序代码进行自动修复,为学生用户提供修正方案作为参考,减少教师的工作量。针对上述问题,本文完成了如下工作:首先,使用遗传编程算法中的适应进化结构作为系统的整体框架,从程序的变异方法、变异体的存储、种群的生成和适应度的计算几个方面改进传统的遗传编程方法,不断迭代选择淘汰不适合的变异体,从中选择修正程序。其次,采用从示例程序的语法树中挖掘与学生程序的语法树相似结构的子树并与之替换的方法进行程序的变异,实现程序的自动修正。为了提高程序自动修正的准确性,采用语法树子树挖掘匹配的方法,选择与学生程序的语法结构最为近似的教师模板程序作为标准示例程序,从相似度最大的标准示例程序中进行语法树子树匹配挖掘和替换。为了提高自动修正的时间效率,本文采用了语法树结构相似度算法,匹配学生程序的语法树和示例程序的语法树的语法结构相似性,静态的定位两棵语法树的在相同结构下的相似但不完全相同的节点,提高该类节点被遗传算法选择的概率,避免盲目选择错误位置。最后,本文使用真实求职编程网站上的题目与学生提交的程序作为测试集,通过实验分析验证了程序自动修正系统可以准确修复存在多个缺陷的学生程序并给出修正方案。
其他文献
光伏发电和风力发电作为现如今主要的两种清洁能源得到了全世界各国的重视。光伏发电与风力发电主要利用自然界的光能和风能进行发电,而光能与风能并不是持续稳定的能源。光伏发电所提供的能源与光照强度和温度有关,而风力发电提供的能源则与风力大小有关。因此这两种能源都具有随机性、波动性和季节性。随着含分布式电源配电网的发展以及分布式电源渗透率提升,含分布式电源的配电网中,电压以及无功分布都受到了一定的影响,未来
背景:颈椎病,是一种常见的肌肉骨骼疾病,影响着人们日常生活,可能会导致残疾并增加医疗费用。《2010年全球疾病负担》报告说,颈椎病是继残疾、严重抑郁症和其他肌肉骨骼疾病之后的第四位致残的主要原因[1]。随着人们工作、生活方式的变化,以及电子产品的遍及,人们颈部运动锻炼较少,长时间伏案低头概率逐渐增加,加之头颈部的易伤性,颈椎病的发病率不断上升。颈型颈椎病为颈椎病中发病率较高的一种类型,初期可见颈项
营运资金是企业资金的重要组成部分,能够为企业的各类生产经营活动提供必要的资金保障,是企业持续健康发展的重要保证,对于企业维持现有的经营管理和应对未来可能发生的风险有着十分重要的意义。良好的营运资金管理水平是企业正常经营周转的先决条件,当一个企业的扩张速度过快而没有相对应的营运资金管理水平与效率时,企业很可能会陷入财务危机,甚至濒临破产。企业要想实现持续健康发展,就要加强营运资金管理,平衡好企业盈利
随着信息技术的发展,Web应用程序的数量正在快速增长,它们已经成为人们生活不可或缺的一部分。但是,其中存在的漏洞造成的危害也日益严重,给正常生产和生活造成了巨大的负面
随着医药行业的不断发展和进步,其发展前景良好。国家医药政策的不断出台,许多医药企业出于完善自身产业链、快速获得医药资源等目的,开始进行并购活动。但是并购活动的复杂性以及医药行业作为国家重点管制行业的特殊性,医药行业高频率并购的开展也伴随着高风险。在此背景下,本文希望通过对并购风险管理的研究针对金城医药具体并购案例的分析,能够对医药企业的并购风险管理提供一些指导和建议。目前关于医药行业的并购案例研究
我国法治化进程不断深入,现代行政事务日趋复杂,带有落实法律规定、贯彻上级政策目的的抽象行政行为必然是以规范性文件的形式出台,抽象行政行为有可能侵害行政相对人合法权益,而且这种侵害对社会的影响范围较广、程度较深,即使可以事后补救,也会造成国家行政资源的浪费。为了尽可能的避免侵害后果发生,在立法程序上对制定行政规范性文件正式公布前设置了事前审查环节。本文主要研究规范性文件事前审查的相关制度,是针对20
随着现代科技的不断进步和更新迭代,我国的电子信息业也在快速地发展和壮大,电子信息业的大部分企业发展前景向好。但同时,我国电子信息业也存在着一些发展瓶颈,具体包括难以取得大数据平台的支持、筹资方式难以多元化、先进的管理理念难以结合到公司管理中等。同时,电子信息业也存在一定的风险,包括研发成本的回报率未知、科技进步带来的落后技术减值等。由此,电子信息业的主营业务业绩是判断市场方向的一个重要指标,而主营
指关节纹识别是当今社会一类新兴的生物特征识别技术,该生物特征由个体基因所决定,存在个体差异性,可用于身份识别技术中。与常见的指纹识别相比,指关节纹特征不像指纹一样易于磨损、出汗潮湿,且在日常生活中不像指纹一样到处留下接触痕迹,提高了该生物特征的安全性。与其它生物特征相比,指关节纹特征具有表现稳定、便于采集、易与手形其它特征进行融合,且相比于人脸、声音等生物特征涉及隐私较小,人们更易于接受,指关节纹
近些年随着部分轻微刑事案件入刑,我国刑事案件数量急剧增加,而司法资源有限,在案多人少的背景下,我国又推进以审判为中心的司法体制改革,刑事普通程序的繁琐和复杂需要投入
常规Ti(C,N)基金属陶瓷中硬质相为黑芯-内环-外环结构,其断裂韧性和抗热震性能较差。本文立足于制备新型结构特征Ti(C,N)基金属陶瓷,本研究工作通过设计原料成分,形成白芯-环形相结构。研究结果表明,该工作在提高断裂韧性和抗震性能方面取得了良好的效果。研究的主要工作包括四个方面:1.分压烧结工艺研究;2.Nb C和VC改变显微组织及增韧机制研究;3.(Ti,W)C-Ni金属陶瓷的显微组织和增韧