CN103699389A - 一种基于编译选项的Linux内核模块关系提取方法 - Google Patents
一种基于编译选项的Linux内核模块关系提取方法 Download PDFInfo
- Publication number
- CN103699389A CN103699389A CN201310746159.3A CN201310746159A CN103699389A CN 103699389 A CN103699389 A CN 103699389A CN 201310746159 A CN201310746159 A CN 201310746159A CN 103699389 A CN103699389 A CN 103699389A
- Authority
- CN
- China
- Prior art keywords
- function
- file
- relation
- kernel
- source code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种基于编译选项的Linux内核模块关系提取方法。本方法为:1)将内核源代码根据其功能及逻辑关系进行划分,形成虚目录;2)对Linux内核实目录下每一个Kconfig文件进行语法分析,识别出所有的编译选项;然后从同目录下的编译文件解析出每个编译选项所需的源码文件;3)根据虚目录,以源码文件作为中介,将编译选项划分到相应的虚目录中;4)对每一源码文件进行正则分析,得到源码文件中定义的函数以及变量;5)对每一函数和变量的具体实现源码进行解析,提取出函数之间、变量之间的调用关系;6)根据上述关系构建出内核组织架构。本发明并不依赖于某一内核版本,可以清晰明了的获取内核模块间关系。
Description
技术领域
本发明属于Linux内核的源码分析领域,涉及一种基于编译选项的Linux内核模块关系提取方法,主要应用在分析Linux各版本内核源码过程中,使使用者可以尽快了解Linux内核的架构与关系。
背景技术
Linux内核交互式图解软件是基于Linux内核源码,以编译选项为核心,来分析和梳理内核各级(目录级、编译选项级、文件级和函数、变量级)层次之间关系的,并通过矢量图,来清晰明确地展示内核架构和关系。
Linux操作系统以其开源源码、高性能和高可靠性等诸多优势在商业服务器和个人桌面系统中得到日益广泛的应用。近年来,随着Linux内核的不断发展和完善,内核变得日趋庞大,想深入了解其模块的划分以及各个模块的功能机制,也变得相对困难。同时,Linux内核的可定制性也是非常高的,它有着数以万计的编译配置选项,针对于不同的需求可以进行相应的配置。但是,这么大数目的编译配置选项也正是问题的所在,不管是初学者,还是内核的精通者,都无法保证能了解到每个编译配置选项处于内核的哪个大模块中,以及编译选项配置所涉及的文件等等。
因此,我们需要一种工具,能够帮助我们有效地了解和学习庞大的Linux内核源码。并可以随着Linux版本的变迁,能够快速的进行更新。目前相关的软件和工具Doxygen。
Doxygen是一种开源跨平台的,以类似Java Doc风格描述的文档系统,完全支持C语言语法的分析。通过Doxygen,我们可以对Linux源码进行分析,并生成相关的函数调用图。然而,Doxygen存在着明显的缺点。第一,它的安装配置相对较为复杂,要生成Linux源码的所有函数关系图,需要很长的时间。第二,它无法从宏观上给出Linux源码的架构图,很难让使用者从宏观上对Linux有直观的了解。
但是,通过我们的发明,可以有效的解决上述问题。从而使得使用者可以从多方面认识和学习内核源码。
发明内容
针对现有技术存在的技术问题,本发明的目的在于提供一种基于编译选项的Linux内核模块关系提取方法。
本发明的技术方案为:
一种基于编译选项的Linux内核模块关系提取方法,其步骤为:
1)将内核源代码根据其功能及逻辑关系进行划分,形成虚目录;
2)对Linux内核实目录下每一个Kconfig文件进行语法分析,识别出所有的编译选项;然后对同目录下的编译文件进行语法分析,解析出每个编译选项所需的源码文件;
3)根据划分好的虚目录,以源码文件作为中介,将编译选项划分到相应的虚目录中;
4)对每一源码文件进行正则分析,得到源码文件中定义的函数以及变量;
5)对每一函数的具体实现源码进行解析,提取出函数之间的调用关系;对每一变量的具体实现源码进行解析,提取出变量之间的调用关系;
6)根据上述获取的虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系构建出Linux内核组织架构。
进一步的,根据函数之间的调用关系、变量之间的调用关系获取到编译选项之间的依赖关系。
进一步的,采用php语言读取虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系;然后调用raphael插件和jquery库来在网页上渲染出相应的Linux内核组织架构图。
进一步的,当在所述Linux内核组织架构图上选取某一编译选项时,根据该编译选项的名称查询该编译选项所包含的源码文件,并返回给前台界面。
进一步的,当在所述Linux内核组织架构图上选取某一源码文件时,根据该文件在源码目录下的路径名搜索该文件中定义的函数和变量,并返回给前台。
进一步的,当在所述Linux内核组织架构图上选取一函数时,根据该函数的函数名和文件路径查询该函数所依赖的函数,发送给前台并画出对应的矢量图。
进一步的,根据内核源代码的功能及逻辑关系划分虚目录,并建立源码文件在虚目录下的全路径与内核源码中全路径的一一对应关系。
进一步的,所述虚目录包括:进程管理,内存管理,系统运行,文件系统,网络模块,安全模块,设备管理和虚拟化。
本发明主要体现在两个方面:虚目录和基于编译选项的交互式图解软件。首先,在内核分析的基础上,将内核源代码根据其功能及逻辑关系进行了重新划分,形成虚目录;然后,在虚目录的基础上,从内核编译选项出发,对内核源码进行解析,从而清晰的展示出内核各个“虚目录”包涵的编译配置、编译配置需要的源码文件、文件中包含的函数和变量,以及各级(目录级、编译选项级、文件级和函数、变量级)层次之间的关系。接下来,对此两点发明进行详细说明。
以下重点阐述发明中的两个要点:
一、宏观上,基于内核特点的虚目录的划分规则:
本发明是对于Linux内核架构、编译选项以及各层次关系的详细展示。Linux内核源码的固有架构(目录划分)是相对工程化的,并不是很便于用户的理解,比如:kernel文件夹意义并不是很明确;实际运行的Linux系统中只有一个体系架构,内存管理等模块并没有细化等等。
于是本发明提出了虚目录的思想,虚目录是与实目录(即内核源码的相对路径)相对应的说法。本发明将内核源代码根据其功能及逻辑关系进行了重新划分。与实目录相比,虚目录体现了内核的逻辑结构,虚目录按照内核的功能对源码进行了重新的组织,更人性化,更体现了源码的相关性和功能性。虚目录相对于实目录,最大的改变在于以下几点:
1、/kernel文件夹(内核通用机制相关):实目录中,此文件夹的意义并不是很明确,它包含的文件功能涉及到很多模块,需要将其划分到多个模块中。
2、/arch文件夹(体系架构相关):实际运行的Linux系统中只有一种体系架构,任一体系结构中包含的文件也是涉及到内核中的各个大模块的,为了保证其他各个模块功能的完整性,需要将/arch文件夹下的体系架构所包含的文件细分到其他各大模块中,剩余的common的文件应该隶属于系统管理。
3、/mm(内存管理相关)、/virt/kvm(虚拟化相关)等目录:内核中有一些这样的模块,从它的机制来理解,它应该是架构分层的,但是在实际的源码中却并非如此,它是包含的所有文件平级的放在了一个大文件夹下,对于这样的模块,我们按照架构和功能对其重新做了划分。
对于虚目录的划分,主要是从以下四个方面来综合考虑来进行划分的:
众所周知,功能相关联或者类似的内核代码大多都在相同目录下(比如ext4和btrfs都在fs目录下),因此Linux内核源码的组织方式可以作为模块划分的一个重要参考;将Linux内核分成以下八大模块,进程管理,内存管理,系统运行,文件系统,网络模块,安全模块,设备管理和虚拟化,同时,由于各个大模块的功能和复杂程度各不相同,为了较好的对各模块进行分析,我们并没有拘泥于严格的模块分层,而是针对每个特定的模块进行了适当的分层,从而更好的完成对各个模块的分析。
二、微观上,内核模块关系确定的策略:
当知道内核的模块划分后,我们可以通过软件分析的理论和方法来获取内核模块之间的关系。
首先,我们把内核源码分为以下4个层次,如图1所示。顶层为上述的虚目录,虚目录包含多个编译配置选项组成,每个编译配置选项包含多个源码文件,每个源码文件中又包含多个函数,或者变量等。
其次,通过对实目录下每一个Kconfig文件(即实目录下命名为”kconfig”的文件)进行语法分析,可以识别出所有的编译选项。这里,在Kconfig文件中,以”config XXX”开头的行中,XXX即为编译选项。然后,我们可以对同目录下的Makefile文件(编译文件)进行语法分析,解析出每个编译所需要的源码文件,我们知道,Makefile文件中,会列出编译的中间文件,如aio.o,那么所需的源码文件为同名的c文件(这里aio.c)。接着,根据之前划分好的虚目录,以源码文件作为中介,将编译选项划分到相应的虚目录中。这样就可以很清楚的知道内核的哪些功能(虚目录)都需要哪些配置选项去配置,以及每个配置选项配置需要涉及到哪些源码文件。之后,我们需要分析每个.c文件。根据c99语法中的规范,我们知道函数,变量定义的定义格式,通过对.c文件进行正则分析,匹配语法规范中的定义格式,我们可以得到该文件中定义的所有的函数,以及变量。这样,我们就可以获取虚目录,编译选项,源码文件,函数或者变量的包含关系,如图4。
最后,为了深入到最底层来了解每个功能的实现,我们对文件进行解析,提取出具体函数以及变量的调用关系。这里,我们通过逐行分析函数的具体实现源码,可以从每一行中提取出函数名,这样就可以获取到该函数所需要调用的其他函数(变量采用类似做法)。
与现有技术相比,本发明的积极效果为:
1.使用简单,本系统并不依赖于某一内核版本,只需要提供划分好的虚目录源码或者内核实际源码,即可生成对应的模块和关系图。
2.采用虚目录的划分方式,合理的划分内核模块,同时通过有效的关系判定规则,可以清晰明了的获取内核模块间关系。
附图说明
图1、内核源码层次图;
图2、系统架构构建流程图;
图3、系统模块划分图;
图4、爬取模块流程图。
具体实施方式
本发明的系统架构构建流程图如图2所示,我们的系统采用B/S架构来实现。主要包含三个部分,如图3所示:
1.关系爬取部分:这里我们采用python语言,按照发明内容中第二部分介绍的策略,分析内核源码,并把源码结构和关系,存入到数据库中。
具体过程如图4,爬取模块流程图所示:首先,我们需要划分虚目录,并建立数据库中存储任一源码文件在虚目录下的全路径与内核源码中全路径的一一对应关系;然后通过分析每个实目录下的Kconfig文件,获取到每个编译选项,这样就可以把虚目录和编译选项对应起来。接着通过分析makefile文件,获取到每个编译选项对应的.c文件,然后通过分析每个.c文件,找到其中定义的函数和变量信息,并把以上所有信息都存入数据库中。
最后,由于函数、变量等是在编译选项所对应的文件中定义的,那么通过分析函数,变量之间的调用关系,我们可以获取到编译选项之间的依赖关系,并把这些信息存入数据库中。
2.中间层部分,这里我们采用php语言,读取步骤1数据库中的数据信息,然后发送给前端。
3.前端部分,我们解析收到的php部分发送过来的数据,通过调用raphael和jquery库来在网页上渲染出相应的结构和关系图,即Linux内核组织架构图,供使用者使用。具体流程如下所示:
首先,我们会从数据库中获取到虚目录以及每个虚目录所包含的编译选项信息,以及这些编译选项之间的关系,并通过raphael插件来在网页上渲染出来。
其次,当用户点击一个编译选项时,我们会将该编译选项的名称发送给后台,后台会在数据库中查询该编译选项所包含的源码文件,并返回给前台界面;当用户点击某一个源码文件的时候,我们会将该文件的信息(在源码目录下的路径名)传给后台,由后台搜索该文件中定义的函数和变量,并返回给前台;当用户点击一个具体的函数时,我们会将该函数的信息(函数名和函数所属的文件路径)传递给后台,在数据库中查询该函数所依赖的函数,并发送给前台,由前台画出对应的矢量图。
Claims (8)
1.一种基于编译选项的Linux内核模块关系提取方法,其步骤为:
1)将内核源代码根据其功能及逻辑关系进行划分,形成虚目录;
2)对Linux内核实目录下每一个Kconfig文件进行语法分析,识别出所有的编译选项;然后对同目录下的编译文件进行语法分析,解析出每个编译选项所需的源码文件;
3)根据划分好的虚目录,以源码文件作为中介,将编译选项划分到相应的虚目录中;
4)对每一源码文件进行正则分析,得到源码文件中定义的函数以及变量;
5)对每一函数的具体实现源码进行解析,提取出函数之间的调用关系;对每一变量的具体实现源码进行解析,提取出变量之间的调用关系;
6)根据上述获取的虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系构建出Linux内核组织架构。
2.如权利要求1所述的方法,其特征在于根据函数之间的调用关系、变量之间的调用关系获取到编译选项之间的依赖关系。
3.如权利要求1所述的方法,其特征在于采用php语言读取虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系;然后调用raphael插件和jquery库来在网页上渲染出相应的Linux内核组织架构图。
4.如权利要求3所述的方法,其特征在于当在所述Linux内核组织架构图上选取某一编译选项时,根据该编译选项的名称查询该编译选项所包含的源码文件,并返回给前台界面。
5.如权利要求3所述的方法,其特征在于当在所述Linux内核组织架构图上选取某一源码文件时,根据该文件在源码目录下的路径名搜索该文件中定义的函数和变量,并返回给前台。
6.如权利要求3所述的方法,其特征在于当在所述Linux内核组织架构图上选取一函数时,根据该函数的函数名和文件路径查询该函数所依赖的函数,发送给前台并画出对应的矢量图。
7.如权利要求1所述的方法,其特征在于根据内核源代码的功能及逻辑关系划分虚目录,并建立源码文件在虚目录下的全路径与内核源码中全路径的一一对应关系。
8.如权利要求1或7所述的方法,其特征在于所述虚目录包括:进程管理,内存管理,系统运行,文件系统,网络模块,安全模块,设备管理和虚拟化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746159.3A CN103699389B (zh) | 2013-12-30 | 2013-12-30 | 一种基于编译选项的Linux内核模块关系提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746159.3A CN103699389B (zh) | 2013-12-30 | 2013-12-30 | 一种基于编译选项的Linux内核模块关系提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699389A true CN103699389A (zh) | 2014-04-02 |
CN103699389B CN103699389B (zh) | 2016-11-16 |
Family
ID=50360928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310746159.3A Expired - Fee Related CN103699389B (zh) | 2013-12-30 | 2013-12-30 | 一种基于编译选项的Linux内核模块关系提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699389B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090748A (zh) * | 2014-05-22 | 2014-10-08 | 西安电子科技大学 | 基于Makefile的源码精简器进行精简源码的方法 |
CN105184168A (zh) * | 2015-09-02 | 2015-12-23 | 青岛工业软件研究所(中国科学院软件研究所青岛分部) | Android系统源码漏洞关联影响的追踪方法 |
CN105426187A (zh) * | 2015-11-13 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种添加输入设备驱动的系统以及方法 |
CN105740477A (zh) * | 2016-03-18 | 2016-07-06 | 中国科学院信息工程研究所 | 针对大规模嵌入式设备固件的函数搜索方法和搜索引擎 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN107577476A (zh) * | 2017-08-07 | 2018-01-12 | 中国科学院软件研究所 | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 |
CN107885503A (zh) * | 2017-11-11 | 2018-04-06 | 湖南大学 | 一种基于程序特征分析的迭代编译优化方法 |
CN109117140A (zh) * | 2018-07-12 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种分布式构建支持多内核应用程序的方法及系统 |
CN111008152A (zh) * | 2019-12-26 | 2020-04-14 | 中国人民解放军国防科技大学 | 一种基于函数依赖图的内核模块兼容影响域分析方法、系统和介质 |
CN111966383A (zh) * | 2020-09-03 | 2020-11-20 | 中国人民解放军国防科技大学 | 一种操作系统内核兼容性量化分析方法、系统和介质 |
CN112905185A (zh) * | 2021-01-25 | 2021-06-04 | 浙江大学 | 一种基于QEMU的嵌入式Linux内核动态分析平台 |
CN112988133A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种在引导阶段实现定制化功能及固定化函数地址的方法 |
CN113504910A (zh) * | 2021-07-09 | 2021-10-15 | 深圳平安智汇企业信息管理有限公司 | 代码文本的处理方法、装置、设备及存储介质 |
CN113553593A (zh) * | 2021-07-21 | 2021-10-26 | 浙江大学 | 基于语义分析的物联网固件内核漏洞挖掘方法及系统 |
CN113672282A (zh) * | 2021-10-21 | 2021-11-19 | 阿里云计算有限公司 | 数据处理方法、设备、产品及存储介质 |
CN113672269A (zh) * | 2021-10-21 | 2021-11-19 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备及程序产品 |
CN115562719A (zh) * | 2022-12-06 | 2023-01-03 | 中国人民解放军国防科技大学 | 一种接口感知的编译配置项补全方法、系统和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195618A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization |
US20070234357A1 (en) * | 2006-03-31 | 2007-10-04 | Steven Grobman | Method, apparatus and system for processor frequency governers to comprehend virtualized platforms |
CN101120315A (zh) * | 2005-02-25 | 2008-02-06 | 国际商业机器公司 | 在支持虚拟适配器的物理适配器上的虚拟适配器解构 |
CN101385009A (zh) * | 2006-02-09 | 2009-03-11 | 国际商业机器公司 | 从源物理适配器向目的物理适配器迁移虚拟适配器的方法、装置和计算机可用程序代码 |
CN101390079A (zh) * | 2006-02-28 | 2009-03-18 | 微软公司 | 迁移拥有诸如硬件设备等资源的虚拟机 |
-
2013
- 2013-12-30 CN CN201310746159.3A patent/CN103699389B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195618A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization |
CN101120315A (zh) * | 2005-02-25 | 2008-02-06 | 国际商业机器公司 | 在支持虚拟适配器的物理适配器上的虚拟适配器解构 |
CN101385009A (zh) * | 2006-02-09 | 2009-03-11 | 国际商业机器公司 | 从源物理适配器向目的物理适配器迁移虚拟适配器的方法、装置和计算机可用程序代码 |
CN101390079A (zh) * | 2006-02-28 | 2009-03-18 | 微软公司 | 迁移拥有诸如硬件设备等资源的虚拟机 |
US20070234357A1 (en) * | 2006-03-31 | 2007-10-04 | Steven Grobman | Method, apparatus and system for processor frequency governers to comprehend virtualized platforms |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090748B (zh) * | 2014-05-22 | 2017-06-06 | 西安电子科技大学 | 基于Makefile的源码精简器进行精简源码的方法 |
CN104090748A (zh) * | 2014-05-22 | 2014-10-08 | 西安电子科技大学 | 基于Makefile的源码精简器进行精简源码的方法 |
CN105184168A (zh) * | 2015-09-02 | 2015-12-23 | 青岛工业软件研究所(中国科学院软件研究所青岛分部) | Android系统源码漏洞关联影响的追踪方法 |
CN105426187B (zh) * | 2015-11-13 | 2018-05-25 | 上海斐讯数据通信技术有限公司 | 一种添加输入设备驱动的系统以及方法 |
CN105426187A (zh) * | 2015-11-13 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种添加输入设备驱动的系统以及方法 |
CN105740477A (zh) * | 2016-03-18 | 2016-07-06 | 中国科学院信息工程研究所 | 针对大规模嵌入式设备固件的函数搜索方法和搜索引擎 |
CN105740477B (zh) * | 2016-03-18 | 2019-03-29 | 中国科学院信息工程研究所 | 针对大规模嵌入式设备固件的函数搜索方法和搜索引擎 |
CN107577476A (zh) * | 2017-08-07 | 2018-01-12 | 中国科学院软件研究所 | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN107885503A (zh) * | 2017-11-11 | 2018-04-06 | 湖南大学 | 一种基于程序特征分析的迭代编译优化方法 |
CN107885503B (zh) * | 2017-11-11 | 2021-01-08 | 湖南大学 | 一种基于程序特征分析的迭代编译优化方法 |
CN109117140A (zh) * | 2018-07-12 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种分布式构建支持多内核应用程序的方法及系统 |
CN111008152B (zh) * | 2019-12-26 | 2022-10-11 | 中国人民解放军国防科技大学 | 一种基于函数依赖图的内核模块兼容影响域分析方法、系统和介质 |
CN111008152A (zh) * | 2019-12-26 | 2020-04-14 | 中国人民解放军国防科技大学 | 一种基于函数依赖图的内核模块兼容影响域分析方法、系统和介质 |
CN111966383A (zh) * | 2020-09-03 | 2020-11-20 | 中国人民解放军国防科技大学 | 一种操作系统内核兼容性量化分析方法、系统和介质 |
CN111966383B (zh) * | 2020-09-03 | 2023-08-15 | 中国人民解放军国防科技大学 | 一种操作系统内核兼容性量化分析方法、系统和介质 |
CN112905185A (zh) * | 2021-01-25 | 2021-06-04 | 浙江大学 | 一种基于QEMU的嵌入式Linux内核动态分析平台 |
CN112905185B (zh) * | 2021-01-25 | 2023-10-31 | 浙江大学 | 一种基于QEMU的嵌入式Linux内核动态分析平台 |
CN112988133A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种在引导阶段实现定制化功能及固定化函数地址的方法 |
CN113504910A (zh) * | 2021-07-09 | 2021-10-15 | 深圳平安智汇企业信息管理有限公司 | 代码文本的处理方法、装置、设备及存储介质 |
CN113504910B (zh) * | 2021-07-09 | 2023-09-22 | 深圳平安智汇企业信息管理有限公司 | 代码文本的处理方法、装置、设备及存储介质 |
CN113553593A (zh) * | 2021-07-21 | 2021-10-26 | 浙江大学 | 基于语义分析的物联网固件内核漏洞挖掘方法及系统 |
CN113553593B (zh) * | 2021-07-21 | 2023-08-04 | 浙江大学 | 基于语义分析的物联网固件内核漏洞挖掘方法及系统 |
CN113672282A (zh) * | 2021-10-21 | 2021-11-19 | 阿里云计算有限公司 | 数据处理方法、设备、产品及存储介质 |
CN113672269A (zh) * | 2021-10-21 | 2021-11-19 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备及程序产品 |
CN115562719A (zh) * | 2022-12-06 | 2023-01-03 | 中国人民解放军国防科技大学 | 一种接口感知的编译配置项补全方法、系统和介质 |
CN115562719B (zh) * | 2022-12-06 | 2023-04-07 | 中国人民解放军国防科技大学 | 一种接口感知的编译配置项补全方法、系统和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103699389B (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699389A (zh) | 一种基于编译选项的Linux内核模块关系提取方法 | |
CN107861655B (zh) | 控件匹配方法、装置、计算机设备和存储介质 | |
CN110196953B (zh) | 一种应用埋点方法、装置、计算设备和系统 | |
CN103699689B (zh) | 事件知识库的构建方法及装置 | |
KR102565360B1 (ko) | 지도 서비스 테스트 방법 및 장치 | |
CN102597993B (zh) | 利用统一资源标识符管理应用状态信息 | |
WO2021017735A1 (zh) | 一种智能合约的形式化验证方法、电子装置及存储介质 | |
US11888855B2 (en) | Website verification platform | |
US10127320B2 (en) | Computerized identification of app search functionality for search engine access | |
CN101493825B (zh) | 一种gis中间件配置管理方法 | |
CN106155769B (zh) | 一种工作流处理方法、装置及工作流引擎 | |
US20170255445A1 (en) | Translation of natural language into user interface actions | |
CN104601672B (zh) | 基于不同应用客户端的分享网络资源的方法和装置 | |
US20200285636A1 (en) | Context-sensitive cross-lingual searches | |
CN111068336B (zh) | 游戏译文版本的生成方法、装置、电子设备及存储介质 | |
CN104598218A (zh) | 用于合并和重用门户信息的方法和系统 | |
CN103778200A (zh) | 一种报文信息源抽取方法及其系统 | |
CN104468790A (zh) | cookie数据的处理方法与客户端 | |
CN103714116A (zh) | 网页信息提取方法及设备 | |
CN109948334A (zh) | 一种漏洞检测方法、系统及电子设备和存储介质 | |
CN105468586A (zh) | 翻译功能的实现方法和装置 | |
JP2022518645A (ja) | 映像配信時効の決定方法及び装置 | |
KR101648047B1 (ko) | 호환 오픈소스 소프트웨어 추천 시스템 및 방법 | |
CN110554951A (zh) | 一种埋点管理的方法和装置 | |
CN104598442A (zh) | 一种微信关键词人机交互方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161116 Termination date: 20191230 |
|
CF01 | Termination of patent right due to non-payment of annual fee |