导读:本文包含了自动程序生成技术论文开题报告文献综述及选题提纲参考文献,主要关键词:程序测试输入的自动生成,模糊测试,动态符号执行
自动程序生成技术论文文献综述
曹阳[1](2019)在《程序测试输入的自动生成技术框架及其优化实现》一文中研究指出在软件开发过程中,软件缺陷始终威胁着软件的安全性以及可靠性,并且随着软件规模越发庞大、程序设计越发复杂,这一问题也将变得越发严重。而正因为如此,“测试”作为业界中的主要有效应对手段,也就显得尤为重要。其中,相比较于通过人工方式生成测试输入,“程序测试输入自动生成”在成本方面有着无可比拟的优越性,并且已经被业界广泛投入使用。目前,具备程序测试输入自动生成能力的测试技术种类繁多,包括随机测试、蜕变测试等等。而在所有相关测试技术之中,又以“模糊测试(Fuzzing Testing)”以及“动态符号执行(Dynamic Symbolic Execution)”最为典型、高效,同时彼此之间风格迥异。但是,如何生成高质量的测试输入子集以及如何快速获取目标测试输入,从而最终高效达成程序测试目标,一直都是阻碍程序测试输入自动生成进一步发展的主要难题。截至目前为止,在程序测试输入自动生成研究领域中,已经涌现出了大量的相关技术综述以及技术改进,所有这些相关工作都极大的促进了程序测试输入自动生成的发展。然而可惜的是,直到今天,程序测试输入自动生成依然存在大量问题亟待解决。我们渴望能够在本质上有所突破,从而彻底解决相关问题。但是与此同时,我们也逐渐意识到:如果想要达成这一目标,当下这种在传统理论框架下单纯进行技术改进,已经是远远不够了。所以,我们需要一个全新的、统一的视角,帮助我们理解现有相关工作的特点、优势、劣势,并且以此作为基础,便于我们提出新的程序测试输入自动生成技术。为此,我们开展了如下的主要研究工作:1.我们尝试从搜索空间的角度来理解程序测试输入自动生成,并且以此作为基础,提出了一个基于“邻居关系定义(Neighborhood Definition)”N、“邻居选择策略(Selection Strategy)”以及“初始测试输入集合(Bootstrap Test Inputs)”H0的统一技术框架,记为<N,S,H0>。这样一个统一技术框架可以包罗目前所有已知的相关技术(包括模糊测试、动态符号执行以及两者技术融合),同时也为我们提供了一个全新的、统一的视角,可以重新省视目前所有相关工作的特点、优势、劣势。2.基于这样一个统一技术框架<N,S,H0>,我们从定性分析的角度出发,通过开展一份迷你技术调研(调研了模糊测试、动态符号执行以及两者技术融合的29份具有代表性的相关工作),梳理了相关工作的历史发展脉络,与此同时,基于<N,S,H0>,我们以一个全新的、统一的视角,分析、总结了所有这些相关工作的特点、优势、劣势,并且从中挖掘了具有潜力的未来研究方向。3.基于这样一个统一技术框架<N,S,H0>,我们从定量分析的角度出发,开展了一份实证研究。在实证研究中,我们使用GNU CoreUtils作为被测程序,使用AFLfast作为模糊测试工具的代表,使用KLEE作为动态符号执行工具的代表。分析了模糊测试以及动态符号执行在现实程序上的代码覆盖表现。同时,基于所统计到的全部142处代码覆盖失败案例,我们总结了“模糊测试/动态符号执行”的代码覆盖失败原因,并且发现:“模拟不充分”占比26%/49%,“算法局限性”占比64%/40%。借此,我们考察了这两项技术间的局限性以及互补性,验证了迷你技术调研中的相关定性结论。4.基于定性分析以及定量分析,我们针对实证研究过程中所发现的AFL中搜索策略的饥饿问题,提出了动态削减低效变异操作的策略,以及基于代码覆盖差异的局部深度优先搜索算法。随后,我们在AFL的基础上进行了相关改进,实现了全新的AFLSU。通过实验,我们发现:AFLSU有效的缓解了饥饿问题,并且在代码覆盖行数方面,相比较于AFL以及AFLfast,AFLSU分别最高提高了40.35%以及36.66%,平均提高了 17.27%以及12.86%。(本文来源于《南京大学》期刊2019-05-22)
钟亚雅,熊焕[2](2019)在《广州借力科技保障律师执业权利》一文中研究指出本报讯(钟亚雅 通讯员熊焕)“张律师您好,我是李某案件的经办检察官,现在请你就该案发表意见。”近日,在电脑屏幕前,广东省广州市检察院的一名检察官通过“广州微检察”小程序与律师进行了远程视频交流,而律师只要通过手机,足不出户就能与检察官交换辩护代理意见(本文来源于《检察日报》期刊2019-01-09)
李硕[3](2018)在《程序基本路径测试用例自动生成方法和技术研究》一文中研究指出随着信息技术的飞速发展,各种各样的软件产品应运而生,并且逐渐应用到社会的各个领域,如金融业、医疗业、服务业等等。如何保证软件系统的质量渐渐成为人们的关注焦点。软件测试是开发过程中确保软件质量的一种重要工作,同时也是提高软件可靠性、易用性的重要手段。现如今,软件测试成本越来越高,所以高效率地完成测试工作是互联网行业共同追求的目标,这使得软件测试过程的自动化成为必然。软件测试的本质就是为被测系统建立测试用例集合,所以实现自动化测试的关键在于测试用例自动生成部分。在测试用例生成这一问题上,基本路径测试是一个传统的代码分析与测试技术,被广泛地应用到复杂软件分析和大型软件逻辑覆盖测试活动中。传统的基本路径测试方法是采用选取满足规约的随机数作为测试用例,没有考虑规约自动提取和规约组合优化。本文的研究重点就放在如何能够提取被测代码的约束条件,以及如何将约束条件抽丝剥茧,组合为符合所求路径的规约分式。实际上,定向生成测试用例首先需要明确被测代码的结构,其次是找到各个模块之间的逻辑依赖。本文通过代码的静态结构测试,使用编译技术实现规约的提取,并研究了对规约结果进一步操作的组合优化技术。该技术建立在代数方法的基础之上,为软件系统的逻辑结构建模,并通过数学方法求解程序的测试用例集。规约提取和组合优化这一尝试为测试用例自动化生成问题提供了新的思路,摒弃了随机性算法和搜索算法的盲目性,一定程度上弥补了运行时间和生成率方面的不足。本文给出测试用例自动生成的相应的算法,并介绍一种自主研发的应用工具。同时,通过若干案例表明了所提算法的有效性,和应用工具的可行性。(本文来源于《北方工业大学》期刊2018-05-29)
朱小征[4](2016)在《若干软件新技术在Apla→Java程序自动生成系统的实现研究》一文中研究指出当前大数据、云计算、云服务、可信软件和模型驱动软件工程(MDE)等新技术和新概念已经成为计算机和信息领域普遍关注的研究热点。本文指导老师薛锦云主持承担的国家自然科学基金重大国际合作项目“若干软件新技术及其在PAR平台中的实验研究”、基金面上项目“高可靠软件建模语言及模型自动转换方法”的研究目标均是这些热点问题。其中PAR平台中的Apla→Java程序自动生成系统正是这两项国家级课题需要设计实现上述新概念和新技术的主要开发平台。本文的研究目标就是在研发扩充Apla→Java程序生成系统功能时,基于模型驱动的软件工程架构,有效地实现事务处理、异常处理和多媒体数据处理等新技术,使之和原有的Apla—Java程序自动生成系统自然融合。本文首先认真分析研究了事务处理、异常处理和多媒体数据处理的原理、特点和最新Java程序开发平台和支撑工具,提出了和原有建模语言Apla融合的事务处理和异常处理机制,并构建了从Apla事务处理和异常处理模型到Java语言事务处理和异常处理程序的自动转换系统。基于该转换系统可以自动生成本地事务处理和分布式事务处理Java程序,并以两个应用实例进行验证。本文还根据多媒体的大数据特征,探究了将Apla中原有文本数据库处理的简单方法运用于多媒体数据库处理的可能性,获得圆满成功,进而提出和原有文本数据库操作完全融合的多媒体数据操作语言机制,构建了相应多媒体操作构件库,用基于关系代数的文本数据库处理机制,实现了多媒体数据库处理模型到Java多媒体数据库处理系统的自动转换。最后用多个实例验证了该转换系统的正确性和可靠性。本文的主要创新点如下:(1)提出了抽象的事务处理和异常处理的语言机制并将其和Apla语言中的数据库处理机制自然融合,并构建了将自然融合的事务处理抽象程序转换成对应Java程序的系统,使得可以用建模语言Apla便捷地构建十分复杂的本地和分布事务处理应用程序,有利于进行形式化验证。转换系统可以将经过验证的事务处理程序转换成对应的Java程序,大幅度提高了事务处理程序的可靠性和研发效率。这一成果在国际国内均属首创。世界着名计算科学家美国Texas大学Misra教授在他提出的Orc建模语言中十分希望能实现事务处理机制,但至今尚未成功。(2)本文提出的抽象多媒体数据处理语言机制和Apla中基于关系代数的文本处理语言机制自然融合,并构建了将自然融合的语言程序自动转换成对应Java程序的方法和系统,使得可以用Apla语言对多媒体数据便捷地构建十分复杂的多媒体应用程序并对该程序的正确性进行形式化验证。最后可以将经过验证的抽象多媒体应用程序自动转换为具体的多媒体数据处理程序。这一功能和方法国际国内均未见报导。(本文来源于《江西师范大学》期刊2016-06-01)
柳郁,孙小兵,李斌[5](2017)在《面向Java程序包的代码概要自动生成技术研究》一文中研究指出程序理解是从软件程序中获得抽象在程序中的功能和知识的过程,对软件维护有着重要的意义。研究表明,软件维护消耗了软件预算的50%到80%,而其中大概47%到62%的维护时间用于对软件系统的理解上。提出了一种面向Java程序的包概要方法,尝试从软件的语义层次出发,利用信息索引领域的潜在语义分析和数据挖掘领域的聚类算法对软件程序中的语义信息进行提取分析。对相似词汇的代码文件进行聚类,并从中提取话题对Java程序中的包进行刻画;对这些话题进行语义恢复,并利用MiniPar,一个英文词法分析器,来辅助生成程序中包的概要信息。实验结果表明该方法能够改进程序理解的效率。(本文来源于《计算机科学与探索》期刊2017年02期)
曹榕榕,郑建立,张璐,侯露杰[6](2016)在《基于ANTLR的HL7按需解析程序自动生成技术》一文中研究指出ANTLR是一种语言解析程序自动生成工具,可生成多种语言解析程序源代码。HL7是一种医疗数据交换标准,有其严格的语法定义,且上下文无关。文中构建了一个可交互的HL7按需配置Web应用,自动生成符合ANTLR规则的HL7消息语法描述文件,再经由ANTLR处理和编译器的编译,得到HL7按需解析程序。经测试和结果分析表明该技术具有可行性和应用价值。(本文来源于《信息技术》期刊2016年01期)
王学惠[7](2014)在《并行程序解析性能模型的自动生成技术研究》一文中研究指出随着人类认识自然和改造自然需求的增长,大规模高性能计算已经成为人们生产生活中不可缺少的研究方法。高性能计算被广泛应用于气象预测、航空航天、核试验等重要领域,实现科学计算的程序一般需要在成千上万个处理器上并行运行,程序自身的性能和程序与平台的匹配程度都会对运行性能和成本产生显着影响。为了改善高性能计算程序的性能,为其选择匹配的运行平台,评测高性能计算程序的性能成为研究人员的又一研究方向。高性能计算领域的科学计算程序一般是单程序多数据(Single Program Multiple Data,SPMD)形式的并行程序,因此本课题的主要研究内容是,以SPMD形式的并行程序为研究对象,设计并实现并行程序解析性能模型的自动生成方案。评测程序性能的常用方法有实际测量法、基准测试法、性能模拟法和性能模型法,每种方法都有其适用的范围和局限性。通过分析这些评测方法的优缺点,选择以性能模型法为基础建立解析性能模型自动生成方案。传统性能模型法具有人工计算量大、需要使用者深入理解程序的缺点,本课题通过在计算部分借助分析工具和在通信部分引入函数封套技术规避了这些缺点。在将性能度量角度确定为程序执行时间的基础上,对并行程序解析性能模型的自动生成问题进行了描述。通过分析SPMD程序的特征,分别将程序的计算部分和通信部分进行了数学抽象,建立了描述时间性能的模型,将平台相关的参数单独处理,为跨平台性能预测提供了前提。设计了完整的性能模型自动生成方案。以目标应用程序的LLVM(Low LevelVirtual Machine) intermediate representation(IR)文件为分析对象,这在很大程度上降低了对应用程序编程语言的限制。对于计算部分,使用辅助分析工具LLVM实现热点基本块执行次数和基本算术操作次数的自动统计,对于通信部分,通过重构应用程序的循环结构确定通信函数的主循环体,使用文本解析的方法获得主循环体的执行次数和内部的通信函数信息,最后通过曲线拟合的方法确定热点基本块执行次数和主循环体循环次数的变化规律,生成应用程序的性能模型。将解析性能模型自动生成方案应用于CGPOP(Conjugate Gradient ParallelOcean Program),生成了以运行规模为变量的性能模型。使用该性能模型评测可以测量的程序性能和预测不可测量的程序性能,并与实际测量的程序性能进行比较,从评测效果和预测效果两个方面证明了性能模型的有效性和准确性。(本文来源于《哈尔滨工业大学》期刊2014-06-01)
罗汉青,梁利平,叶甜春[8](2013)在《DSP随机测试程序自动生成技术》一文中研究指出提出了一种基于指令集结构,并可与硬件设计和测试环境相契合的自动随机测试生成方法ARTG(automatic random test program generation).它包含用于构造指令的指令树、动态生成策略、分支跳转指令生成算法、流水线冲突预测算法和一套自动结果检查机制.整个测试程序生成过程具有很高的自动化,验证遇到bug时能够减少调试时间迅速找出bug方位.ARTG已应用于自主研发的IME—Diamond数字信号处理器.实验结果表明,该方法产生的测试代码灵活高效,加速了验证过程,并且复杂度低.(本文来源于《微电子学与计算机》期刊2013年11期)
饶有福,郑国磊,陈俊,杜宝瑞,初宏震[9](2013)在《后置处理中平面轮廓拐角加工程序自动生成技术》一文中研究指出为解决早期数控程序中没有考虑拐角加工问题,本文提出了围绕NC代码识别拐角并自动生成拐角加工数控程序算法,以满足产品升级与加工高要求之需,进一步确保数控加工安全与零件表面质量。为实现拐角识别,首先总结归纳常见数控代码结构;其次还原NC代码的几何形态并采用线链表示,计算线链走向、线链边之切矢;将拐角分为点式拐角与圆弧式拐角两大类型,综合拐角的离散结构与线链的封闭性,给出了拐角的识别原理与相应准则。拐角加工按分层铣削加工,从刀具轴向上减少刀具在拐角位置处加工瞬时的切削量;各层拐角加工刀轨由进刀、切入、拐角加工、切出与退刀五段组成;层间刀轨采用进退刀连接线衔接。最后用实例验证了该算法的正确性。(本文来源于《图学学报》期刊2013年03期)
王成,杨森,孟晨[10](2012)在《面向服务的测试程序自动生成技术研究》一文中研究指出测试程序自动生成技术是新一代自动测试系统(ATS)关键技术之一。文中从面向服务的角度出发,首先建立了面向服务的测试程序自动生成总体框架;然后介绍了测试流程描述语言(Test Flow Description Language,TFDL),并通过XSLT模板将测试描述XML转化为测试流程描述语言,利用TFDL编译器将测试流程描述语言转化为C语言中间程序;最后通过商业编译器自动生成测试程序。(本文来源于《价值工程》期刊2012年28期)
自动程序生成技术论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本报讯(钟亚雅 通讯员熊焕)“张律师您好,我是李某案件的经办检察官,现在请你就该案发表意见。”近日,在电脑屏幕前,广东省广州市检察院的一名检察官通过“广州微检察”小程序与律师进行了远程视频交流,而律师只要通过手机,足不出户就能与检察官交换辩护代理意见
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
自动程序生成技术论文参考文献
[1].曹阳.程序测试输入的自动生成技术框架及其优化实现[D].南京大学.2019
[2].钟亚雅,熊焕.广州借力科技保障律师执业权利[N].检察日报.2019
[3].李硕.程序基本路径测试用例自动生成方法和技术研究[D].北方工业大学.2018
[4].朱小征.若干软件新技术在Apla→Java程序自动生成系统的实现研究[D].江西师范大学.2016
[5].柳郁,孙小兵,李斌.面向Java程序包的代码概要自动生成技术研究[J].计算机科学与探索.2017
[6].曹榕榕,郑建立,张璐,侯露杰.基于ANTLR的HL7按需解析程序自动生成技术[J].信息技术.2016
[7].王学惠.并行程序解析性能模型的自动生成技术研究[D].哈尔滨工业大学.2014
[8].罗汉青,梁利平,叶甜春.DSP随机测试程序自动生成技术[J].微电子学与计算机.2013
[9].饶有福,郑国磊,陈俊,杜宝瑞,初宏震.后置处理中平面轮廓拐角加工程序自动生成技术[J].图学学报.2013
[10].王成,杨森,孟晨.面向服务的测试程序自动生成技术研究[J].价值工程.2012
标签:程序测试输入的自动生成; 模糊测试; 动态符号执行;