抽象数据类型论文_周虹伯

导读:本文包含了抽象数据类型论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:数据类型,抽象,数据结构,代数,面向对象,递归,抽象类。

抽象数据类型论文文献综述

周虹伯[1](2013)在《应用数据类型抽象建模提高软件静态测试精度的方法研究》一文中研究指出随着软件产业化的发展,人们对软件的质量、成本和进度提出了越来越高的要求,软件测试逐渐成为了软件开发过程中不可或缺的重要环节,其中的软件静态测试由于无需执行程序且覆盖率高,而成为构建可信软件的主要手段。静态测试的结果不可能做到既是可靠的又是完备的,这样便会导致误报或漏报的产生。程序静态分析的精度是减少软件静态测试中漏报和误报的重要因素,而精确的静态分析又会导致分析效率的下降,如何将两者进行合理的折中计算是影响静态分析可行性的关键,也是国内外该领域中的研究热点。本文的研究工作受国家高技术研究发展计划“863”基金项目“软件的安全性缺陷模型及基于安全性缺陷模型的测试技术(2009AA012404)”、“网构化软件协同生产和运行演化集成台及服务环境(2012AA011201)”及国家自然科学基金项目“航天嵌入式软件缺陷检测方法研究、系统研发及应用(91018002)”的支持,在保证测试效率的前提下,以提高静态测试精度为目标,主要做了以下叁方面工作:1.基于内存关联的叁元数据类型抽象建模对于静态分析,由于并不实际运行程序本身,导致在分析过程中动态执行信息无法获取,使得和变量具体值关联的故障难于检测。为了确定程序中某操作数或参数的取值范围,需要遍历整个控制流图,根据抽象语法树上每个控制流节点的相关信息,对程序中出现的各个变量进行数据流跟踪分析,对其取值范围进行区间运算,模拟动态执行结果。传统数据流分析的二元静态分析框架<变量-值>模型并不能满足数据流分析中指向分析和别名分析的需求,进而导致分析精度下降。基于符号分析理论,可以把已分配的内存空间抽象成为一个符号,再将符号关联上一个整型区间用来表示抽象空间上的偏移量,利用上述方法建立一个新的叁元模型<变量-内存-值>。如果对所有内存中分配的空间做标记的话,势必会占用大量的内存开销,考虑到别名分析与指向分析的数据流分析对象的特性,原有的分析框架可以针对不同的需求进行二元模型和叁元模型的同时使用。本文只有当处理指针模型时才会使用叁元模型去进行静态分析。本阶段研究工作贡献主要有:(1)提出一种叁元数据类型抽象模型,将内存抽象成符号,对其也作为数据流的分析对象之一进行变量关联操作,进而为提高数据流分析精度奠定了基础;(2)将变量所在存储区内对应的具体值作为指向分析的一种属性进行计算,针对程序中指向分析相关的语句类型给出了具体的抽象语法描述,基于该描述中不同的抽象语法,提出了指向分析算法;(3)给出了基于叁元模型的数据流推导算法,并对算法的复杂度进行了分析;(4)提出了函数摘要模型,进一步实现了上下文敏感的指向分析算法。2.支持区间运算的别名分析方法当两个或多个变量同时指向一个存储单元或一片存储区域时(即内存地址相同),我们可以称它们互为别名。在控制流上进行区间集运算可以用于表示一个变量或表达式的可能取值范围,但通常的区间集运算没有考虑别名关系,导致变量取值范围修改不及时,计算不准确。由于别名分析的对象之一是内存空间,所以传统数据流分析原有的二元静态分析框架模型已经不能满足别名分析的需求。应用本文第一部分中提出的理论,可以把已分配的内存空间抽象成为一个符号,再将符号关联上一个整型区间用来表示抽象空间上的偏移量,利用上述方法建立一个新的叁元模型去计算变量间的别名关系。本文通过对不同语句进行别名分析处理后,可以为每个变量关联-个别名集合,集合中可以能是一个变量也可能是多个变量,当对别名集中的某一变量进行值更新时,对别名集中其他所有变量的值也进行更新,进一步达到利用别名分析测试提高精度的效果。本阶段研究工作贡献主要有:(1)提出了两种别名模型,一种是值关联,一种是存储空间关联的,针对不同的缺陷可以利用不同的模型进行检测,提高了测试精度和效率;(2)值关联的别名除了可以计算出变量间的直接别名关系外,通过叁元模型中内存模型的偏移量还可以计算出变量间的间接别名关系;(3)提出一种父区域思想,实现了域敏感别名分析。3.基于域敏感指向分析的区间运算在软件测试中的应用域敏感分析是将程序中所有复杂数据类型的每个成员变量都视作不同的存储对象。在软件静态测试领域中,现有符号执行和区间运算技术并不支持域敏感分析,原因是无法对成员变量进行抽象表示。考虑基于缺陷模式描述的软件静态测试机制,其常见缺陷的分析对象均为基本数据类型,例如空指针的解引用、内存泄漏、非法计算等,将复杂数据类型中的每个成员变量进行非关联性的独立分析对测试精度并无影响,而且这样做可以避免由于域敏感分析中复杂数据类型的相关信息计算导致的效率下降问题。借鉴steensgaard的指向分析原型,本文将该模型进行了支持域敏感分析的改进。本阶段研究工作贡献主要有:(1)提出了一种新的域敏感指向分析模型,该模型将复杂数据类型拆分成独立的变量进行抽象,在满足面向缺陷测试精度要求的同时,避免了对整体模型的数据流更新和合并(2)为所有变量关联一个叁元的抽象集合,该集合可以保守的描述程序动态执行信息,提供了计算缺陷状态机状态迁移时的特征条件;(3)给出了数据流计算中具体的类型推导准则和合并策略;(4)设计实现了针对CPP和GCC程序的域敏感缺陷检测工具,在保证测试效率的同时,有效的提高了测试精度。(本文来源于《北京邮电大学》期刊2013-04-01)

