首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 687 毫秒
1.
常天佑  魏强  耿洋洋 《计算机应用》2017,37(12):3574-3580
针对可编程逻辑控制器(PLC)程序在进行NuSMV模型检测时需要手工对程序进行建模,不仅浪费人力且容易出错的问题,提出一种基于状态转移的PLC程序模型自动化构建方法。该方法首先分析结构化文本(ST)语言特性并解析ST程序为抽象语法树;其次,在抽象语法树基础上,根据不同的文法结构进行控制流分析生成控制流图;然后,通过数据流分析得到程序依赖图;最后,根据程序依赖图生成NuSMV的输入模型。实验结果表明,所提方法实现了ST程序到NuSMV输入模型的自动化构建,并且构建的NuSMV输入模型既保留了ST程序的原有特性又符合NuSMV模型检测工具输入的规范,与传统手工模型构建方法相比,提高了模型生成的效率和准确率。  相似文献   

2.
张晔  陆余良 《计算机科学》2017,44(Z11):348-352
符号约束描述了程序中的变量关系,被广泛运用于模型检测、符号执行等程序的静态分析方法中。将符号约束应用于可编程逻辑控制器(PLC)程序的正确性验证,能够发现程序中的逻辑错误。人工计算符号约束不仅冗杂枯燥,而且错误率高。针对语句表形式的PLC程序,提出一种基于符号约束的正确性验证方法,通过分析PLC源代码的控制流及数据流,构造程序的控制流图并将其转换为静态单赋值形式的三地址码,最后使用迭代计算的方法求出每个变量的符号约束。  相似文献   

3.
为准确刻画程序的控制流和正确地提取程序控制结构,给出可执行代码控制流分析的整体架构和算法,阐述可执行代码反汇编结果的抽象表示、程序控制流构造等技术。反汇编结果抽象表示采用简化汇编语言中间表示(SAIR)以保证分析的简洁性和严密性。基于SAIR给出程序控制流构造函数,设计程序控制流构造算法并给出分析实例。  相似文献   

4.
对非结构化的程序代码进行理解分析对代码理解能力不强的测试人员存在一定难度。为了减轻静态代码分析的难度,本文首先采用程序切片算法将程序进行预处理,利用过程蓝图对代码进行可视化操作形成程序的中间表示形式抽象语法树。然后对其构造和特点进行研究,提出抽象语法树的遍历算法。通过该算法得到程序的控制流图。最后,利用控制流图和控制树,对静态代码进行高效的控制流分析,监测这些代码是否满足安全性、可靠性等方面的指标,为检测和处理软件缺陷降低成本。  相似文献   

5.
软件脆弱性对网络与信息安全产生了极大的威胁,而脆弱性的根源在于软件源代码。因为现有的传统静态检测工具和基于深度学习的检测方法没有完整地表示代码特征,并且简单地使用词嵌入方法转换代码表示,所以检测结果准确率低,误报率高或漏报率高。因此,提出了一种基于混合代码表示的源代码脆弱性检测方法来解决代码表示不完整的问题,并提升检测性能。首先将源代码编译为中间表示(IR),并提取程序依赖图;然后基于数据流和控制流分析进行程序切片来得到结构化的特征,同时使用doc2vec嵌入节点语句得到非结构化的特征;接着使用图神经网络(GNN)对混合特征进行学习;最后使用训练好的GNN进行预测和分类。为了验证所提方法的有效性,在软件保证参考数据集(SARD)和真实世界数据集上进行了实验评估,检测结果的F1值分别达到了95.3%和89.6%。实验结果表明,所提方法有较好的脆弱性检测能力。  相似文献   

6.
HCDFG-II—面向C语言系统描述的控制/数据流图表示   总被引:1,自引:0,他引:1  
介绍了基于C语言系统描述的面向软硬件划分的一种中间表示———层次化控制 /数据流图HCDFG II及其转换方法 HCDFG II根据C语言的特点对HCDFG进行了扩充 ,通过引入内存访问结点来表示和处理C程序中的数组及指针 ,通过定义并发结构来表示C程序中的可并发部分 同时 ,由于HCDFG II采用以控制流为主的结构 ,从C语言进行转换十分容易 这使得它能有效地作为C语言系统描述的中间表示 ,并为软硬件划分提供了更加精确的信息  相似文献   

7.
文章以PLC为主控制器设计纸机电气传动控制系统,并对纸机传动控制所涉及的速度链控制、张力控制、负荷分配控制以及系统通信等问题进行分析与研究,然后提出实现方法,利用PLC进行编程,随后针对控制系统的实现作好以下工作:(1)实现各PLC之间、PLC和上位监控计算机之间、PLC和操作面板之间的通信,并给出了程序框架:(2)分析研究速度链控制、张力控制、负荷分配控制的各类控制方法,并对其中控制效果较好的数字式速度链控制、直接张力控制、基于转矩控制的负荷分配控制等进行软件设计;(3)建立PLC和组态的通信方法,并对上位监控界面设计作好规划。  相似文献   

8.
直接面向可执行程序进行安全漏洞分析时,首先需要得到二进制代码的中间语言表示。探讨了流分析技术在汇编代码理解中的应用,并在Linux平台上实现了一个轻量级汇编代码结构化表示工具BESTAR。该系统利用控制流和数据流分析技术识别通用控制结构,分析程序执行流,重构表达式和函数,发现数据依赖关系,将汇编代码转换成一个结构化、易理解的中间语言程序,为进一步进行安全分析打下了基础。  相似文献   

