CN103020075A - 分析目标对象的依赖关系的方法 - Google Patents
分析目标对象的依赖关系的方法 Download PDFInfo
- Publication number
- CN103020075A CN103020075A CN2011102852708A CN201110285270A CN103020075A CN 103020075 A CN103020075 A CN 103020075A CN 2011102852708 A CN2011102852708 A CN 2011102852708A CN 201110285270 A CN201110285270 A CN 201110285270A CN 103020075 A CN103020075 A CN 103020075A
- Authority
- CN
- China
- Prior art keywords
- dependence
- destination object
- destination
- precondition
- relevant
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种分析目标对象的依赖关系的方法,包含有提供一生成档案的一描述文件,并定义一目标对象;根据该描述文件,判断该目标对象是否具有一前置条件,并于该目标对象具有该前置条件时,判断出相关于该前置条件的一第一依赖对象;纪录相关于该目标参数与该第一依赖参数的一第一依赖关系值;查找出该第一依赖对象的所有依赖关系,并纪录为一第二依赖关系值;根据该目标对象、该第一依赖关系值与该第二依赖关系值,产生与该目标对象有关的一依赖关系结果。
Description
技术领域
本发明涉及一种分析目标对象的依赖关系的方法,尤其涉及一种利用程序开发环境中所具有的命令工具来找出相关依赖关系的分析目标对象的依赖关系的方法。
背景技术
在软件开发的过程中,程序设计者通常必须利用各种依赖关联检查工具(dependency-tracking build tool)来取得编译文件的依赖关系,以辅助设计各种复杂的大型程序项目。生成档案(makefile)便是最常用的工具之一。生成档案可定义出原始码及所生成的目标(target)档案的存放目录,同时也记载着各目标档案之间的依赖关系。
然而,目前在生成档案中对编译对象依赖关系的解析还停留在全人力的基础上,也就是说,程序设计者仍需完全仰赖人力来研读生成档案所记载的内容,进而理解编译对象的依赖关系。然而,在大型的程序开发项目中,生成档案中往往牵扯存在复杂的引入(include)关系,研读起来有一定难度。举例来说,在编写程序时,往往需要将某一***下的应用软件(如嵌入式操作***OpenWrt中的接口软件LuCI)移植到另一个***中(如软件***Ralink)来使用。因此,也就需要对该应用软件重新进行编译与安装,但若仅是将原有***下的生成档案直接移动到新的***中,很可能就会产生错误。在此情况下,为解决此问题,便需要仔细研读旧***、应用软件、新***三方的生成档案。然而,在生成档案中,各目标档案的依赖关系,通常都有四层或五层,甚至更多。如此一来,程序设计者便需耗费极大的心力与时间来研读相关的生成档案,而且当存在复杂的引入关系时,通过人力的研读更常常会发生错误的解析结果。因此,如何能迅速且正确地提供程序设计者解析出生成档案的所记载的依赖关系,便是目前亟需解决的问题之一。
发明内容
因此,本发明的主要目的之一即在于提供一种分析目标对象的依赖关系的方法,以找出目标对象的所有依赖关系,并据以树状结构图的方式呈现,而能迅速且清楚地提供程序设计者相关目标对象的依赖关系,进而缩短程序设计者开发程序的时间,并能降低开发人力成本、增进效率以及减少错误的发生。
本发明公开一种分析目标对象的依赖关系的方法,包含有提供一生成档案的一描述文件,并定义一目标对象;根据该描述文件,判断该目标对象是否具有一前置条件,并于该目标对象具有该前置条件时,判断出相关于该前置条件的一第一依赖对象;纪录相关于该目标参数与该第一依赖参数的一第一依赖关系值;查找出该第一依赖对象的所有依赖关系,并纪录为一第二依赖关系值;根据该目标对象、该第一依赖关系值与该第二依赖关系值,产生与该目标对象有关的一依赖关系结果。
附图说明
图1为本发明实施例一流程的示意图。
图2为本发明实施例的一依赖关系结构图的示意图。
图3与为图4分别为本发明实施例一流程的另一示意图。
图5为本发明实施例的依赖关系结构图的另一示意图。
其中,附图标记说明如下:
10、30、40 流程
100、102、104、106、108、110、112、步骤
300、302、304、306、308、310、312、
314、400、402、404、406、408、410、
412、414、416、418、420、422、424、
426、428
具体实施方式
为了改善现有技术对于生成档案(makefile)中所记载的编译对象依赖关系必须完全仰赖人力来进行研读与解析而导致效率不彰的问题。本发明提出一种分析目标对象的依赖关系的方法,以期能迅速且清楚地提供程序设计者相关目标对象的依赖关系,进而缩短程序设计者开发程序的时间。首先,请参考图1,图1为本发明实施例一流程10的示意图。流程10用来分析一目标对象的依赖关系,其包含以下步骤:
步骤100:开始。
步骤102:提供生成档案的描述文件,并定义目标对象。
步骤104:根据描述文件,判断目标对象是否具有前置条件,并于目标对象具有前置条件时,判断出相关于前置条件的依赖对象。
步骤106:纪录相关于目标对象与依赖对象的第一依赖关系值。
步骤108:查找出依赖对象的所有依赖关系,并纪录为第二依赖关系值。
步骤110:根据该目标对象、第一依赖关系值与第二依赖关系值,产生与该目标对象有关的依赖关系结果。
步骤112:结束。
详细来说,于步骤102中,首先,于程序开发环境中产生一生成档案的描述檔。举例来说,以下为生成档案的描述文件DIZ的范例内容:
此外,于步骤102中也要定义出需要解析出依赖关系的目标对象,举例来说,假设程序设计者欲找出对象manuconfig的所有依赖关系。因此,定义出目标对象为manuconfig。
接着,于步骤104中,可利用程序开发环境中所具有的命令工具来查找出描述文件中是否有出现目标对象manuconfig,并且判断目标对象manuconfig是否具有一前置条件。当目标对象manuconfig具有前置条件时,则判断出相关于该前置条件的依赖对象。也就是说,查找出是否有与目标对象manuconfig存在相依性的其它目标或文件。举例来说,由于在描述档中,通常会使用冒号(:)来叙述目标档案以及与这个目标档案有依赖性的其它目标档案或文件。即冒号的左边(或前面)表示目标档案,冒号的右边(或后面)表示目标档案所依赖的其它对象或文件。因此,于步骤104中,可利用一查找命令来寻找是否存在与目标对象manuconfig具有相依性的其它目标或文件。例如使用命令“find-name″Makefile″|xargs grep″=\s*manuconfig\s*:″-n”,来查找出于描述文件中存在有描述目标对象manuconfig之处并且于描述文字(在此即manuconfig)之后有冒号字符的情况。换言之,此时的前置条件为”manuconfig:”。而前述命令的执行结果会显示目标对象manuconfig具有依赖对象a与b。请参考图2,图2为本发明实施例的一依赖关系结构图20的示意图。即通过步骤104,可找出依赖对象a与b皆为目标对象manuconfig的第一层依赖对象。
另一方面,于步骤104中,若判断出目标对象manuconfig并无具有前置条件时,则判断目标对象manuconfig并无其它的依赖对象。
于步骤106中,可将目标对象manuconfig、依赖对象a与依赖对象b之间的关联性纪录成第一依赖关系值并储存下来。举例来说,可利用目录值来呈现第一依赖关系值,通过一目录建立的命令(例如mkdir命令)来建立一目标对象manuconfig的目录,并于目标对象manuconfig的目录下分别建立依赖对象a与b的目录,以表示依赖对象a与b为目标对象manuconfig的第一层依赖对象,并通过前述所建立的目录值来描述第一依赖关系值。
接着,于步骤108中,查找出依赖对象a与b的所有依赖关系,并将依赖对象a与b的所有依赖关系纪录为第二依赖关系值。举例来说,使用如步骤102至步骤104中所述的方式来查找出相关于依赖对象a与b的依赖对象。更详细来说,利用步骤102分别将依赖对象a与b定义为目标对象(即目标对象a与b),并利用步骤104与106,寻找目标对象a与b是否具有前置条件时,以判断出其依赖对象。因此可以查找出依赖对象a具有一依赖对象c,而依赖对象b没有其它依赖对象。简言之,可使用如步骤102至步骤104中所述的方式,查找目标对象manuconfig第二层依赖对象,并依照此方式,找出与依赖对象有关的所有依赖关系,也就是递归地找出目标对象manuconfig的第一层依赖对象之外的所有阶层的对象依赖关系。同时,将所找出的依赖关系纪录为第二依赖关系值,例如,利用目录值来呈现第二依赖关系值。
于步骤110中,可根据目标对象manuconfig、第一依赖关系值与第二依赖关系值,来产生与目标对象manuconfig有关的依赖关系结果。举例来说,可根据目标对象manuconfig、第一依赖关系值与第二依赖关系值,利用一树形图命令(例如tree命令),将所有与目标对象有关的依赖关系以树状结构图来呈现。例如,以解析生成档案的描述檔DIZ为例,通过步骤104至步骤108,查找出目标对象manuconfig有关的所有依赖关系之后,如图2所示,便可以树状结构图作一简单明了的分析显示,以呈现目标对象的依赖关系。
另一方面,由于在程序设计的过程中,目标对象也可能会被赋予其它的变量(在此称为赋量对象),在此情况下,也必须对目标对象被赋予其它的变量时的依赖关系加以分析。举例来说,可利用一查找命令来寻找目标对象manuconfig是否赋予其它变量。例如使用命令“find-name″Makefile″|xargs grep″=\s*manuconfig\s*$″-n”,而前述命令的执行结果会显示目标对象manuconfig赋予另一变量,即对象target(target=manuconfig)。因此,同样地,程序设计者也必须利用通过步骤102至步骤110的方式找出对象target的所有依赖关系。即利用步骤102将对象target定义为目标对象(即目标对象target),并利用步骤104与106来寻找目标对象target是否具有前置条件时,以判断出依赖对象,例如使用命令“find-name″Makefile″|xargsgrep″$(target)″-n”。接着,利用步骤108找出依赖对象的所有依赖关系,如此一来,将目标对象以及目标对象的其它赋量的所有依赖关系皆查找出来后,再通过容易判读的树状结构图来呈现,即可彻底地完成目标对象的依赖关系的分析。
简单来说,流程10利用程序开发环境中所具有的命令工具于生成档案的描述文件中找出相关于目标对象的依赖对象及依赖对象的所有依赖关系,并据以通过目录树形图的方式呈现,而能迅速且清楚地解析出目标对象的依赖关系,进而缩短程序设计者开发程序的时间。
要注意的是,若是有实质上相同的结果,则流程10并不以图1所示流程图的顺序为限。而且,流程10亦可另包含其它的中间步骤或者可将几个步骤合并成单一步骤,以做适当的变化。只要可以找出相关于目标对象的依赖对象及依赖对象的所有依赖关系,并据以通过目录树形图的方式来呈现即可。
举例来说,请参考图3,图3为本发明实施例一流程30的示意图。首先,可提供一生成档案的描述档(步骤302)。再来,将程序设计者欲找出依赖关系的对象定义为目标对象(步骤304),并利用目录建立的命令建立目标对象的目录(步骤306),例如,使用命令“mkdir-p目标对象”。于执行步骤306之后,利用一查找命令来寻找目标对象是否赋予其它变量,即是否有其它赋量对象(步骤308)。接着,判断目标对象或赋量对象是否具有前置条件(步骤310)。当判断出目标对象或是赋量对象具有前置条件时,执行步骤304;当判断出目标对象或是赋量对象并无具有前置条件时,执行步骤312。换言之,通过步骤304至步骤310的递归地的运作,可依序查找出第一层依赖对象至最底层的依赖对象,也就是查找出将所有与目标对象有关的所有依赖关系。因此,于步骤312中,依据步骤306所建立目录的目录值,利用一树形图命令(例如tree命令),即可将所有与目标对象有关的依赖关系以树状结构图来呈现。
另一方面,在流程10中,步骤106与步骤108中主要是将相关对象间的依赖关系值纪录下来,以提供作为后续执行树形图命令的依据。然而,也可利用阶层缩进打印的方式来显示出依赖关系的树状结构图,举例来说,请参考图4,图4为本发明实施例一流程40的示意图。首先,提供一生成档案的描述档(步骤402)。再来,将程序设计者欲找出依赖关系的对象定义为目标对象(步骤404),接着,将一打印缩进层次设定为0(步骤406)。本发明实施所提及的打印缩进可以是任何的阶层缩进打印方式,例如,tab缩进、空格缩进等。之后,执行一依赖图形函数putDependencyGraph将相关对象间的依赖关系阶层缩进打印的方式打印出来(步骤408),其中步骤408包含步骤412至步骤428。以下为依赖图形函数putDependencyGraph的虚拟程序代码(#表示说明)。
在步骤408中,会先在新行上打印缩进并打印目标对象的名称(步骤412)。接着,利用一查找命令来寻找目标对象是否赋予其它变量,即是否存在有其它赋量对象(步骤414)。当判断出目标对象有其它赋量对象时,执行步骤416,进行赋值替换以将赋量对象定义为目标对象;当判断出目标对象无其它赋量对象时,执行步骤418,以寻找目标对象的前置条件,同时保存出寻找的结果。接着,执行步骤420,判断目标对象是否有前置条件,当判断出目标对象无前置条件时,执行步骤428;当判断出目标对象有前置条件时,执行步骤422,以将打印缩进层次增加1。再来,执行步骤424,即将步骤418中所寻找出的前置条件依次执行依赖图形函数putDependencyGraph,同时储存寻找的结果。最后,于步骤426中,将打印缩进层次减少1。换言之,通过递归地执行依赖图形函数putDependencyGraph来依序将第一层依赖对象至最底层的依赖对象查找出,并以阶层缩进打印的方式来呈现出所有与目标对象有关的依赖关系的树状结构图。
进一步说明,以前述生成档案的描述文件DIZ的范例内容为例,依据流程40,于步骤412中会先打印出目标对象menuconfig的名称,并执行步骤414至步骤422,以找出并储存依赖文件a与b,以及将打印缩进层次增加1。接着,执行步骤424,以依序将依赖文件a与b代入依赖图形函数putDependencyGraph,即分别将依赖文件a与b定义为目标文件代入执行步骤412至步骤424。当依赖文件a被定义为目标文件而代入执行步骤412至步骤424时,会找出依赖文件c为依赖对象a的依赖对象。在此情况下,会于前述所打印出的menuconfig名称的下一个缩进打印出依赖文件a的名称,并于依赖文件a的下一个缩进打印出依赖文件c的名称。当依赖文件b被定义为目标文件而代入执行步骤412至步骤424时,由于依赖文件b其它依赖对象,所以仅会于前述所打印出的menuconfig名称的下一个缩进打印出依赖文件b的名称。因此,依据流程40也会打印显示出如图2所示的树状结构图。
由于,树状结构图可以让程序设计者简单且明了的在短时间即可掌握最精准的目标对象依赖关系,举例来说,请参考图5,图5为本发明实施例的依赖关系结构图的另一示意图。目标对象menuconfig的依赖关系虽有四层,也就是说除了目标对象menuconfig之外,包含了第一层依赖关系至第三层依赖关系。因此,在本发明实施例,通过树状结构图即可让目标对象依赖关系获得最适当的呈现。
相较于现有技术对于生成档案中所记载的编译对象依赖关系必须完全仰赖人力来进行研读与解析而导致效率不彰的问题。本发明提出一种分析目标对象的依赖关系的方法,利用程序开发环境中所具有的命令工具于生成档案的描述文件中找出相关于目标对象的依赖对象及依赖对象的所有依赖关系后,再据以通过树状结构图的方式呈现,如此一来,将能迅速且清楚地提供程序设计者相关目标对象的依赖关系,进而缩短程序设计者开发程序的时间,并能降低开发人力成本、增进效率以及减少错误的发生。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (10)
1.一种分析目标对象的依赖关系的方法,包含有:
提供一生成档案的一描述文件,并定义一目标对象;
根据该描述文件,判断该目标对象是否具有一前置条件,并于该目标对象具有该前置条件时,判断出相关于该前置条件的一第一依赖对象;
纪录相关于该目标对象与该第一依赖对象的一第一依赖关系值;
查找出该第一依赖对象的所有依赖关系,并纪录为一第二依赖关系值;以及
根据该目标对象、该第一依赖关系值与该第二依赖关系值,产生与该目标对象有关的一依赖关系结果。
2.如权利要求1所述的方法,其特征在于,根据该描述文件判断该目标对象是否具有该前置条件并于该目标对象具有该前置条件时判断出相关于该前置条件的该第一依赖对象的步骤包含有:
于该描述档中,利用一查找命令,查找该目标对象以及该目标对象之后是否存在一冒号字符;以及
于该目标对象之后具有存在一冒号字符时,判断该目标对象具有该前置条件,并将该冒号字符之后的对象判断为相关于该前置条件的该第一依赖对象。
3.如权利要求1所述的方法,其特征在于,纪录相关于该目标对象与该第一依赖对象的该第一依赖关系值的步骤包含有:
利用一目录建立命令,来建立该目标对象的目录,并于该目标对象的目录下建立该第一依赖对象的目录,并以该目标对象与该第一依赖对象的目录值作为该第一依赖关系值。
4.如权利要求3所述的方法,其特征在于,查找出该第一依赖对象的所有依赖关系并纪录为该第二依赖关系值的步骤包含有:
根据该描述文件,判断该第一依赖对象是否具有该前置条件,并于该第一依赖对象具有该前置条件时,判断出相关于该第一依赖对象的一第二依赖物件;以及
利用该目录建立命令,于第一依赖对象的目录下来建立第二依赖对象的目录,并以第一依赖对象与该第二依赖对象的目录值以及与该第二依赖对象有关的其它所有依赖关系作为该第二依赖关系值。
5.如权利要求4所述的方法,其特征在于,根据该描述档判断该第一依赖对象是否具有该前置条件并于该第一依赖对象具有该前置条件时判断出相关于该第一依赖对象的该第二依赖对象的步骤包含有:
于该描述档中,利用一查找命令,查找该第一依赖对象以及该第一依赖对象之后是否存在一冒号字符;
于该第一依赖对象之后具有存在一冒号字符时,判断该第一依赖对象具有该前置条件,并将该冒号字符之后的对象判断为相关于该前置条件的该第二依赖对象。
6.如权利要求1所述的方法,其特征在于,纪录相关于该目标对象与该第一依赖对象的第一依赖关系值的步骤还包含有:
利用阶层缩进打印的方式,打印显示出相关于该目标对象与该第一依赖对象的依赖关系。
7.如权利要求1所述的方法,其特征在于,查找出该第一依赖对象的所有依赖关系并纪录为该第二依赖关系值的步骤还包含有:
查找出该第一依赖对象的所有依赖关系,并利用阶层缩进打印的方式,打印显示出该第一依赖对象的所有依赖关系。
8.如权利要求1所述的方法,其特征在于,该方法还包含有:
于该描述文件中,判断该目标对象是否具有一赋量对象;
于判断出该目标对象具有该赋量对象时,查找出该赋量对象的所有依赖关系,并纪录为一第三依赖关系值;以及
根据该目标对象、该第一依赖关系值、该第二依赖关系值与该第三依赖关系值,产生与该目标对象有关的该依赖关系结果。
9.如权利要求8所述的方法,其特征在于,于该描述文件中判断该目标对象是否具有该赋量对象的步骤包含有:
于该描述档中,利用一查找命令,查找该目标对象以及该目标对象之前是否存在一钱号字符;以及
于该目标对象之前具有存在一钱号字符时,将该钱号字符之后的对象判断为相关于该目标对象的该赋量对象。
10.如权利要求1所述的方法,其特征在于,该依赖关系结果为一树状结构图。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110285270.8A CN103020075B (zh) | 2011-09-23 | 2011-09-23 | 分析目标对象的依赖关系的方法 |
TW100139806A TWI437457B (zh) | 2011-09-23 | 2011-11-01 | 分析目標物件之依賴關係的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110285270.8A CN103020075B (zh) | 2011-09-23 | 2011-09-23 | 分析目标对象的依赖关系的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020075A true CN103020075A (zh) | 2013-04-03 |
CN103020075B CN103020075B (zh) | 2016-03-09 |
Family
ID=47968690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110285270.8A Active CN103020075B (zh) | 2011-09-23 | 2011-09-23 | 分析目标对象的依赖关系的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103020075B (zh) |
TW (1) | TWI437457B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077140A (zh) * | 2014-07-04 | 2014-10-01 | 用友软件股份有限公司 | 用于持续集成的自动化编译方法和编译装置 |
CN104866369A (zh) * | 2015-05-22 | 2015-08-26 | 广州华多网络科技有限公司 | 一种数据处理的方法以及装置 |
US9355132B1 (en) | 2015-09-30 | 2016-05-31 | Semmle Limited | Tiered arrays |
CN105718296A (zh) * | 2016-04-21 | 2016-06-29 | 北京元心科技有限公司 | 编译依赖关系树的生成显示方法及装置 |
CN106886442A (zh) * | 2017-03-06 | 2017-06-23 | 中山大学 | 一种软件依赖关系分析方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087501A1 (en) * | 1999-09-09 | 2002-07-04 | Yuri J. Breitbart | Timestamp-based system and method for serializing lazy updates in a distributed database |
CN101393528A (zh) * | 2008-10-30 | 2009-03-25 | 上海交通大学 | 软件动态更新中确定实例对象转换次序的方法及*** |
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新***及方法 |
-
2011
- 2011-09-23 CN CN201110285270.8A patent/CN103020075B/zh active Active
- 2011-11-01 TW TW100139806A patent/TWI437457B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087501A1 (en) * | 1999-09-09 | 2002-07-04 | Yuri J. Breitbart | Timestamp-based system and method for serializing lazy updates in a distributed database |
CN101393528A (zh) * | 2008-10-30 | 2009-03-25 | 上海交通大学 | 软件动态更新中确定实例对象转换次序的方法及*** |
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新***及方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077140A (zh) * | 2014-07-04 | 2014-10-01 | 用友软件股份有限公司 | 用于持续集成的自动化编译方法和编译装置 |
CN104077140B (zh) * | 2014-07-04 | 2017-11-07 | 用友网络科技股份有限公司 | 用于持续集成的自动化编译方法和编译装置 |
CN104866369A (zh) * | 2015-05-22 | 2015-08-26 | 广州华多网络科技有限公司 | 一种数据处理的方法以及装置 |
CN104866369B (zh) * | 2015-05-22 | 2018-05-08 | 广州华多网络科技有限公司 | 一种数据处理的方法以及装置 |
US9355132B1 (en) | 2015-09-30 | 2016-05-31 | Semmle Limited | Tiered arrays |
US9529836B1 (en) * | 2015-09-30 | 2016-12-27 | Semmle Limited | Managing disjoint-or trees |
US9547478B1 (en) | 2015-09-30 | 2017-01-17 | Semmle Limited | Hierarchical dependency analysis enhancements using disjoint-or trees |
US9632760B2 (en) | 2015-09-30 | 2017-04-25 | Semmle Limited | Tiered arrays |
CN105718296A (zh) * | 2016-04-21 | 2016-06-29 | 北京元心科技有限公司 | 编译依赖关系树的生成显示方法及装置 |
CN105718296B (zh) * | 2016-04-21 | 2019-11-08 | 北京元心科技有限公司 | 编译依赖关系树的生成显示方法及装置 |
CN106886442A (zh) * | 2017-03-06 | 2017-06-23 | 中山大学 | 一种软件依赖关系分析方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201314482A (zh) | 2013-04-01 |
CN103020075B (zh) | 2016-03-09 |
TWI437457B (zh) | 2014-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298453B2 (en) | Source code analytics platform using program analysis and information retrieval | |
US11520800B2 (en) | Extensible data transformations | |
US20180373507A1 (en) | System for generating functionality representation, indexing, searching, componentizing, and analyzing of source code in codebases and method thereof | |
US11809442B2 (en) | Facilitating data transformations | |
US20210011926A1 (en) | Efficient transformation program generation | |
US11809223B2 (en) | Collecting and annotating transformation tools for use in generating transformation programs | |
US20090070327A1 (en) | Method for automatically generating regular expressions for relaxed matching of text patterns | |
US8364696B2 (en) | Efficient incremental parsing of context sensitive programming languages | |
JP2012504826A (ja) | 拡張可能な構文を有するプログラミング言語 | |
US11163788B2 (en) | Generating and ranking transformation programs | |
US9218411B2 (en) | Incremental dynamic document index generation | |
CN103020075B (zh) | 分析目标对象的依赖关系的方法 | |
CN102253992B (zh) | 一种基于面向对象的文件差异比较方法及其*** | |
CN109313547A (zh) | 用于cpu利用率和代码重构的查询优化器 | |
Packard | Full forest treebanking | |
Schuler et al. | Chisel: a user-oriented framework for simplifing database evolution | |
Juričić | Detecting source code similarity using low-level languages | |
Babeu | The Perseus catalog: of FRBR, finding aids, linked data, and open Greek and latin | |
US9189249B2 (en) | Method for automatically defining icons | |
Lu et al. | Xmlvalue: Xml configuration attribute value recommendation | |
US20240184798A1 (en) | Extensible data transformations | |
JP5359446B2 (ja) | 情報処理システム、アクセスパス決定方法及びアクセスパス決定プログラム | |
Koop et al. | A provenance-based infrastructure for creating executable papers | |
Somogyi | Merging textual representations of software models | |
Berger et al. | Visually Exploring Scientific Communities |
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 |