苏锦钿,余珊珊[2](2012)在《抽象数据类型的双代数结构及其计算》一文中研究指出程序语言中的许多抽象数据类型包含了可递归定义的语法构造和可共递归定义的动态行为特征,因此单纯利用代数或共代数难以给出完整的描述.双代数是同一载体集上的代数和共代数对,提供了一种从范畴论的角度探讨抽象数据类型上的语法构造和动态行为关系及性质的可行途径.给出抽象数据类型的双代数结构,并利用代数函子对共代数函子的分配律描述了语法构造与动态行为之间的自然转换关系;利用分配律对共代数和代数函子进行函子化提升,给出一种构造初始代数(或终结共代数)上的共代数(或代数)结构,并将其提升为初始(或终结)λ-双代数的方法.在此基础上,进一步将函子化提升应用于各种递归(包括迭代和原始递归)及共递归函数(包括共迭代和原始共递归)的定义及计算中,并给出相应的计算定律.(本文来源于《计算机研究与发展》期刊2012年08期)

苏锦钿,余珊珊[3](2011)在《抽象数据类型的双代数结构》一文中研究指出对抽象数据类型的语法构造和动态行为的性质及两者的关系而言,单纯利用代数或共代数方法进行研究存在一定的不足.文中结合范畴论及分配律给出抽象数据类型的双代数结构,并通过λ-双代数自然地描述了语法构造与动态行为之间的转换关系;分别利用分配律对共代数函子及代数函子进行函子化提升,证明这种函子化提升可以将初始代数(或终结共代数)提升为初始(或终结)λ-双代数,并将其应用于递归及共递归函数的定义及计算中.实例表明,这种函子化提升可以扩展代数中的归纳原理和共代数中的共归纳原理,从而提高程序语言对抽象数据类型的描述与性质证明能力.(本文来源于《华南理工大学学报(自然科学版)》期刊2011年12期)

邢丹,姚俊明,厉群,高婷[4](2011)在《抽象数据类型概念多角度理解的教学探索》一文中研究指出该文针对"数据结构"课程中抽象数据类型概念这一教学难点,分析抽象数据类型概念引入的原因,并从数学角度、程序设计角度以及面向对象的角度深刻理解这一概念,为学生把握"数据结构"课程内容的整体安排以及后续课程的铺垫奠定了坚实的基础。(本文来源于《电脑知识与技术》期刊2011年15期)

古天龙[5](2010)在《一类新型抽象数据类型:有序二叉决策图》一文中研究指出有序二叉决策图OBDD(Ordered Binary Decision Diagram)是布尔函数的一种规范表达形式、一种的新的数据结构。基于OBDD能够完成布尔函数的有效表述和操作运算,可以看作为一类新的抽象数据类型。OBDD在VLSI逻辑综合和验证的成功应用结果引起了学术界和工业应用界的极大关注。迄今为止,OBDD技术及其工业应用已有了长足的发展、产生了不少的研究结果。本文对OBDD相关技术问题、OBDD扩展形式、OBDD应用等方面的研究现状进行了综述和讨论。(本文来源于《桂林电子科技大学学报》期刊2010年05期)

