CN104937540A - 获取与类似代码相关联的应用生命周期管理实体的标识 - Google Patents

获取与类似代码相关联的应用生命周期管理实体的标识 Download PDF

Info

Publication number
CN104937540A
CN104937540A CN201380071856.1A CN201380071856A CN104937540A CN 104937540 A CN104937540 A CN 104937540A CN 201380071856 A CN201380071856 A CN 201380071856A CN 104937540 A CN104937540 A CN 104937540A
Authority
CN
China
Prior art keywords
alm
code
instruction
similar
entity
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
Application number
CN201380071856.1A
Other languages
English (en)
Other versions
CN104937540B (zh
Inventor
I.莎妮
Y.伯格
A.尼桑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weifosi Co., Ltd
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104937540A publication Critical patent/CN104937540A/zh
Application granted granted Critical
Publication of CN104937540B publication Critical patent/CN104937540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本文公开的实例涉及获取与类似代码相关联的应用生命周期管理(ALM)实体的标识。实例包括识别目标代码段,并且从ALM系统获取与类似于目标代码段并且由代码相似性系统识别出的其他代码相关联的ALM实体的标识。

Description

获取与类似代码相关联的应用生命周期管理实体的标识
背景技术
开发计算机应用的组织可以利用应用生命周期管理(ALM)系统来帮助开发者实施其编写和维护应用源代码(例如机器可读指令)的任务。在一些实例中,ALM系统可以提供用于管理与应用的生命的各个方面相关联的信息的系统。举例来说,ALM系统可以管理关于与应用相关联的版本、缺陷、要求、测试等等的信息。
附图说明
下面的详细描述涉及附图,其中:
图1是用以获取与类似代码相关联的应用生命周期管理(ALM)实体的标识的示例性计算器件的方框图;
图2是用以显示所识别出的ALM实体的表示的示例性计算器件的方框图;
图3是用以在集成开发环境(IDE)的用户接口(UI)中显示与类似于至少部分地在所述UI中聚焦的目标代码段的代码相关联的ALM实体的表示的示例性系统的方框图;
图4是用于获取与类似代码相关联的ALM实体的标识的示例性方法的流程图;以及
图5是用于获取与类似于目标代码段并且和目标代码段具有相同粒度层级的代码段相关联的ALM实体的标识的示例性方法的流程图。
具体实施方式
如前所述,由某一组织利用的应用生命周期管理(ALM)系统可以帮助开发者实施其编写和维护应用源代码的任务。在一些实例中,ALM系统可以通过ALM实体的形式来管理信息。这里所使用的“ALM实体”是与代码开发的某一方面相关联并且被保持在ALM系统中的信息总集。在这里所描述的实例中,ALM系统的ALM实体例如可以包括关于缺陷、要求、测试、失败、开发者等等的其中之一的信息,或者与应用生命周期管理相关的任何其他信息。
此外,其他工具可以允许开发者搜索所述组织的代码基础,以找到类似于正在开发的代码的一部分的代码。但是这样的搜索工具无法从ALM系统获取关于被确定为是类似的代码的任何信息。因此,这些工具无法利用可以通过在ALM系统中可用的信息提供的关于类似代码的认识来补充对于该代码的标识。
为了解决这些问题,这里所描述的实例可以识别目标代码段,从代码相似性系统获取类似于目标代码段的其他代码的标识,并且从ALM系统获取与所述类似的其他代码相关联的ALM实体的标识。这样的实例可以识别代表与被确定为类似于目标代码段的代码相关联的缺陷、要求、测试、失败、开发者等等的ALM实体。
通过这种方式,这里所描述的实例可以为开发者提供与正在开发的目标代码有关的有价值的认识,从而可以改进开发者生产率和代码质量。这里所描述的实例例如可以获取类似于正在开发的目标代码段的代码的标识,并且随后从ALM系统获取描述与所述类似代码相关联的已知缺陷的ALM实体的标识。在这样的实例中,该信息可以帮助开发者更快地编写目标代码段并且可能没有所述已知缺陷。
现在参照附图,图1是用以获取与类似代码相关联的ALM实体的标识的示例性计算器件100的方框图。这里所使用的“计算器件”可以是台式计算机、笔记本计算机、工作站、平板计算机、移动电话、智能器件、服务器或者任何其他处理器件或装备。在图1的实例中,计算器件100包括处理资源110和编码有指令122、124和126的机器可读存储介质120。在一些实例中,存储介质120可以包括附加的指令。在一些实例中,指令122、124、126以及这里关于存储介质120描述的任何其他指令可以被存储在远离计算器件100和处理资源110但是可以由其访问的机器可读存储介质上。
在这里所描述的实例中,处理资源例如可以包括包含在单一计算器件中或者分布在多个计算器件上的一个处理器或多个处理器。这里所使用的“处理器”可以是中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、被配置成取回并且执行指令的现场可编程门阵列(FPGA)、适合于取回并且执行存储在机器可读存储介质上的指令的其他电子电路的至少其中之一或者其某种组合。处理资源110可以获取、解码并且执行存储在存储介质120上的指令,以便实施后面描述的功能。在其他实例中,存储介质120的任何指令的功能可以通过电子电路的形式、通过编码在机器可读存储介质上的可执行指令的形式或者其某种组合来实施。
这里所使用的“机器可读存储介质”可以是用以包含或存储例如可执行指令、数据等信息的任何电子、磁性、光学或其他物理存储设备。举例来说,这里所描述的任何机器可读存储介质可以是随机存取存储器(RAM)、易失性存储器、非易失性存储器、闪存、存储驱动器(例如硬盘)、任何类型的存储盘(例如紧致盘只读存储器(CD-ROM)、任何其他类型的紧致盘、DVD等等)等等的中的任何一个或者其某种组合。此外,这里所描述的任何机器可读存储介质可以是非瞬时性的。
在图1的实例中,指令122可以识别目标代码段。在一些实例中,指令122、124和126可以是用于计算器件100的集成开发环境(IDE)的插件的一部分。在这样的实例中,IDE可以包括用户接口(UI),其可以被显示成计算器件100的图形用户接口(GUI)的一部分。在这样的实例中,指令122可以把至少部分地聚焦在IDE的UI中的代码段识别成目标代码段。在这里所描述的实例中,IDE可以是其中用户可以开发软件(例如机器可读指令)的应用,并且其至少包括源代码编辑器的功能。在这里所描述的实例中,在给定时间“聚焦”在IDE的UI中的代码可以是在所述给定时间显示在UI的源代码编辑器部分中的代码。
在一些实例中,指令122可以从聚焦在UI中的所有代码当中识别出所聚焦的代码的一部分。在这样的实例中,指令122还可以将包括先前识别出的聚焦在UI中的代码部分的给定粒度层级的代码段识别成目标代码段。
在一些实例中,指令122可以基于用户输入来识别所聚焦的代码部分,所述用户输入比如是通过任何方式(例如高亮显示等等)选择所聚焦的代码的任何部分。在其他实例中,指令122可以基于IDE的当前情境或者任何其他适当的信息来识别所聚焦的代码部分。举例来说,指令122可以基于当前在IDE中活跃或打开的信息总集(例如文件等等)导出IDE的当前情境。
如前所述,指令122还可以把包括所识别出的聚焦在UI中的代码部分的给定粒度层级的代码段识别成目标代码段。举例来说,所述粒度层级可以表明目标代码段是方法、类、文件、包等等。在一些实例中,目标代码段的粒度层级可以是可配置的。在这里所描述的实例中,代码“段”可以是源代码的任何细分,比如方法、类、文件、包等等。在一些实例中,在通过指令122识别时,目标代码段可以仅被部分地聚焦。举例来说,指令122可以识别出部分地聚焦在UI中的方法的一部分,并且随后把整个方法识别成目标代码段。此外,在这里所描述的实例中,至少部分地聚焦在UI中的代码段可以是其代码被至少部分地聚焦在UI中的代码段。
在图1的实例中,指令124可以从代码相似性系统获取类似于目标代码段的其他代码的标识182。举例来说,指令124可以获取类似于目标代码段的一个其他代码段或者类似于目标代码段的多个其他代码段的标识182。在一些实例中,指令124可以针对类似于通过指令122识别出的目标代码段的代码向代码相似性系统进行查询。作为响应,代码相似性系统可以返回类似于目标代码段的其他代码的标识182。在这样的实例中,可以通过指令124接收(或者通过其他方式获取)标识182。在这里所描述的实例中,类似于目标代码段的“其他”代码可以是与目标代码段类似或相同但是并非目标代码段本身的代码。在一些实例中,类似于目标代码段的其他代码可以是与目标代码段类似或相同但是不包括目标代码段本身的任何部分的代码段。
在一些实例中,代码相似性系统可以是用以从存在于该系统能够访问的至少一个代码储存库中的代码当中识别类似于目标代码段的代码的任何系统。在这里所描述的实例中,“类似于”目标代码段的代码可以是与目标代码段完全相同的代码,或者是与目标代码段类似但是并不完全相同的代码。在一些实例中,代码相似性系统可以通过任何适当的方式确定给定的代码是否类似于目标代码段。
举例来说,代码相似性系统可以在把给定代码与目标代码段直接进行比较时(例如通过比较代码的字符、文本等等)基于相似度确定所述给定代码是否类似于目标代码段。在其他实例中,代码相似性系统可以基于给定代码和目标代码段的更加抽象的表示的相似度来确定相似性。举例来说,类似代码系统可以通过类似于在编译期间解析代码的过程导出给定代码和目标代码段的抽象表示。在其他实例中,类似代码系统可以基于代码的各个功能方面导出给定代码和目标代码段的抽象表示,所述功能方面比如是代码的输入和输出、代码所调用的方法或函数、此类调用的序列等等或者其任意组合。在一些实例中,代码相似性系统可以利用前面所描述的任何数目的方法或者任何其他适当的方法。在这样的实例中,如果由代码相似性系统使用的任一种方法表明代码是类似的,则该系统可以确定代码是类似的。
在一些实例中,代码相似性系统的功能可以通过电子电路的形式、通过编码在机器可读存储介质上的可执行指令的形式或者其某种组合来实施。此外,在一些实例中,代码相似性系统可以被实施在与计算器件100分开但是可以由其访问的至少一个计算器件上、被实施在计算器件100上或者其某种组合。
在图1的实例中,指令126可以从ALM系统获取与类似的其他代码相关联的至少一个ALM实体的标识184。在一些实例中,指令126可以针对与类似的其他代码(例如(多个)类似的其他代码段)相关联的ALM实体向ALM系统进行查询。作为响应,ALM系统可以向指令126返回与类似的其他代码相关联的至少一个ALM实体的标识184。
ALM系统可以存储与被存储在至少一个代码储存库(“或代码基础”)中的代码相关联的多个ALM实体。在一些实例中,ALM实体可以通过代码改变描述与代码相关联,其中每一项代码改变描述可以描述对于代码储存库中的文件的代码作出的改变。在这样的实例中,每一项代码改变描述可以关联到储存库中的代码文件、文件中的至少一个代码行或者全部二者,并且ALM系统的每一个ALM实体可以关联到其中一项代码改变描述。在这样的实例中,ALM系统的给定ALM实体例如可以包括关于与给定的代码改变描述相关联的缺陷、要求、测试、失败、开发者等等的其中之一的信息。在其他实例中,给定的ALM实体可以包括与应用生命周期管理相关并且与给定的代码改变描述相关联的任何其他信息。
在这样的实例中,指令126可以针对与类似的其他代码相关联的任何ALM实体向ALM系统进行查询,并且作为响应,ALM系统可以向指令126返回与一项代码改变描述相关联的至少一个ALM实体的标识184,所述代码改变描述与所述类似的其他代码相关联。举例来说,ALM系统可以返回与关联到储存库的一份代码文件的代码改变描述相关联的每一个ALM实体,所述代码文件包括由代码相似性系统识别出的(多个)类似的其他代码段之一的至少一部分。
在其他实例中,指令126可以向ALM系统提供类似的其他代码或者类似的其他代码的(多项)标识。举例来说,指令126可以在针对代码改变描述的查询中向ALM系统提供(多个)类似的其他代码段(或者其标识)。作为响应,ALM系统可以返回关联到储存库的一份代码文件的每一项代码改变描述的表示,所述代码文件包括(多个)类似的其他代码段之一的至少一部分。在这样的实例中,指令126可以确定哪一项代码改变描述与所述(多个)类似的其他代码段相关。在一些实例中,指令126可以针对与被确定为是相关的代码改变描述相关联的任何ALM实体向ALM系统进行查询。作为响应,ALM系统可以返回与相关的代码改变描述相关联的任何ALM实体。
在一些实例中,ALM系统的功能可以通过电子电路的形式、通过编码在机器可读存储介质上的可执行指令的形式或者其某种组合来实施。此外,在一些实例中,ALM系统可以被实施在与计算器件100分开但是可以由其访问的至少一个计算器件上、被实施在计算器件100上或者其某种组合。
虽然已经在IDE的UI的情境中描述了图1的实例,但是这里所描述的实例也可以被利用在其他情境中。举例来说,指令122、124和126可以是代码签入(或提交)系统的一部分。在这样的实例中,指令122可以基于签入到系统中的代码改变来识别目标代码段。在这样的实例中,指令124可以获取类似于所识别出的目标代码段的其他代码的标识,并且指令126可以获取与类似的其他代码相关联的ALM实体的标识,正如前面所描述的那样。
在一些实例中,指令122、124和126可以是安装包的一部分,其在被安装时可以由处理资源110执行,以便实施这里关于指令122、124和126所描述的功能。在这样的实例中,存储介质120可以是便携式介质,比如CD、DVD或闪盘驱动器,或者是由服务器保持的存储器,从其中可以下载并且安装所述安装包。在其他实例中,指令122、124和126可以是已经安装在包括处理资源110的计算器件100上的一项或多项应用或者组件的一部分。在这样的实例中,存储介质120可以包括存储器,比如硬盘驱动器、固态驱动器等等。在一些实例中,这里关于图1描述的功能可以与这里关于图2-5当中的任一幅所描述的功能相组合来提供。
图2是用以显示所识别出的ALM实体的表示的示例性计算器件200的方框图。在图2的实例中,计算器件200包括处理资源110,正如前面关于图1所描述的那样,以及包括指令122、124和126的存储介质120,正如前面关于图1所描述的那样。在图2的实例中,存储介质120还可以包括指令228和230。在一些实例中,存储介质120可以包括附加的指令。在其他实例中,指令122、124、126、228、230以及这里关于存储介质120所描述的任何其他指令可以被存储在远离计算器件200和处理资源110但是可以由其访问的机器可读存储介质上。
计算器件200还包括IDE 260。在一些实例中,IDE 260的功能可以通过电子电路的形式、通过编码在机器可读存储介质上的可执行指令的形式或者其某种组合来实施。在这样的实例中,处理资源110可以获取、解码并且执行IDE 260的任何指令,以便实施IDE 260的功能。在一些实例中,IDE 260的任何指令当中的至少一些可以被存储在存储介质120上。在其他实例中,IDE 260的任何指令可以被存储在远离计算器件200和处理资源110但是可以由其访问的机器可读存储介质上。
在图2的实例中,存储在存储介质120上的至少其中一些指令可以实施用于IDE 260的插件262。在这样的实例中,插件262可以利用原本可能不是由IDE 260提供的附加功能来对IDE 260进行补充。实施插件262的指令至少可以包括指令122、124、126、228和230。在一些实例中,指令122、124、126、228和230可以是实施插件262的更大的指令集合(其例如被存储在存储介质120上)的一部分。
在图2的实例中,IDE 260与插件262一起可以在计算器件200(或者与之通信)的显示器上显示用户接口(UI)240。举例来说,IDE 260可以显示UI 240的(多个)部分(例如源代码编辑器部分241),而插件262则显示UI 240的其他(多个)部分(例如认识部分243)。在其他实例中,IDE 260可以显示UI 240,同时接收来自显示引擎330的输入。在这样的实例中,来自插件262的输入可以影响IDE 260在UI 240中显示的内容。举例来说,插件262可以使得IDE 260显示认识部分243以作为由IDE 260显示的UI 240的一部分。
IDE 260可以是任何适当的集成开发环境。在一些实例中,IDE 260可以至少包括源代码编辑器的功能,并且可以显示UI 240以作为计算器件200的操作系统(OS)的GUI的一部分。在图2的实例中,UI 240的源代码编辑器部分241可以显示在IDE 260中打开的文件的代码,并且可以允许用户交互以便至少查看和编辑打开文件的代码。在一些实例中,用户还可以通过UI 240发起IDE的任何其他功能(例如代码编译等等)。
在图2的实例中,指令122可以把至少部分地聚焦在IDE 260的UI 240中的代码段识别成目标代码段242。在一些实例中,指令122可以识别出聚焦在编辑器部分241中的代码的一部分,并且把包括所识别出的聚焦代码部分的给定粒度层级的代码段识别成目标代码段242,正如前面关于图1所描述的那样。在这样的实例中,可以设定所述给定的粒度层级以便由插件262的(多个)各种功能使用。在一些实例中,所述给定的粒度层级可以是方法层级、类层级、文件层级、包层级或者任何其他适当的代码段。
在图2所示的实例中,指令122可以响应于用户输入、IDE的当前情境或者任何其他适当的信息识别出聚焦在UI 240的编辑器部分241中的代码部分249,正如前面关于图1所描述的那样。在图2的实例中,所述给定的粒度层级可以规定方法层级粒度。在这样的实例中,在指令122识别出所聚焦的部分249之后,指令122可以把方法“GetInfo()”的完整代码识别成目标代码段242,其中该方法是包括部分249的方法。在其他实例中,所述给定的粒度层级可以规定不同的层级。在这样的实例中,指令122可以识别不同粒度的目标代码段242。举例来说,如果规定了类层级粒度,则指令122可以把包括所识别出的部分249的类识别成目标代码段242,如果规定了文件层级粒度,则可以把包括所识别出的部分249的文件识别成目标代码段242等等。
指令124可以从代码相似性系统获取类似于目标代码段242的其他代码的标识182,正如前面关于图1所描述的那样。举例来说,指令124可以从代码相似性系统获取类似于目标代码段242的一个其他代码段或多个其他代码段的标识182。在一些实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示由代码相似性系统识别出的类似的其他代码的至少一项表示。举例来说,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示由代码相似性系统识别出的(多个)类似的其他代码段的(多项)表示。
在图2的实例中,指令124可以获取与目标代码段242相同粒度的(多个)类似的其他代码段的标识182。举例来说,当目标代码段242的粒度是方法层级粒度时,指令124可以从代码相似性系统获取类似于目标代码段242的其他方法的标识。在这样的实例中,指令230可以在UI 240中显示所述其他类似方法的表示。
举例来说,如图2中所示,指令124可以从代码相似性系统获取类似于目标代码段242的其他方法(“GetInfo()”)的标识182,比如方法“GetLog()”和“GetList()”。在这样的实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240的认识部分243中显示方法“GetLog()”和“GetList()”的表示245和246。
在这里所描述的实例中,指令230可以显示类似的其他代码(例如(多个)类似的其他代码段)的任何适当的表示。举例来说,每一项表示可以各自包括与所述类似的其他代码相关联的至少一个标识符。在图2的实例中,每一项所显示的ALM表示包括与所表示的类似的其他代码(例如类似的其他方法)相关联的标识符(例如“GetLog()”、“GetList()”)。
指令126可以从ALM系统获取与所识别出的类似的其他代码相关联的ALM实体的标识184,正如前面关于图1所描述的那样。在一些实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示与类似的其他代码相关联的所识别出的ALM实体的表示。举例来说,当目标代码段242被至少部分地聚焦在UI 240的编辑器部分241中时,指令230可以在UI 240的认识部分243中显示与类似的其他代码相关联的ALM实体的表示253。
在一些实例中,指令126可以从ALM系统获取与类似的其他代码相关联的多个ALM实体当中的每一个的标识184。在这样的实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中对于多个ALM实体当中的至少一些ALM实体当中的每一个显示该ALM实体的表示。在这样的实例中,指令230可以显示每一个所识别出的ALM实体或者少于由ALM系统识别出的所有ALM实体的对应表示。
正如前面所描述的那样,指令124例如可以获取类似的其他代码段(即方法)“GetLog()”和“GetList()”的标识182。在这样的实例中,指令126可以从ALM系统获取与至少其中一个类似的代码段当中的每一个相关联的至少一个ALM实体的标识184。举例来说,指令126可以从ALM系统获取多个ALM实体的标识184,包括与“GetLog()”相关联的ALM实体以及与“GetList()”相关联的ALM实体。在这样的实例中,指令230可以显示每一个所识别出的ALM实体的表示。举例来说,如图2中所示,指令230可以显示与“GetLog()”相关联的ALM实体的表示253和257以及与“GetList()”相关联的ALM实体的表示254和258。在这样的实例中,当目标代码段242被至少部分地聚焦在UI 240的编辑器部分241中时,指令230可以在UI 240的认识部分243中显示ALM实体的表示。所述多个ALM实体可以包括任何数目的ALM实体。在一些实例中,所识别出的多个ALM实体可以包括指令230不显示的附加的ALM实体。在其他实例中,指令230可以显示附加的ALM实体。
在这里所描述的实例中,指令230可以显示所识别出的ALM实体的任何适当的表示。举例来说,所显示的ALM实体表示可以各自包括与该ALM实体相关联的至少一个标识符。在图2的实例中,每一项所显示的ALM实体表示包括与该ALM实体相关联的数值标识符(例如“202”)以及该ALM实体的文字描述(例如“ERROR(错误)”)。在图2的实例中,所显示的表示包括描述与“GetLog()”相关联的缺陷的ALM实体的表示253,描述与“GetLog()”相关联的要求的ALM实体的表示257,描述与“GetList()”相关联的缺陷的ALM实体的表示254,以及描述与“GetList()”相关联的要求的ALM实体的表示258。
在一些实例中,响应于在ALM实体的所显示的表示上实施的启动操作,指令230可以启动ALM实体查看器,以便显示与该ALM实体相关联的ALM信息。在这样的实例中,ALM实体查看器可以是IDE 260的功能,通过所述功能IDE 260可以取回与ALM实体相关联的ALM信息,并且在UI 240中显示ALM信息。
在图2的实例中,指令228可以接收多个ALM实体类别当中的至少一个的选择286。在这样的实例中,指令230可以显示属于任何所选的ALM实体类别的多个识别出的ALM实体当中的每一个的表示。在一些实例中,指令228可以通过IDE 260的UI 240的任何适当的控制(例如菜单、(多个)按钮等等)来接收选择286。在其他实例中,可以通过任何其他适当的方式来接收选择286。所述多个ALM实体类别例如可以包括缺陷类别、要求类别、测试类别、构建失败类别、开发者类别以及任何其他适当的ALM实体类别的至少其中之一。在其他实例中,所述多个ALM实体类别可以包括对应于其中一个先前列出的类别的多个类别。举例来说,取代单一测试类别,所述多个类别可以包括单元测试类别、功能测试类别、负载测试类别以及任何其他适当的测试类别的至少其中之一。
在图2的实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示属于任何所选类别的多个所识别出的ALM实体当中的每一个的表示。在这样的实例中,指令230可以在UI 240的不同区域中显示不同类别的ALM实体的表示。在一些实例中,指令230还可以在不同于其中显示ALM实体表示的区域的UI 240的一个区域中显示类似的其他代码的(多项)表示。
在图2的实例中,例如选择286可以把缺陷类别和要求类别规定为所选类别。在这样的实例中,指令230可以显示由ALM系统识别出的属于缺陷类别或要求类别的多个ALM实体当中的每一个的表示。举例来说,如图2中所示,指令230可以在UI 240的认识部分243的缺陷区域252中显示表示253和254,并且可以在UI 240的认识部分243的要求区域256中显示表示257和258。在这样的实例中,当目标代码段242被至少部分地聚焦在编辑器部分241中时,可以在区域252和256中显示这些表示。此外,在一些实例中,指令230可以在UI 240的认识部分243的类似代码区域244中显示类似的其他代码段的表示245和246。在一些实例中,当目标代码段242被显示在编辑器部分241中并且当ALM实体表示被显示在区域252和256中时,可以在类似代码区域244中显示表示245和246。
在这里所描述的实例中,为了在UI 240中显示表示或其他信息,指令230可以把所述表示或其他信息显示成UI 240的一部分,同时IDE 260显示UI 240的其他方面,或者指令230可以使得IDE 260和计算器件200的(多个)任何其他组件的至少其中之一在UI 240中显示其他信息的表示。
在一些实例中,指令122、124、126、228、230以及存储介质120的任何其他指令可以是安装包的一部分,所述安装包在被安装时可以由处理资源110执行,以便实施在这里关于指令122、124、126、228和230描述的功能。在这样的实例中,存储介质120可以是便携式介质,比如CD、DVD或闪盘驱动器,或者是由服务器保持的存储器,从其中可以下载并且安装所述安装包。在其他实例中,指令122、124、126、228和230可以是已经安装在包括处理资源110的计算器件200上的一项或多项应用或者组件的一部分。在这样的实例中,存储介质120可以包括存储器,比如硬盘驱动器、固态驱动器等等。在一些实例中,这里关于图2描述的功能可以与这里关于图1和3-5当中的任一幅所描述的功能相组合来提供。
图3是用以在IDE 260的UI 240中显示与类似于至少部分地聚焦在UI 240中的目标代码段242的代码相关联的ALM实体的表示的示例性系统300的方框图。
在图3的实例中,系统300包括引擎321、322、324、326、328和330。在一些实例中,系统300可以包括附加的引擎。每一个引擎321、322、324、326、328、330以及系统300的任何其他引擎可以是用以实施对应的引擎的功能的硬件与编程的任何组合。可以通过多种不同的方式来实施硬件与编程的此类组合。举例来说,所述编程可以是存储在非瞬时性机器可读存储介质上的处理器可执行指令,并且所述硬件可以包括用以执行那些指令的处理资源。在这样的实例中,机器可读存储介质可以存储指令,其在由处理资源执行时实施系统300。存储指令的机器可读存储介质可以被集成在包括用以执行指令的处理资源的计算器件中,或者机器可读存储介质可以与计算器件和处理资源分开但是可以由其访问。处理资源可以包括一个处理器或者包括在单一计算器件中或分布在多个计算器件上的多个处理器。
在一些实例中,所述指令可以是安装包的一部分,安装包在被安装时可以由处理资源执行,以便实施系统300。在这样的实例中,机器可读存储介质可以是便携式介质,比如CD、DVD或闪盘驱动器,或者是由服务器保持的存储器,从其中可以下载并且安装所述安装包。在其他实例中,所述指令可以是已经安装在包括处理资源的计算器件上的一项或多项应用或者组件的一部分。在这样的实例中,机器可读存储介质可以包括存储器,比如硬盘驱动器、固态驱动器等等。
在图3的实例中,前面关于图1描述的系统300和IDE 260可以彼此通信。系统300还可以与显示器365通信。在一些实例中,系统300、IDE 260和显示器365可以都是计算器件的组件。在其他实例中,显示器365可以是至少部分地实施IDE 260和系统300当中的每一项的计算器件的一部分或者与之通信。
在图3的实例中,系统300还与代码相似性系统372和ALM系统374通信。在这样的实例中,代码相似性系统372可以是前面关于图1描述的任何适当的代码相似性系统,并且ALM系统374可以是前面关于图1描述的ALM系统。在一些实例中,代码相似性系统372和ALM系统374可以各自与代码基础370通信。在这里所描述的实例中,代码基础可以是通过任何适当方式存储在任何数目的计算器件上的任何类型的代码储存库。举例来说,软件配置管理(SCM)工具可以存储代码基础370。在这样的实例中,系统372和374可以与SCM进行交互,以便访问代码基础370。在其他实例中,代码基础370可以是实施在至少一个计算器件(例如服务器)上的文件系统。在一些实例中,IDE 260也可以与代码基础370通信。
在图3的实例中,系统300可以实施用于IDE 260的插件的至少部分,正如前面关于插件262所描述的那样。在这样的实例中,IDE 260与系统300一起可以显示UI 240,正如前面所描述的那样。举例来说,IDE 260可以显示UI 240的(多个)部分(例如编辑器部分241),而系统300的显示引擎330显示UI 240的其他(多个)部分(例如认识部分243)。在其他实例中,IDE 260可以显示UI 240,同时接收来自显示引擎330的输入。在这样的实例中,来自显示引擎330的输入可以影响IDE 260在UI 240中显示的内容。举例来说,显示引擎330可以使得IDE 260显示认识部分243以作为由IDE 260显示的UI 240的一部分。在一些实例中,UI 240可以被显示在显示器365上。
在图3的实例中,粒度引擎328可以接收规定给定的粒度层级396的粒度设定381。在这样的实例中,由粒度设定381规定的给定粒度层级396是多个代码粒度层级当中的一个。所述多个代码粒度层级例如可以包括方法层级、类层级、文件层级、包层级以及任何其他适当层级的至少其中之一。在图3的实例中,显示引擎330可以在UI 240中显示粒度控制366。在这样的实例中,控制366可以是用户能够用以输入粒度设定381的任何适当的UI控制(例如滑动条、菜单、(多个)按钮等等)。在其他实例中,可以通过任何其他适当的方式将粒度设定输入到粒度引擎328中。在其他实例中,可以通过任何适当的方式设定粒度设定381并且由粒度引擎328取回。
在图3的实例中,聚焦引擎321可以识别聚焦在IDE 260的UI 240中的代码的一部分249,正如前面关于图1和2的指令122所描述的那样。在一些实例中,标识引擎322可以识别出具有给定的粒度层级396并且包括聚焦在UI 240中的所识别出的代码部分249的目标代码段。举例来说,在粒度设定381中规定的给定粒度层级396可以是方法层级粒度。在这样的实例中,引擎322可以把包括所识别出的代码部分249的方法“GetInfo()”识别成目标代码段242。在其他实例中,当粒度设定381规定不同的粒度层级396时,引擎322可以识别包括部分249的不同粒度层级的目标代码段242。
查询引擎324可以向代码相似性系统372查询类似于目标代码段242并且存在于代码基础370中的其他代码的标识384。举例来说,引擎324可以向代码相似性系统372提供查询382。在这样的实例中,引擎324可以作为查询382的一部分提供目标代码段242的拷贝,以及目标代码段242的给定粒度层级396的指示。作为响应,代码相似性系统372可以向查询引擎324返回类似于目标代码段242的其他代码的标识384。在一些实例中,所述类似的其他代码可以包括类似于目标代码段242并且与之具有相同粒度层级(即给定的粒度层级396)的其他代码段。
在图3的实例中,引擎324例如可以向代码相似性系统372提供针对类似于方法“GetInfo()”(即目标代码段242)的代码的查询。在这样的实例中,所述查询可以包括方法“GetInfo()”的拷贝以及给定粒度层级396的指示。在这样的实例中,代码相似性引擎372可以搜索代码基础370以寻找类似于方法“GetInfo()”并且与之具有相同粒度层级的代码段。作为响应,代码相似性系统372可以向查询引擎324返回类似于目标代码段242并且与目标代码段242具有相同粒度层级的其他代码段的标识384。在图3的实例中,代码相似性系统372可以至少识别出方法“GetLog()”和“GetList()”。在其他实例中,可以由系统372识别出(多个)附加的类似代码段。在一些实例中,系统372可以返回类似的其他代码的标识384以作为按照与目标代码段242的相关性排序的类似代码段的列表的一部分。
在一些实例中,代码相似性系统372可能在搜索类似于目标代码段242的代码时找到目标代码段242。在这样的实例中,代码相似性系统372可以返回目标代码段242的标识连同类似于目标代码段242的其他代码段的标识384。
在图3的实例中,认识引擎326可以从ALM系统374获取与由代码相似性系统372识别出的类似的其他代码相关联的ALM实体的标识388。在一些实例中,ALM系统374可以包括用于代码基础370的ALM信息。在这里所描述的实例中,ALM信息可以是与代码开发的某一方面相关联并且被保持在ALM系统中的信息。在一些实例中,ALM信息可以被包括作为ALM实体的一部分。举例来说,与缺陷有关的ALM实体可以包括描述所述缺陷的各个方面的ALM信息,比如像所述缺陷的描述、与所述缺陷相关联的代码的标识等等。在这里所描述的实例中,用于代码基础的ALM信息可以是与关联到代码基础中的代码的ALM实体相关联的ALM信息。
当在UI 240中显示所识别出的聚焦代码部分时,显示引擎330可以在UI 240中显示与所识别出的类似的其他代码相关联的所识别出的ALM实体的表示。在图3的实例中,例如当聚焦在编辑器部分241中并且由聚焦引擎321识别出的方法“GetInfo()”的部分249被显示在UI 240中时,引擎330可以显示由ALM系统374识别出的ALM实体的表示253。在这样的实例中,可以在IDE 260的UI 240中同时显示所识别出的聚焦代码部分249以及所识别出的ALM实体的表示。
在一些实例中,认识引擎326可以从ALM系统374获取与由代码相似性系统372识别出的类似的其他代码相关联的多个ALM实体的标识388。在这样的实例中,当在UI 240中显示所识别出的聚焦代码部分时,显示引擎330可以在UI 240中显示所识别出的多个ALM实体当中的每一个的表示。在这样的实例中,可以在UI 240中同时显示所识别出的聚焦代码部分249以及所识别出的ALM实体的对应表示。
在一些实例中,引擎330可以显示所选ALM实体类别的ALM实体的表示,正如前面关于图2所描述的那样。引擎330还可以在UI 240的不同区域中显示不同类别的所识别出的ALM实体的表示,正如前面关于图2所描述的那样。在一些实例中,引擎330还可以显示由代码相似性系统372识别出的(多个)类似的其他代码段的(多项)表示,同时显示所识别出的ALM实体的表示以及聚焦在编辑器部分241中的所识别出的代码部分249,正如前面关于图2所描述的那样。
在一些实例中,认识引擎326可以从ALM系统374获取与由代码相似性系统372识别出的类似的其他代码相关联的至少一项代码改变的标识386。在这样的实例中,查询引擎324可以获得(多个)类似的其他代码段的标识,并且认识引擎326可以向ALM系统374查询与所述类似的其他代码段相关联的任何(多项)代码改变。ALM系统374可以提供与(多个)类似的其他代码段相关联的任何代码改变的标识。在这样的实例中,认识引擎326可以确定与所识别出的(多项)代码改变相关联的(多项)代码改变当中的哪一项与目标代码段242相关。认识引擎326还可以从ALM系统374获取与被确定为与目标代码段242相关的任何代码改变相关联的每一个相关的ALM实体的标识388。在这样的实例中,引擎330可以在UI 240的认识部分243中显示其中一些或所有识别出的ALM实体的对应表示。
在这里所描述的实例中,为了在UI 240中显示表示或其他信息,引擎330可以在IDE 260显示UI 240的其他方面的同时显示所述表示或其他信息以作为UI 240的一部分,或者引擎330可以使得IDE 260和计算器件200的(多个)任何其他组件的至少其中之一在UI 240中显示所述表示或其他信息。在一些实例中,这里关于图3描述的功能可以与这里关于图1-2和4-5当中的任一幅描述的功能相组合来提供。
图4是用于获取与类似代码相关联的ALM实体的标识的示例性方法400的流程图。虽然在后面参照图2的计算器件200描述了方法400的执行,但是也可以利用其他适当的系统(例如计算器件100或系统300)来执行方法400。此外,方法400的实施并不限于这样的实例。
在方法400的405处,IDE插件262可以识别至少部分地聚焦在IDE 260的UI 240中的目标代码段242。举例来说,插件262的指令122可以识别目标代码段242,正如前面关于图1和2所描述的那样。在410处,插件262可以从代码相似性系统获取类似于目标代码段242的至少一个其他代码段的标识182。举例来说,指令124可以获取类似于目标代码段242的多个代码段的标识182,正如前面关于图1和2所描述的那样。
在415处,插件262可以在UI 240中显示所述至少一个类似的其他代码段当中的每一个的表示。举例来说,如图2中所示,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示类似于目标代码段242的所识别出的其他代码段的对应表示(例如245、246等等)。
在420处,插件262的指令126可以从ALM系统获取与至少一个类似的其他代码段相关联的ALM实体的标识184。在425处,当目标代码段242被至少部分地聚焦在UI 240中时,插件262的指令230可以在UI 240中显示所识别出的ALM实体的表示。在一些实例中,在420处,指令126可以获取与由代码相似性系统识别出的任一个类似的其他代码段相关联的ALM实体的标识184。在这样的实例中,如图2中所示,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示所识别出的ALM实体的对应表示。在一些实例中,如图2中所示,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以显示类似的其他代码段的表示以及所识别出的ALM实体的表示。
虽然图4的流程图示出了实施某些功能的具体顺序,但是方法400并不限于该顺序。举例来说,在流程图中相继地示出的各项功能可以按照不同的顺序来实施,可以被同时地执行或者部分同时地执行,或者是其某种组合。在一些实例中,这里关于图4描述的功能可以与这里关于图1-3和5当中的任一幅描述的功能相组合来提供。
图5是用于获取与类似于目标代码段并且与其具有相同粒度层级的代码段相关联的ALM实体的标识的示例性方法500的流程图。虽然在后面参照图2的计算器件200描述了方法500的执行,但是也可以利用其他适当的系统(例如计算器件100或系统300)来执行方法500。此外,方法500的实施并不限于这样的实例。
在方法500的505处,IDE插件262的指令122可以识别至少部分地聚焦在IDE 260的UI 240中的目标代码段242,正如前面所描述的那样。在510处,插件262的指令124可以向代码相似性系统查询类似于目标代码段242并且与其具有相同粒度层级的任何其他代码段,正如前面关于图3所描述的那样。在515处,插件262的指令124可以从代码相似性系统接收至少一个类似的其他代码段的标识182,正如前面所描述的那样。在520处,插件262的指令230可以在UI 240中显示至少其中一些所识别出的(多个)类似的其他代码段的表示,正如前面所描述的那样。在一些实例中,指令230可以显示被代码相似性系统识别成类似于目标代码段242的多个类似的其他代码段。
在525处,插件262的指令126可以从ALM系统获取与(多个)类似的其他代码段相关联的至少一项代码改变的标识,正如前面关于图3所描述的那样。在530处,插件262的指令126可以确定所述(多项)代码改变当中的哪一项与目标代码段242相关。在535处,插件262的指令126可以从ALM系统获取与被确定为与目标代码段242相关的(多项)代码改变当中的任一项相关联的每一个相关的ALM实体的标识,正如前面关于图3所描述的那样。
在540处,插件262的指令260可以在UI 240中显示由ALM系统识别出的每一个相关的ALM实体的表示,正如前面关于图3所描述的那样。在一些实例中,当目标代码段242被至少部分地聚焦在UI 240中时,指令230可以在UI 240中显示所述(多个)类似的其他代码段的(多项)表示以及所识别出的相关的ALM实体的(多项)表示。
虽然图5的流程图示出了实施某些功能的具体顺序,但是方法500并不限于该顺序。举例来说,在流程图中相继地示出的各项功能可以按照不同的顺序来实施,可以被同时地执行或者部分同时地执行,或者是其某种组合。在一些实例中,这里关于图5描述的功能可以与这里关于图1-4当中的任一幅描述的功能相组合来提供。

Claims (15)

1.一种编码有指令的非瞬时性机器可读存储介质,所述指令可由计算器件的处理资源执行来:
识别目标代码段;
从代码相似性系统获取类似于目标代码段的其他代码的标识;以及
从应用生命周期管理(ALM)系统获取与类似的其他代码相关联的ALM实体的标识。
2.权利要求1的存储介质,其中,所述用以进行识别的指令包括用以把至少部分地聚焦在集成开发环境(IDE)的用户接口(UI)中的代码段识别成目标代码段的指令。
3.权利要求2的存储介质,其还包括用于以下各项的指令:
当目标代码段被至少部分地聚焦在UI中时,在UI中显示与类似的其他代码相关联的所识别出的ALM实体的表示。
4.权利要求3的存储介质,其中:
所识别出的ALM实体是与类似的其他代码相关联的多个ALM实体的其中之一;并且
所述用以获取ALM实体的标识的指令包括用以从ALM系统获取所述多个ALM实体当中的每一个的标识的指令;并且
所述用以进行显示的指令包括用以当目标代码段被至少部分地聚焦在UI中时,对于所述多个ALM实体当中的至少一些ALM实体当中的每一个在UI中显示该ALM实体的表示的指令。
5.权利要求4的存储介质,其还包括用于以下各项的指令:
接收多个ALM实体类别的至少其中之一的选择;
其中,所述用以进行显示的指令包括用以当目标代码段被至少部分地聚焦在UI中时,在UI中显示属于任一个所选类别的多个所识别出的ALM实体当中的每一个的表示的指令。
6.权利要求5的存储介质,其中,所述多个ALM实体类别包括缺陷类别、要求类别、测试类别、构建失败类别和开发者类别的至少其中之一。
7.权利要求5的存储介质,其中,所述用以进行显示的指令还包括用于以下各项的指令:
在UI的不同区域中显示不同类别的ALM实体的表示;以及
当目标代码段被至少部分地聚焦在UI中时,在UI中显示类似的其他代码的至少一项表示。
8.一种系统,其包括:
用以识别具有给定的粒度层级并且包括聚焦在集成开发环境(IDE)的用户接口(UI)中的代码部分的目标代码段的标识引擎;
用以向代码相似性系统查询类似于目标代码段并且存在于代码基础中的其他代码的标识的查询引擎;
用以从用于代码基础的应用生命周期管理(ALM)系统获取与由代码相似性系统识别出的类似的其他代码相关联的ALM实体的标识的认识引擎;以及
用以在UI中显示所识别出的代码部分的同时在UI中显示与类似的其他代码相关联的ALM实体的表示的显示引擎。
9.权利要求8的系统,其还包括:
用以识别聚焦在UI中的代码部分的聚焦引擎;以及
用以接收规定所述给定粒度层级的粒度设定的粒度引擎,其中所述给定粒度层级是多个代码粒度层级的其中之一,所述多个代码粒度层级包括方法层级、类层级和包层级的至少其中之一。
10.权利要求9的系统,其中:
所述类似的其他代码包括类似于目标代码段并且与其具有相同粒度层级的其他代码段;并且
所述查询引擎将向代码相似性系统提供目标代码段的拷贝和所述给定粒度层级以作为查询的一部分。
11.权利要求10的系统,其中:
所识别出的ALM实体是与所述类似的代码相关联的多个ALM实体的其中之一;
所述认识引擎将从ALM系统获取所述多个ALM实体当中的每一个的标识;并且
显示引擎将在UI中显示所述代码部分的同时在UI中显示所述多个ALM实体当中的每一个的表示。
12.一种方法,其包括:
利用集成开发环境(IDE)插件识别至少部分地聚焦在IDE的用户接口(UI)中的目标代码段;
利用所述插件从代码相似性系统获取类似于目标代码段的至少一个其他代码段的标识;
在UI中显示类似的其他代码段的表示;
利用所述插件从应用生命周期管理(ALM)系统获取与类似的其他代码段相关联的ALM实体的标识;以及
当目标代码段被至少部分地聚焦在UI中时,利用所述插件在UI中显示所识别出的ALM实体的表示。
13.权利要求12的方法,其中,获取另一个代码段的标识包括:
向代码相似性系统查询类似于目标代码段并且与其具有相同粒度层级的任何其他代码段;以及
利用所述插件从代码相似性系统接收类似的其他代码段的标识。
14.权利要求13的方法,其中,获取ALM实体的标识包括:
从ALM系统获取与类似的其他代码段相关联的至少一项代码改变的标识;
确定所述至少一项代码改变当中的哪一项与目标代码段相关;以及
从ALM系统获取与被确定为与目标代码段相关的任何代码改变相关联的每一个相关的ALM实体的标识,其中所识别出的ALM实体是所述相关的ALM实体的其中之一。
15.权利要求14的方法,其中,所述显示包括:
在UI中显示每一个相关的ALM实体的表示。
CN201380071856.1A 2013-01-30 2013-01-30 获取与类似代码相关联的应用生命周期管理实体的标识 Active CN104937540B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/023740 WO2014120139A1 (en) 2013-01-30 2013-01-30 Acquiring identification of an application lifecycle management entity associated with similar code

Publications (2)

Publication Number Publication Date
CN104937540A true CN104937540A (zh) 2015-09-23
CN104937540B CN104937540B (zh) 2020-04-03

Family

ID=51262707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380071856.1A Active CN104937540B (zh) 2013-01-30 2013-01-30 获取与类似代码相关联的应用生命周期管理实体的标识

Country Status (4)

Country Link
US (1) US10175958B2 (zh)
EP (1) EP2951680B1 (zh)
CN (1) CN104937540B (zh)
WO (1) WO2014120139A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282177B2 (en) * 2015-03-24 2019-05-07 Vmware, Inc. Application user interface overlays for application lifecycle management
CN106708729B (zh) * 2016-11-15 2019-10-11 东软集团股份有限公司 代码缺陷的预测方法及装置
US10360094B2 (en) 2017-02-23 2019-07-23 Red Hat, Inc. Generating targeted analysis results in a support system
US10860464B2 (en) 2017-03-10 2020-12-08 Micro Focus Llc Test selection for application commit
US10740222B2 (en) * 2018-10-23 2020-08-11 Sap Se Intelligent unitizer test plug-in
US11816456B2 (en) * 2020-11-16 2023-11-14 Microsoft Technology Licensing, Llc Notebook for navigating code using machine learning and flow analysis

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110021A (zh) * 2002-03-25 2008-01-23 数据质量解决公司 对过程指令集进行可视化编程的方法
CN101329638A (zh) * 2007-06-18 2008-12-24 国际商业机器公司 程序代码的并行性的分析方法和系统
US20100011337A1 (en) * 2008-07-14 2010-01-14 Borland Software Corporation Open application lifecycle management framework domain model
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102810057A (zh) * 2011-05-30 2012-12-05 中国银联股份有限公司 一种记录日志的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6907546B1 (en) 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
EP1672484A1 (en) * 2004-12-17 2006-06-21 Sap Ag System for identification of context related information in knowledge sources
US20070255843A1 (en) * 2006-04-28 2007-11-01 Zubev Alexander I Configuration of clients for multiple computer services
US9519476B2 (en) * 2011-03-29 2016-12-13 Hewlett Packard Enterprise Development Lp Methods, apparatus and articles of manufacture to autocomplete application lifecycle management entities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110021A (zh) * 2002-03-25 2008-01-23 数据质量解决公司 对过程指令集进行可视化编程的方法
CN101329638A (zh) * 2007-06-18 2008-12-24 国际商业机器公司 程序代码的并行性的分析方法和系统
US20100011337A1 (en) * 2008-07-14 2010-01-14 Borland Software Corporation Open application lifecycle management framework domain model
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102810057A (zh) * 2011-05-30 2012-12-05 中国银联股份有限公司 一种记录日志的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAQING HOU等: "CnP:Towards an environment for the proactive Management of copy-and-paste programming", 《2009 IEEE 17TH INTERNATIONAL CONFERENCE ON PROGRAM》 *

Also Published As

Publication number Publication date
CN104937540B (zh) 2020-04-03
EP2951680A4 (en) 2016-10-05
EP2951680A1 (en) 2015-12-09
US10175958B2 (en) 2019-01-08
US20150355888A1 (en) 2015-12-10
EP2951680B1 (en) 2020-12-23
WO2014120139A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
CN107644286B (zh) 工作流处理方法及装置
CN111443912B (zh) 基于组件的页面渲染方法、装置、计算机设备和存储介质
CN110674408B (zh) 业务平台、训练样本的实时生成方法及装置
CN104937540A (zh) 获取与类似代码相关联的应用生命周期管理实体的标识
US9104709B2 (en) Cleansing a database system to improve data quality
Hasic et al. Towards assessing the theoretical complexity of the decision model and notation (DMN)
US20180329725A1 (en) Method and apparatus for loading application
CN111984659B (zh) 数据更新方法、装置、计算机设备和存储介质
CN110457578A (zh) 一种客服服务需求识别方法及装置
CN111126019A (zh) 基于模式定制的报表生成方法、装置和电子设备
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN109657803B (zh) 机器学习模型的构建
US20180137281A1 (en) Software analysis system, software analysis method, and software analysis program
US20180329873A1 (en) Automated data extraction system based on historical or related data
US11500619B1 (en) Indexing and accessing source code snippets contained in documents
US9275044B2 (en) Method, apparatus and system for finding synonyms
CN107766228B (zh) 一种基于多语种的自动化测试方法和装置
CN117540757A (zh) 用于自动翻译的方法、电子设备及计算机可读存储介质
CN109947466B (zh) 一种逆向获取ue4全局对象表的方法及其装置
CN112181429A (zh) 信息处理方法、装置以及电子设备
CN105426676A (zh) 一种钻井数据处理方法和系统
CN107430633A (zh) 与数据存储系统相关联的经相关优化的代表性内容
CN113223017A (zh) 目标分割模型的训练方法、目标分割方法及设备
CN104077072A (zh) 信息显示装置
US9471569B1 (en) Integrating information sources to create context-specific documents

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20161230

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, L.P.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180619

Address after: American California

Applicant after: Antite Software Co., Ltd.

Address before: American Texas

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Utah, USA

Patentee after: Weifosi Co., Ltd

Address before: California, USA

Patentee before: Antiy Software Co.,Ltd.