程序演化论文_王甜甜,许家欢,王克朝,苏小红

导读:本文包含了程序演化论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:程序,软件,示例,错误,形貌,编译器,恒星。

程序演化论文文献综述

王甜甜,许家欢,王克朝,苏小红[1](2019)在《示例演化驱动的学生程序自动修复》一文中研究指出已有的程序自动化调试研究大多面向工业软件,而学生程序调试具有缺陷数多、类型复杂等特有难点问题,因此,针对学生程序设计应用背景,研究程序自动修复方法,利用模板示例程序指导补丁的演化.改进了遗传编程算法,包括适应度的计算、变异体的生成方式和变异位置及操作的选择方式,使其更加适合修复学生程序.提出了基于示例的静态错误定位方法,能够识别缺陷程序和参考程序差异和可能的变异操作,有效地缩小补丁的搜索空间以提高修复的准确性.提出了基于执行值序列的变量映射方法,以降低变异体的编译错误,提高修复的准确性.在此基础上,设计并实现了示例演化驱动的Java学生程序自动修复系统.实验结果表明,该方法可以修复含有多缺陷学生程序,对于所用的测试集,当学生程序只有1个~2个错误时,修复率将近100%;当含有3个缺陷时,修复率约为70%;当含有4个及以上缺陷时,修复率约为50%.(本文来源于《软件学报》期刊2019年05期)

许家欢[2](2018)在《基于示例演化的Java学生程序错误自动修正》一文中研究指出本文研究了程序自动修正方法,并设计了一个学生程序自动修正系统,针对高校Java语言课程的编程练习,为学生提交的有缺陷的程序代码提供修正方案。由于学生程序具有程序规模小、含有丰富的模板程序、程序中包含多个缺陷等特征,教师人工检查大量学生程序的错误会耗费大量的时间和精力。目前现有的程序自动修正方法多为针对工业程序,且能够修正的错误具有局限性,取决于变异算子的设计,以及现有修正方法大多只能修正程序中的单个错误,对于包含多个缺陷的程序则无法解决,且程序修正的准确性一般依赖于错误定位的准确性,故修正的时间效率较低,占用空间较大。本文针对学生程序的特点研究基于示例演化的学生程序修正方法,并完成系统设计,设计并实现了基于示例演化的Java学生程序自动修正系统,学生在本系统上练习编程题,可以对学生提交的程序代码进行自动修复,为学生用户提供修正方案作为参考,减少教师的工作量。针对上述问题,本文完成了如下工作:首先,使用遗传编程算法中的适应进化结构作为系统的整体框架,从程序的变异方法、变异体的存储、种群的生成和适应度的计算几个方面改进传统的遗传编程方法,不断迭代选择淘汰不适合的变异体,从中选择修正程序。其次,采用从示例程序的语法树中挖掘与学生程序的语法树相似结构的子树并与之替换的方法进行程序的变异,实现程序的自动修正。为了提高程序自动修正的准确性,采用语法树子树挖掘匹配的方法,选择与学生程序的语法结构最为近似的教师模板程序作为标准示例程序,从相似度最大的标准示例程序中进行语法树子树匹配挖掘和替换。为了提高自动修正的时间效率,本文采用了语法树结构相似度算法,匹配学生程序的语法树和示例程序的语法树的语法结构相似性,静态的定位两棵语法树的在相同结构下的相似但不完全相同的节点,提高该类节点被遗传算法选择的概率,避免盲目选择错误位置。最后,本文使用真实求职编程网站上的题目与学生提交的程序作为测试集,通过实验分析验证了程序自动修正系统可以准确修复存在多个缺陷的学生程序并给出修正方案。(本文来源于《哈尔滨工业大学》期刊2018-06-01)

石权,戴舒宇,王德真[3](2017)在《利用叁位程序SURO,对鱼氦轰击下钨粗糙表面演化的模拟研究》一文中研究指出在磁约束聚变装置中,由于高能氢同位素粒子以及氦灰的轰击,与等离子体接触的材料需要遭受强烈的热辐射,对装置内壁提供充分的保护,并且不会破坏芯部等离子体的运行。钨材料具有低溅射率、高熔点等优点,被认为是下一代聚变装置中偏滤器的首选材料。然而,在使用钨的过程中也发现了其潜在的缺点。实验表明,当温度在1000——2000K,粒子入射能量超过20电子伏时,钨表面会形成纳米级别的绒毛结构[1]。这种结构很脆弱,并且会使钨的热传导性变差,从而加剧了材料表面的侵蚀,使杂质增多。因此,理解氦对钨表面轰击造成的影响,对于偏滤器区域杂质的控制有很重要的意义。本文使用SURO程序[2]研究了经过电荷交换后的中性氦粒子对于不同钨表面轰击的影响。此外,我们也研究了不同氦流量下,钨表面的演化情况。(本文来源于《第十八届全国等离子体科学技术会议摘要集》期刊2017-07-26)