杜莹,于静洋[6](2009)在《抽象数据类型概念的教学探索》一文中研究指出本文针对"数据结构"课程中抽象数据类型概念这一教学难点,分析抽象数据类型与具体数据类型的区别及联系,主要结合抽象数据类型概念的面向对象特性,详细讲述在实际授课过程中如何引导学生去理解这一概念。(本文来源于《计算机教育》期刊2009年04期)

晏素芹[7](2008)在《面向对象方法与抽象数据类型的实现》一文中研究指出讨论了抽象数据类型的面向对象的实现方案。以"栈"为例,说明面向对象方法在抽象数据类型实现中的应用。(本文来源于《内蒙古科技与经济》期刊2008年19期)

朱振元,朱承[8](2007)在《对象技术与抽象数据类型的实现》一文中研究指出讨论了抽象数据类型的实现方案,并以"线性表"为例,说明对象技术在抽象数据类型实现中的应用。对于一种抽象的数据类型,先将它定义成一个抽象类,再结合某一种具体的存储方式加以实现。采用这种对象技术的特点是,任何存储方式或实现细节的改变都不会影响外界对类的使用。这种设计原则已应用于面向对象版的"数据结构"课程之中,取得了良好的效果。(本文来源于《计算机工程》期刊2007年15期)

吉冬梅[9](2005)在《数据结构、数据类型和抽象数据类型》一文中研究指出主要阐述了数据结构、数据类型和抽象数据类型的概念,每个术语所讨论的内容,以及它们所应用的领域,同时讨论了它们的区别、联系。(本文来源于《吉林粮食高等专科学校学报》期刊2005年02期)

范若素,师春祥[10](2000)在《多个栈共享空间的抽象数据类型》一文中研究指出本文分析总结了两个栈共享空间的顺序存储结构和多个栈共享空间的链式存储结构 ,建立了其抽象数据类型 ,提供了具体的实现方法 ,弥补了一般教材在多栈问题上论述的不足(本文来源于《内蒙古科技与经济》期刊2000年S1期)

抽象数据类型论文开题报告

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

此处内容要求:

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

写法范例:

程序语言中的许多抽象数据类型包含了可递归定义的语法构造和可共递归定义的动态行为特征,因此单纯利用代数或共代数难以给出完整的描述.双代数是同一载体集上的代数和共代数对,提供了一种从范畴论的角度探讨抽象数据类型上的语法构造和动态行为关系及性质的可行途径.给出抽象数据类型的双代数结构,并利用代数函子对共代数函子的分配律描述了语法构造与动态行为之间的自然转换关系;利用分配律对共代数和代数函子进行函子化提升,给出一种构造初始代数(或终结共代数)上的共代数(或代数)结构,并将其提升为初始(或终结)λ-双代数的方法.在此基础上,进一步将函子化提升应用于各种递归(包括迭代和原始递归)及共递归函数(包括共迭代和原始共递归)的定义及计算中,并给出相应的计算定律.

(2)本文研究方法

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

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

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

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

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

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

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

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

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

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

抽象数据类型论文参考文献

[1].周虹伯.应用数据类型抽象建模提高软件静态测试精度的方法研究[D].北京邮电大学.2013

[2].苏锦钿,余珊珊.抽象数据类型的双代数结构及其计算[J].计算机研究与发展.2012

[3].苏锦钿,余珊珊.抽象数据类型的双代数结构[J].华南理工大学学报(自然科学版).2011

[4].邢丹,姚俊明,厉群,高婷.抽象数据类型概念多角度理解的教学探索[J].电脑知识与技术.2011

[5].古天龙.一类新型抽象数据类型:有序二叉决策图[J].桂林电子科技大学学报.2010

[6].杜莹,于静洋.抽象数据类型概念的教学探索[J].计算机教育.2009

[7].晏素芹.面向对象方法与抽象数据类型的实现[J].内蒙古科技与经济.2008

[8].朱振元,朱承.对象技术与抽象数据类型的实现[J].计算机工程.2007

[9].吉冬梅.数据结构、数据类型和抽象数据类型[J].吉林粮食高等专科学校学报.2005

[10].范若素,师春祥.多个栈共享空间的抽象数据类型[J].内蒙古科技与经济.2000

论文知识图

一4协议中各抽象数据类型之间的关...抽象数据类型的类层次结构一4预定义规则的生成f196一4generation...空间数据几何抽象模型SFS基于预定义数据类型的要素表的实现...位视图示意图

标签:;  ;  ;  ;  ;  ;  ;  

抽象数据类型论文_周虹伯
下载Doc文档

猜你喜欢