首页 > 信息 > 正文
苏州空天信息研究院在软件工程领域创新性地提出一种程序运行过程符合性验证方法

 2022-09-07 05:59  阅读 71

摘要:苏州空天信息研究院 23 室软件工程技术部在充分发挥自身在技术研发、人才资源优势的基础上,时刻关注和研究国内外软件工程领域的发展动态和技术导向,不断探索新方向,采用新技

  苏州空天信息研究院 23 室软件工程技术部在充分发挥自身在技术研发、人才资源优势的基础上,时刻关注和研究国内外软件工程领域的发展动态和技术导向,不断探索新方向,采用新技术,研发优化新产品,于 2020 年开始着手研发技术体制验证平台等产品。

  苏州空天信息研究院 23 室软件工程技术部于 2020 年 12 月 1 日,申请了一篇名为《一种程序运行过程符合性验证方法》的发明专利,本专利技术提供了一种程序运行流程验证的方法,通过插桩埋点、数据建模等方法直观、定量地展示出程序运行时内部的执行流程信息,自 2021 年 6 月应用于技术体制验证平台以来,取得了非常可观的效益,避免了人工误判的风险以及人力的损耗,填补了针对软件运行过程符合性验证的空白。

  随着软件应用规模的日益扩大和软件应用环境的日益复杂,如何保证软件质量、软件的规范性以及标准符合性等逐渐成为人们关注的焦点,软件自动化验证技术也因此得到了迅猛的发展。软件插桩技术是软件自动化验证中的关键技术,对于软件运行时监测有着重要的意义。所谓插桩,即在目标程序内部植入探针程序,通过探针程序嗅探目标软件内部的运行逻辑和流程并将特征数据抛出,分析这些特征数据获取目标程序控制流和数据流信息,进而得到逻辑覆盖等动态信息,以此来实现对目标程序的监测。目标代码插桩技术因其高效性和低侵入性得到了很多软件测试开发者的青睐,被广泛应用于软件系统监控、软件测试方法性能评价等领域,然而未应用于软件程序过程符合性验证中。

  本发明提出了一种程序运行过程符合性验证方法,包括动态插桩和过程验证两个环节。动态插桩接收并解析用户传入的指令,执行插桩启停过程,并回传过程数据日志;过程验证接收过程数据日志,提取日志中方法间的关系(包括顺序、并行、选择、循环等)建立过程图模型,并将过程图模型与标准规则进行顺序匹配,从而验证程序运行过程的标准符合性。本发明的整体框架及工作情况如图 1 所示。

  动态插桩的原理如图 2 所示。动态插桩工作时,接收并处理用户通过 URL 形式发来的终端请求,终端请求包括插桩动作类型、任务 ID、目标软件端口号以及拦截规则等参数;JavaAgent 程序解析传入的参数,得到待插桩程序段的绝对位置以及插桩拦截方式,插桩拦截方式包括定位到包进行拦截和定位到具体方法进行拦截,根据拦截方式的不同,调用不同的 JavaAgent 字节码处理程序对拦截目标代码进行遍历,并将遍历得到的目标字节码添加至 JavaAgent 机制提供的插桩算法程序中;插桩算法程序获得目标字节码后,判断该字节码的目标程序类是否已经被加载至 Java 虚拟机中,若尚未加载,则根据 JavaAgent 程序中预先编写的部署程序将插桩语句块部署到目标字节码中,若已加载,则调用 JavaAgent 机制提供的 attach 功能将插桩语句块部署到目标字节码中,插桩语句块包括编辑完成的系统时间获取语句块与日志记录语句块,当目标软件执行到插桩点时,执行植入的代码进行信息获取和日志信息生成,插桩日志作为最终图形化验证对象的数据来源,需为文本文件格式,日志内容由若干条目组成,条目描述信息细化至待测程序函数方法块。

  过程验证工作时,接收并处理过程数据日志,根据插桩日志中记录的请求 URI 信息区分不同的操作,对于每一次操作,按照执行先后顺序提取日志中的方法名,将方法名用数字编号形成数字链,通过一系列数字链实现对于某次任务不同操作轨迹信息的量化描述,插桩日志预处理原理如图 4 所示;

  根据轨迹信息,采用算法生成过程图模型,算法存在 3 种关系,第一种是顺序关系 ,例如,13 表示 1 出现在 3 前面,第二种是并行关系 ,例如,13 表示 13 且 31,第三种是选择关系 #,例如,1#3 表示从未出现过 13 和 31,过程建模原理如图 5 所示;

  将目标软件的轨迹过程图模型与软件运行过程标准中既定的规则进行匹配,验证目标软件的执行顺序是否符合规范,若不符合规范则报出相应的错误,错误类型包括两种,一是规则中出现了未执行的方法,二是规则顺序不符合规范。

  本专利既是苏州空天信息研究院 23 室软件工程技术部团队成员心血凝聚的结晶,也是科研创新实力的展示,为技术体制验证平台提供了强有力的科技支撑,也为多个项目提供了核心技术支撑。苏州空天信息研究院 23 室软件工程技术部将始终注重新产品的研发,并将知识产权作为重中之重,提高核心竞争能力,促进快速稳健发展。

  2014 年 6 月 6 日,原中国科学院电子学研究所(以下简称原电子所)与苏州工业园区签订了共建中国科学院电子学研究所苏州研究院(现更名为苏州空天信息研究院,以下简称苏研院)合作协议。协议的签署,标志着苏研院的建设正式启动。

  苏研院建设总投资 10 亿元,规划总占地面积约 130 余亩,位于苏州工业园区纳米城东南角、独墅湖之畔,拟建设成 20 万平方米理念先进、布局合理、功能配套齐全、环境优美的现代科研园区。苏研院是以开展电子信息技术研发与应用为主的实体机构,主要面向国防、国民经济和区域发展战略需求,致力于电子信息技术领域核心关键技术突破、共性技术研发、应用系统集成和成果产业化转移。

  本号发布信息旨在传播交流。如涉及文字、图片、版权等问题,请在 20 日内与本号联系,我们将第一时间处理。《电子与信息学报》拥有最终解释权。

关键字: 信息 / 领域 / 研究院 / 苏州 / 创新 / 软件工程 / 空天 / 
诺基亚5310复刻版上市参数保留音乐快捷键经典设计 曹颖简介(曹颖百度百科) 苏妙玲个人资料(苏妙玲百科) 购房百科丨精装房和毛坯房买哪个比较好? 汽车百科:吸能块发泡工艺 iPhone14缺乏创新三星:高像素和月亮模式早就有了 华为nova7新品发布会在哪看手机发布会直播平台汇总 比亚迪护卫舰红旗MPV大哥大奔驰EQE电力十足2022下半年必火王炸车 北京自动驾驶示范区将扩至500平方公里 小米米家烹饪机器人发布号称“1台能顶35用”

本站涵盖的内容、图片、视频等模板演示数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!


Copyright © 版权所有 | 联系方式:osnev93x5o@gmail.com