当前位置:首页 > 公众号精选 > 电子与信息学报
[导读]苏州空天信息研究院23室软件工程技术部在充分发挥自身在技术研发、人才资源优势的基础上,时刻关注和研究国内外软件工程领域的发展动态和技术导向,不断探索新方向,采用新技术,研发优化新产品,于2020年开始着手研发技术体制验证平台等产品。


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

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

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

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

图1 本发明的整体架构图

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

图2 动态插桩示意图

过程验证的原理如图3所示。

图3 过程验证示意图

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

图4 插桩日志预处理示意图

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

图5 过程建模示意图

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

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


专利联系作者:刘亮 部长


苏州空天信息研究院

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

苏研院是原电子所为满足国家国防战略科技需求,破解基地、人才等发展瓶颈,释放创新生产力,与苏州工业园区共同发起成立的地方事业法人单位。中国科学院正在实施以四类机构改革为核心的率先行动计划,其中,由中国科学院电子学研究所、遥感与数字地球研究所、光电研究院重组建设中国科学院空天信息研究院(以下简称空天院),是在空天电子信息技术领域实施的重大体制改革举措之一,对四类机构改革具有示范意义。苏研院作为原电子所的重要组成部分,是空天院优化科研布局的重要承载平台和科研成果转化平台。

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


苏研院首期开发建设了4.7万平方米科研、配套设施,拥有一支450余人的高水平技术研发队伍,开拓了平台架构技术、图像解译技术、星地信息处理技术等9个技术方向,科研保障体系全面建成,管理体系有效运行,主持或参与承担国家“863”任务、中科院重大任务、国防重点任务以及省市地区科技项目等科研任务近60项。

苏研院将依托空天院的科研优势,结合区域特色,在国家创新体系和区域源头创新活动中打造“示范效应”,未来形成一支超过1000人规模的结构合理、创新能力卓越、流动有序的高水平研发队伍,成为运行管理体系先进高效、重大任务保障有力、并与地方发展紧密融合的高水平研究机构。在与区域发展战略接轨的基础上,汇聚和造就一流人才、培育和转化一流成果、催生和布局一流产业,为国家战略需求和区域经济发展做出一流贡献。



作 者 | 苏州空天信息研究院二十三室

策 划 | 姜 丽、马秀强

校 对 | 融媒体工作室

审 核 | 陈 倩

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

业内消息,日前欧洲软件巨头SAP宣布了一项重组计划推动人工智能增长,该计划将涉及大约8000名员工的岗位调整,这些员工将被纳入自愿休假计划和内部再培训措施,即鼓励员工自愿离职或进行内部转岗。

关键字: AI 重组 软件 裁员 SAP

业内消息,国家工信部近日公布了今年前三季度我国软件和信息技术服务业的具体情况,整体运行态势平稳,软件业务收入两位数增长,利润总额保持较快增长,软件业务出口降幅收窄。

关键字: 工信部 软件

嵌入式系统是一种特殊的计算机系统,它被嵌入到其他设备中,以完成特定的任务。嵌入式系统的结构组成是由硬件和软件两部器、输入输出设备和总线等组件,而软件部分则包括操作系统、应用程序和驱动程序等。

关键字: 嵌入式 计算机 软件

嵌入式软件系统是现代技术中广泛应用的一种软件形式,它通常嵌入在各种设备中,如汽车、电子设备、医疗设备等。由于这些设备的功能和性能对人们的生活至关重要,因此对嵌入式软件系统进行全面而有效的测试非常重要。本文将介绍如何对嵌入...

关键字: 嵌入式 设备 软件

安全态势可控、移动安全可及、安全开发可行

关键字: 软件 软件安全 智能终端

嵌入式系统已经成为现代生活中不可或缺的一部分,它们被广泛运用于各行各业,包括智能手机、汽车、家用电器、医疗设备等。在全球嵌入式软件市场中,中国作为制造业大国,自然也扮演着重要的角色。本文将详细分析国产嵌入式软件的发展趋势...

关键字: 嵌入式系统 软件 人工智能

在众多行业的数字化转型过程中,基于硬件的数据处理加速是构建高性能、高效率智能系统的关键之处,因而市场上出现了诸如FPGA、GPU和xPU等许多通用或者面向特定应用(如NPU)的硬件加速器。尽管它们的性能和效率都高于通用处...

关键字: 软件 硬件 FPGA GPU
关闭