流程图代码自动生成算法的研究与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:mechanical123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模变得越来越大,自动化测试的效率也越来越重要。在软件测试领域,有大量的测试用例需要执行,每条用例对应的执行代码的逻辑结构可能不尽相同,如果每条用例的代码都手动编写,将浪费很多的人力资源。应用流程图代码生成技术可以提升软件测试的执行效率。在流程图代码自动生成技术中,其难点在于流程图结构的线性化过程。本文考虑到流程图元之间的组合或者嵌套关系,提出了用二叉树来保存流程图的技术。二叉树的一个节点保存顺序关系,而用另一个节点保存嵌套关系,这使得二叉树可以很好地保存流程图中的信息,最重要的是流程图的线性化工作变的简单,对二叉树执行一次扫描就可以生成代码,提高了流程图的解析效率。本文提出自底向上的解析过程,每次添加、删除图元后都要更新二叉树以保证二叉树与流程图的对应关系。这种保存结构可以很好的支持多层if分支结构和switch结构。可以绘制包含continue、break和return语句的半结构化流程图。可以识别流程图中非法的流程线。使用循环不变式可以非形式化地证明算法的正确性,算法分析表明对流程图进行修改后重新生成代码的时间复杂度减少。
其他文献
无线Mesh网络和无线传感器网络是两类特殊的无线自组织网络。无线Mesh网络主要应用于替代传统的用于连接最终用户的最后一英里线路,以降低接入用户的布线成本。无线传感器网络
频繁项集挖掘可以广泛应用在关联规则挖掘、相关性分析、入侵检测、序列模式、分类和聚类等多种数据挖掘任务中。迄今为止已经提出了许多高效的频繁项集挖掘算法。本文对大量
软件规模估算是否及时和准确,对软件项目的成败具有决定性意义。功能点分析方法是国际上流行的软件规模度量方法,它以“功能点数”作为软件规模的单位。功能点数与编程语言无关
数字签名在提供消息完整性的同时,还能确保消息来源的真实性,使得消息具有不可否认性,在网络安全协议中具有重要而广泛的用途。网络环境中的一些数字签名应用,往往要求一方的实体
Web服务技术作为一种新型的应用技术,近年来得到了迅速的发展。它建立在XML基础上,是为解决应用层集成而提出的开放式技术架构。Web服务技术利用基于XML格式的SOAP消息进行数据
极小曲面问题,又称为Plateau问题,目的是为了寻找以给定空间曲线为边界的面积极小的曲面,它从18世纪提出到现在一直是微分几何和偏微分方程理论的重要课题。极小曲面的平均曲率
基于规则的语言模糊模型具有较高可解释性,但是由于对规则结构有严格的限制所以其模型的适应性不强因而精度低。相反,基于规则的贴近度模糊模型由于没有严格的规则限制而具有适
形式概念分析自1982年由德国的Wille教授提出以后,近年来被广泛用于软件工程、知识发现、信息检索等领域。概念格是形式概念分析中的核心数据结构,通过Hasse图来表现出概念之
Internet的开放性使其得到了广泛的应用,但同时也带来了很多问题,每一个终端都有可能成为被攻击者,由此引起的DDOS攻击广泛的存在于Internet中,其本质是向受害主机发送大量的数据
随着通信技术的迅速发展,网络以及通信协议日益复杂。实际的网络是由多个网络设备组建而成的。作为网络的核心,路由设备和运行在其上的路由协议实现的正确性对网络性能起着举足