单函数Java程序到CPN模型转换工具的设计与实现

来源 :内蒙古大学 | 被引量 : 1次 | 上传用户:gaochao321
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前,软件应用十分广泛,在软件开发的前期检测出错误的代价比后期发现并修改的代价要低。传统的基于模型的测试方法存在两方面的弊端,一是手工建模,模型的正确性不易保证,二是建模和测试的工作量很大,效率偏低。因此,本文设计并实现一个单函数Java程序到着色Petri网(Colored Petri Net,CPN)模型的转换工具。通过读入待测程序,自动分析处理并导出完全符合CPN Tools格式的模型文件。一方面,生成CPN模型的过程实现了自动化,提升建模效率;另一方面,本工具不是针对软件需求建模,而是直接针对代码实现建模,自动导出了符合CPN Tools格式的模型文件,可进一步使用CPN模型检测技术发现模型的错误,从而直接发现代码中的算法错误。本文完成了如下工作:(1)读入待测程序:对单函数Java待测程序进行读入、分析及存储处理。其中声明语句采用链表存储,其他语句采用二叉树存储,通过树中结点的左右子树区分后续语句的嵌套关系。(2)转换待测程序:对程序中的变量定义、流程控制及操作处理等分析,完成程序到CPN模型的转换。其中,程序中定义的变量转换为模型中的token流转,通过颜色集和变量组完成;程序中全部处理语句转换为CPN模型,通过模型元素完成,包括位置、变迁、弧、变迁防卫表达式、弧表达式等。(3)生成模型文件:根据CPN Tools模型文件格式生成并导出模型文件。导出的模型文件可直接由标准CPN Tools打开,用于基于模型检测的算法错误发现。最后,通过实例应用及执行效果分析,说明本文实现的单函数Java程序到CPN模型转换工具能够自动完成针对程序的建模工作,能够提升建模效率,有利于下一步通过模型检查技术检查算法错误,能够在一定程度上提升软件质量。
其他文献
随着软件规模的扩大和软件复杂度的不断升,软件配置故障已成为导致软件系统失效的主要原因之一。目前软件系统内的配置项约束及其相互之间关联关系的复杂性是导致软件配置故
在当今社会,伴随着社交网络、物联网、互联网等技术的普及,全球数据信息正以指数级的速度爆炸性增长。而数据的存储量也由TB、PB到EB、ZB甚至YB不断扩大。然而,在人们的生活
精密单点定位(Precise Point Positioning,PPP)是一种高精度的单点定位技术,自从1997年Zumbeger等人提出精密单点定位技术,国内外许多专家学者从模型以及算法等多方面进行了
在科学研究和工程领域中许多问题都是由多个相互冲突的目标组成,一般称这一类问题为多目标优化问题。基于种群的进化算法在单次运行中能得到一个近似的Pareto解集,因此多目标
近年来,幻构人脸技术作为图像超分辨率(Super-Resolution,SR)的分支,受到了人脸图像邻域研究学者的重点关注。幻构人脸技术通过挖掘低分辨率(Low-Resolution,LR)人脸图像中的
图像识别在自动驾驶、医疗诊断等许多领域有着广泛的应用,而图像分割的结果将会在很大程度上影响到图像识别的准确性和正确性。之前对于图像分割的研究主要集中在对灰度图像
传统的无线多媒体传感器网络(WMSN)节点仅配备一路摄像机,图像感知区域有限,无法在同一时间实现全向的观测。由多个WMSN节点组成的观测网络,又存在覆盖失衡、数据传输冗余等
集成电路(IC)工艺和设计方法的提高,在单个芯片上集成多个芯片实现更为复杂的功能成为可能,系统芯片(SOC)集成技术在这种背景下应运而生。SOC的实现是采用知识产权(IP)核复用
随着卷积神经网络的发展,以及硬件技术的进步和大数据时代的到来,物体检测技术不仅检测率得到大幅提升,而且检测速度也极大加快。这使得物体检测在一些要求实时检测的系统中
复数值前向神经网络因其强大的计算能力与和良好的泛化性能等优点,在众多领域得到了广泛的应用。在具体的网络结构设计过程中,激励函数需要满足有界性和可导性。但是根据刘维