当前位置:主页 > 科技论文 > 软件论文 >

面向函数调用关系的软件度量及可视化

发布时间:2020-11-09 05:45
   随着信息技术的迅速发展,软件的迭代式升级开发使软件的规模和复杂性不断增加,模块化的设计思想导致了软件系统中的函数调用越来越多,软件的质量和可靠性变得难以把控。软件度量采用定量化的分析方法来控制软件开发过程的质量,提升软件可靠性。现有的软件度量方法主要有面向结构的软件度量和面向对象的软件度量两种,大多是基于软件设计方式和项目驱动管理的,无法针对大型项目中复杂的函数调用进行有效的分析和度量,同时也缺乏可视化等高效的度量手段,不能满足大型软件系统的软件度量需求。本文基于现有软件度量技术,提出了一套面向函数调用的软件度量机制,并提供了可视化的度量展示与分析平台。主要包括以下工作:1.提出了函数调用关系集构建机制。以抽象语法树、模块划分等技术为基础,可以构造软件系统的完整函数调用关系。2.在第一个工作的基础上提出了函数闭包的概念用于描述函数可达性,并提出了相应的闭包发现机制。通过找到从某个函数入口的一个函数调用子图,从而发现不可达函数集,为不可达代码的度量提供了前提。3.提出了面向函数调用关系的软件度量体系,定义了文本度量指标和可视化度量指标,包括:函数属性、递归调用存在性、扇入/扇出、调用层数、函数可达性及函数覆盖率等,以及相应的评估标准,进而可以围绕这些度量指标构建相应的软件度量机制。4.最后设计了层次化函数调用关系可视化度量平台。在提出的度量机制基础上设计了一种层次化布局算法,利用可视化技术分析和度量软件的函数调用关系,这一可视化度量方法对软件领域中的很多场景都具有意义。上述方法在CTS代码测试系统中得到了应用,在实际工程中得到了验证。结果表明,本文所提度量机制可以通过可视化的方式高效度量大型软件系统中的函数调用关系。
【学位单位】:北京邮电大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TP311.5
【部分图文】:

抽象语法树,表达式,形式表示


树上的每个节点对应源代码中的语句,通过语法分析过程可以得到抽象语法树。??在实际应用中,经常会根据需要对抽象语法树做适当的简化和修改。??表达式b*b-4*a*c的分析树如图2-1所示,所用的文法与C语言相似。??expression??I??expression?term??|?/?I?\??丨?Z?I??teriT!?term?‘?*,?factor??/?I?\?/?I?\?I??term?*?factor?temi?*?factor?identifier??factor?identifier?factor?identifier?‘,??I?c??I?i?|??identifier?‘b,?identifier?‘a,??‘b’?‘4,??图2-1表达式b*b-4*a*c的分析树??将上述表达式以抽象语法树形式表示,如图2-2所示。??6??

控制流图,抽象分析,表达式,控制流图


节点的有向图。??在控制流图中,每个结点所对应的是一条程序语句,每条有向边表示的是从??一条语句到另一条语句的控制流。简化的控制流图如图2-3所示。??图2-3简化的控制流图??2.1.4模块划分??测试单元是一个可以最后驱动运行的测试模块,对它进行测试用例生成,最??终要求这些测试用例能够满足这个单元的覆盖率要求。模块划分有自动划分和人??7??

控制流图,控制流图


??‘4,?'a’??图2-2?表达式b*b-4*a*c的抽象分析树??2.1.3控制流??自20世界70年代以来,结构化程序的概念逐渐被人们普遍接受。用于刻画??程序结构的控制流图已经有很长的历史,对于用结构化程序语言书写的程序,则??可以通过使用一系列规则从程序或抽象语法树推导出其对应的控制流图。因此,??控制流图和程序是一一对应的。??定义2.1有向图G=(V,E),V是顶点的集合,E是有向边的集合。e=(T(e),H(e))??GE是一对有序的邻接节点,T(e)是尾,H(e)是头。如果H(e)=T(e’),则e和e’是??临界边。H(e)是T(e)的后继节点,T(e)是H(e)的前驱节点,indegree(n)和outdegree(n)??分别是节点n的入度和出度。控制流图即是具有单一的、固定的入口节点和出口??节点的有向图。??在控制流图中,每个结点所对应的是一条程序语句,每条有向边表示的是从??一条语句到另一条语句的控制流。简化的控制流图如图2-3所示。??图2-3简化的控制流图??2.1.4模块划分??测试单元是一个可以最后驱动运行的测试模块
【参考文献】

相关期刊论文 前5条

1 龚丹丹;王甜甜;苏小红;马培军;;冗余代码缺陷检测方法[J];哈尔滨工业大学学报;2012年07期

2 刘志宏;;借助自动化测试工具提高单元测试效率[J];信息技术与标准化;2007年12期

3 赵国庆,杨南应,贾振洋,范典,黄荣怀;概念图的布局算法研究[J];开放教育研究;2005年05期

4 李心科,刘宗田,潘飚,邢大红;一个面向对象软件度量工具的实现和度量实验研究[J];计算机学报;2000年11期

5 弓惠生;;面向对象设计中软件度量学的进展[J];计算机科学;1996年03期


相关博士学位论文 前1条

1 邢颖;测试用例自动生成的分支限界算法及实验研究[D];北京邮电大学;2014年


相关硕士学位论文 前4条

1 王中义;软件系统函数调用关系的复杂性研究[D];石家庄铁道大学;2013年

2 李青翠;单元自动化测试系统中路径选择方法的研究与设计[D];北京邮电大学;2011年

3 陈瑜;基于复杂性度量改善软件设计质量的研究[D];西北工业大学;2007年

4 李兴南;软件测试度量的研究及其工具STMT开发[D];西北大学;2005年



本文编号:2875981

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2875981.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户d6e43***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com