[4](2016)在《全新程序精确模拟宇宙演化》一文中研究指出广袤的宇宙一直是人类渴望了解的最终目标之一,随着引力波的发现,我们对于宇宙的认知也越来越深入。日前,瑞士日内瓦大学的研究人员开发了一款名为"gevolution"的数值模拟程序,它能将时空的转动与引力波等相关因素均考虑在内,精确模拟宇宙的演化过程。在"gevolution"的帮助下,科学家将会对衡量时空(本文来源于《科学24小时》期刊2016年05期)

罗达诗[5](2015)在《面向演化的程序设计语言》一文中研究指出在现实世界中各个物质系统所持有的属性虽然不同,然而在单一物质系统里存在着大量相同属性的实体。例如,在生物系统中,生物都具备着年龄,性别和生命等这样的属性;在天体系统中,天体都具备着质量,运行速度和引力等属性。对于这样的演化系统,由于系统里的实体数目庞大,且实体之间的相互影响是具有偶然性和随机性的,这种看似无规律的复杂运动形态使模拟演化有一定困难。演化系统的研究大多数是从事生物或天文等非计算机专业人员,在计算机编程演化时又需要考虑到并发编程、时间驱动和消息驱动等程序设计的因素,想要通过计算机语言进行模拟仿真或者演变是困难重重的;而计算机专业人员又要储备很多的生物或天文等领域的知识才能编写出完善的演化程序。考虑到同时熟练掌握计算机和其它专业知识的人员并不多见,本论文以面向演化为目的,设计出有针对性的程序设计语言。论文首先分析演化系统在程序设计方面的特性:面向演化包括了消息驱动与时间驱动的编程思想,它需要一个基本的时间调度器控制着单个实体有计划的循环执行,实体间的交互由消息来传递,通过每个实体自身的演化,达到系统的整体演化效果。因为系统里的实体数量众多,程序采用多线程编程达到演化的目的。论文的主要工作有两方面,其一,论文的程序设计以XML语言为源语言,并使用XSD对XML语言进行规范。XML的简洁性、易理解性、易开发性以及跨平台性,使开发人员更易于编程。语言的设计偏向于声明式编程,降低非计算机人员的学习成本,从而更专注于亟待解决的问题。通过XSD对XML语言进行规范,将演化系统的主体分成了两个部分:实体和消息,实体有着自身属性和行为,而实体间的联系由消息来传递。XSD良好的设计规范使得XML语言更明了完备的描述出演化系统的性质。论文第二个方面的工作是:论文设计出健壮的编译器。由于XML作为扩展可标记语言本身不具备可编译性,因此,JAVA语言由于其并发性以及跨平台性作为我们的编译语言。论文描述了JAVA编译器的设计原理,通过对消息池,实体以及线程池的设计,JAVA编译器能够达到结合时间驱动、消息驱动以及并发编程的目的。因此,对于XML的语言编程将不必再考虑程序设计上的问题。(本文来源于《兰州大学》期刊2015-05-01)

张钱生[6](2013)在《恒星演化程序》一文中研究指出我编写了一个恒星演化程序,该程序可以计算中小质量恒星从中心温度为10万度的PMS演化至TP-AGB或白矮星的过程。本报告介绍该程序的输入物理、主要性质及计算实例。(本文来源于《2013中国天文学会学术年会文集》期刊2013-10-28)

张勇,范从来,陈峥嵘,陈新明[7](2013)在《中国货币政策操作程序演化和货币市场利率波动的传递性》一文中研究指出文章通过对2006年3季度中国人民银行实施央票工具调控目标转变这一政策事件的观察,展开对我国货币政策操作程序的演化分析,并对当前货币政策操作程序下货币市场利率波动的传递性进行实证研究。研究表明,随着利率形成机制从单一行政管制向双轨制过渡,货币政策操作程序已初步实现了从准备金总量程序向利率程序演化。在利率双轨制约束的操作程序下,人民银行能够稳定市场预期,引导货币市场利率,有效降低市场利率波动的传递性。(本文来源于《经济科学》期刊2013年03期)