9.
HCDFG-Ⅱ-面向C语言系统描述的控制/数据流图表示   总被引:1,自引:0,他引:1  
介绍了基于C语言系统描述的面向软硬件划分的一种中间表示——层次化控制/数据流图HCDFG—Ⅱ及其转换方法.HCDFG—Ⅱ根据C语言的特点对HCDFG进行了扩充,通过引入内存访问结点来表示和处理C程序中的数组及指针,通过定义并发结构来表示C程序中的可并发部分.同时,由于HCDFG—Ⅱ采用以控制流为主的结构,从c语言进行转换十分容易.这使得它能有效地作为C语言系统描述的中间表示,并为软硬件划分提供了更加精确的信息.  相似文献   

10.
针对凯亚(CAILLARD)斗轮堆取料机自动功能一直不能投用的遗留问题,介绍了斗轮机自动堆煤的动作原理以及在整治遗留问题的过程中发现和处理的通讯程序错误、MOBY读卡系统瘫痪、电容料位探头设备故障等问题,介绍了实现斗轮机控制的PLC系统配置及有关的自动控制程序。最后从提高设备运行经济性、可靠性等方面介绍了斗轮机自动堆煤功能投用后的实际效果。  相似文献   

11.
针对Java单元测试自动化程度和测试效率较低的问题,对基于Java程序的基本路径测试方法进行研究,提出了基于Java代码的基本路径生成方法和程序插桩方法,给出了插桩节点和控制流图节点的定义。首先,通过对Java源代码进行分析,构建程序的控制流图,进而对控制流图进行遍历生成基本路径集合;然后,对被测程序进行插桩,以获取程序的执行路径,插桩过程中保持节点和基本路径中的节点一致,使得插桩后的被测程序执行时得到的路径能够和基本路径集合进行自动化比对;最后,通过以测试数据为输入执行被测程序,对执行路径和基本路径进行比较,判断测试数据集对基本路径的覆盖度。通过实验,验证了所提出方法的有效性。  相似文献   

12.
风险评估是保证工业控制系统安全的重要机制,当前,信息安全和功能安全的耦合越来越紧密,考虑到不同组织的业务目标和运营环境多样化程度高,工控系统信息安全风险评估应紧密结合业务目标。基于目标-问题-度量(GQM)模型,从目标确定、问题描述、度量指标定义工控系统风险评估流程,以工控系统所承载的业务目标为指引,基于风险场景模型提出问题,围绕提出的问题收集信息,根据收集的信息和数据对度量指标进行关联分析和评价。最后,以PLC风险评估为实例,具体说明和验证了基于GQM模型的工业控制系统风险评估方法的有效性。  相似文献   

13.
多媒体应用程序的一个最突出的特点就是其内在的并行性,要求同时对多个数据单元进行相同的规则操作,这种并行性被称为子字并行。如何让编译器产生有效的并行代码,如何从普通的串行C程序中识别出子字并行指令,是一个前沿性的研究课题。提出了一种用于实现对串行源代码进行显式表示的方法,该方法对数字信号处理领域常用的同步数据流图方法进行改进,结合模式匹配技术,着眼于内层循环,通过扩展规范的模式库,对带模式识别的数据流、控制流进行分析,能够从串行应用程序中自动地提取其固有的子字并行,得到显式的并行化中间表示,基于这种数据流图表示,采用改进的树模式匹配实现子字并行指令选择和代码生成。实验测试表明了该方法的有效性。  相似文献   

14.
针对现有的通风机监控系统采用单个PLC控制整个系统运转而存在安全隐患的问题,提出了采用2个PLC组成软冗余系统的方案:一个PLC作为主站,控制整个通风机监控系统,执行不需要进行数据同步的非冗余程序和完成控制功能、报警、模拟量的冗余程序;另一个PLC作为备站,只执行非冗余程序。PLC软冗余系统的应用提高了通风机监控系统的可靠性,满足了安全生产需要。  相似文献   

15.
矿用PLC控制程序组态技术   总被引:1,自引:1,他引:0  
孔维社 《工矿自动化》2012,38(12):27-29
针对PLC在煤矿井下应用时存在现场编程困难及继承性差的问题,提出了一种基于梯形图语言的矿用PLC控制程序组态技术,并以双机双速驱动的刮板输送机控制程序为例,介绍了该技术的基本原理和实现方法。该组态技术可将用于煤矿井下的PLC控制程序标准化,用户只需通过人机界面上的配置界面修改某些参数即可满足现场需求。实践证明该组态技术编程方便,提高了控制程序的可靠性和用户友好性。  相似文献   

16.
在分析PLC技术应用的基础上,用单按钮PLC控制案例介绍了PLC控制程序的编写方法,剖析了PLC编程技术的基本思路,以助于提高初学者的程序设计能力。  相似文献   

17.
随着程序的规模的扩大和复杂度的提高,通过直接分析源码进行程序切片,变得十分困难。在现有的利用编译优化技术来优化程序切片的方法中,存在无法有效利用程序的编译时信息和编译器的优化技术,以及对语言的支持不完善的问题。为此,分析了GCC编译器在编译时的中间表示,首次提出了基于GCC关键变量数据流分析算法的程序切片技术,以程序的GIMPLE中间表示为基础,以程序基本块为单位,通过迭代求解数据流方程,分析程序基本块内和不同基本块间的关键变量数据流信息。该程序切片技术可以获取源程序中仅与预设目标函数相关的关键变量和关键语句,缩减程序规模。最后通过实验,证明了该算法的可行性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号