段继男[8](2013)在《基于需求驱动的企业应用程序演化方法研究》一文中研究指出企业应用程序在其生命周期中需要不断演化以适应频繁变更的需求,企业应用程序不能顺利演化给企业带来极大成本,相关研究成果在一定程度上缓解了该问题,但仍存在诸如需求描述不精确、建模过程困难、演化缺乏灵活性或者后期难以维护等不足,因此在企业应用程序的演化过程中,如何精确地描述需求、进行建模和有效地进行需求变更传播等问题仍有待进一步研究解决。为克服现有方法的缺陷,本文从分析企业应用程序演化问题的本质出发,讨论了基于需求驱动演化的优势和必要性,提出了一种基于需求驱动的企业应用程序演化方法,对该方法进行了如下的相关研究工作:1)为捕捉和描述企业应用程序需求,提出了精化用例(refined usecase)的概念,给出了相关的形式化定义和一系列精化用例的修改操作,以精确地捕捉和描述企业应用程序的需求变更,研究了修改操作的修改过程及其一致性维护等问题,在精化用例形式化定义的基础上给出了一个精化用例描述语言,为后续演化提供了一个坚实的基础。2)针对传统程序模型不能很好地适应企业应用程序持续演化的缺陷,提出了一个可增量式修改的概念模型,给出了其形式化定义和一组建模规则,研究了模型演化过程中涉及的类型兼容等相关问题,给出了一系列增量式修改操作,以在保留模型内部一致性的前提下不断更新已有模型,从而帮助企业应用程序模型适应需求的频繁变更。3)为解决将需求变更向应用程序进行传播的问题,本文提出了一个修改操作映射框架,该框架可将精化用例修改操作映射成模型修改操作,研究了可把精化用例层变更传播至模型层的修改映射规则,结合实例分析了针对已有模型的持续重构或新增模型元素的过程,研究了基于模型驱动生成的企业应用程序代码演化方法。4)为便于在实践中进行具体的演化活动,本文还设计和实现了一个精化用例描述语言解析器和一个基于需求驱动的企业应用程序演化工具原型,分析了工具的架构设计和工作流程,并将本文提出的方法应用在一个石化过程通用建模优化平台软件的演化实例上,应用结果验证了方法可在需求驱动下,并在维护一致性的基础上进行需求更改的增量式传播,最终帮助企业应用程序顺利地实现演化。(本文来源于《北京化工大学》期刊2013-05-31)

朱天梅[9](2012)在《基于程序聚类的软件模块化质量演化监控技术研究》一文中研究指出随着软件系统的演化,系统的模块化结构会逐渐偏离其最初设计,并且这种偏离的不断积累通常会降低软件的可维护性,损害软件的整体质量,甚至使软件更容易引入缺陷或错误,进而导致严重的软件灾难。因此,如何客观地评价软件系统的模块化质量,以及如何发现和改正软件模块化结构中可能存在的问题,已经成为一个非常重要的研究课题。本文讨论了持续监控软件系统模块化质量演化状况的方法,帮助项目管理者更及时、全面地掌握软件系统的演化现状,同时还探讨了分析软件模块重构风险的方法,该方法可以帮助维护者更具针对性地进行系统维护。观察软件模块结构的角度有很多,每个角度所关注的内容各不相同。不同模块化视图之间的一致性越高,往往预示软件的可维护性也更高。因此,软件演化过程中各种模块化视图之间的偏离程度,是估计软件模块化质量的重要线索。本文中我们考虑了叁种模块化视图,即:包结构视图、语义聚类视图、以及结构聚类视图,并尝试通过比较各种模块化视图之间的差异,对软件模块化质量进行评估。通过采用基于分散度的方法可以分析系统中各个模块的重构风险。对演化中的软件系统进行持续的模块化质量评估,还可以尽早发现软件演化过程中可能存在的模块化质量问题,甚至预测软件模块化质量的演化趋势。为了验证本文方法的有效性,我们在叁个开源软件项目的124个演化版本上进行了实验。通过与传统的模块度量方法进行比较,表明采用本文方法获得的重构风险预测结果与实际重构活动有较好的吻合度,从而证实了该方法的有效性。另外,我们通过使用历史演化数据重现软件的演化过程,以实际发生的演化行为和相关记录作为预测结果的评判标准,最终也证实了本文所提模块化质量监控方法和演化模式的合理性。(本文来源于《复旦大学》期刊2012-04-20)

周逸勋,陈海波[10](2011)在《使用抽象语法树匹配分析Java程序演化》一文中研究指出软件在生命周期中一直在发生演化,对软件演化的分析可以揭示软件发展的一些基本规律。现有方法通常使用改变的代码行数作为软件演化的指标,但是这项指标不能反映软件架构的变化,也不能帮助理解软件演化的具体情况。使用抽象语法树匹配ATS(Abstract Syntax Tree)进行代码分析能够更清楚地了解软件中发生改变的具体内容。针对Java语言编写的软件,可以了解静态域的添加、删除和类型修改;类的添加、删除、类型修改和方法体修改。这些信息能更好地帮助理解软件演化。(本文来源于《计算机应用与软件》期刊2011年08期)

程序演化论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

本文研究了程序自动修正方法,并设计了一个学生程序自动修正系统,针对高校Java语言课程的编程练习,为学生提交的有缺陷的程序代码提供修正方案。由于学生程序具有程序规模小、含有丰富的模板程序、程序中包含多个缺陷等特征,教师人工检查大量学生程序的错误会耗费大量的时间和精力。目前现有的程序自动修正方法多为针对工业程序,且能够修正的错误具有局限性,取决于变异算子的设计,以及现有修正方法大多只能修正程序中的单个错误,对于包含多个缺陷的程序则无法解决,且程序修正的准确性一般依赖于错误定位的准确性,故修正的时间效率较低,占用空间较大。本文针对学生程序的特点研究基于示例演化的学生程序修正方法,并完成系统设计,设计并实现了基于示例演化的Java学生程序自动修正系统,学生在本系统上练习编程题,可以对学生提交的程序代码进行自动修复,为学生用户提供修正方案作为参考,减少教师的工作量。针对上述问题,本文完成了如下工作:首先,使用遗传编程算法中的适应进化结构作为系统的整体框架,从程序的变异方法、变异体的存储、种群的生成和适应度的计算几个方面改进传统的遗传编程方法,不断迭代选择淘汰不适合的变异体,从中选择修正程序。其次,采用从示例程序的语法树中挖掘与学生程序的语法树相似结构的子树并与之替换的方法进行程序的变异,实现程序的自动修正。为了提高程序自动修正的准确性,采用语法树子树挖掘匹配的方法,选择与学生程序的语法结构最为近似的教师模板程序作为标准示例程序,从相似度最大的标准示例程序中进行语法树子树匹配挖掘和替换。为了提高自动修正的时间效率,本文采用了语法树结构相似度算法,匹配学生程序的语法树和示例程序的语法树的语法结构相似性,静态的定位两棵语法树的在相同结构下的相似但不完全相同的节点,提高该类节点被遗传算法选择的概率,避免盲目选择错误位置。最后,本文使用真实求职编程网站上的题目与学生提交的程序作为测试集,通过实验分析验证了程序自动修正系统可以准确修复存在多个缺陷的学生程序并给出修正方案。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

程序演化论文参考文献

[1].王甜甜,许家欢,王克朝,苏小红.示例演化驱动的学生程序自动修复[J].软件学报.2019

[2].许家欢.基于示例演化的Java学生程序错误自动修正[D].哈尔滨工业大学.2018

[3].石权,戴舒宇,王德真.利用叁位程序SURO,对鱼氦轰击下钨粗糙表面演化的模拟研究[C].第十八届全国等离子体科学技术会议摘要集.2017

[4]..全新程序精确模拟宇宙演化[J].科学24小时.2016

[5].罗达诗.面向演化的程序设计语言[D].兰州大学.2015

[6].张钱生.恒星演化程序[C].2013中国天文学会学术年会文集.2013

[7].张勇,范从来,陈峥嵘,陈新明.中国货币政策操作程序演化和货币市场利率波动的传递性[J].经济科学.2013

[8].段继男.基于需求驱动的企业应用程序演化方法研究[D].北京化工大学.2013

[9].朱天梅.基于程序聚类的软件模块化质量演化监控技术研究[D].复旦大学.2012

[10].周逸勋,陈海波.使用抽象语法树匹配分析Java程序演化[J].计算机应用与软件.2011

论文知识图

系统中的每个精化用例都是从不同业务流程的...精化用例描述语言解析器架构精化用例描述语言解析器的工作流程演化环境控制终端Fig.6-5Evolutionen...前台程序的演化界面可动态演化程序类接口

标签:;  ;  ;  ;  ;  ;  ;  

程序演化论文_王甜甜,许家欢,王克朝,苏小红
下载Doc文档

猜你喜欢