CN105765560A - 基于多次跟踪执行的软件组件推荐 - Google Patents

基于多次跟踪执行的软件组件推荐 Download PDF

Info

Publication number
CN105765560A
CN105765560A CN201480062297.2A CN201480062297A CN105765560A CN 105765560 A CN105765560 A CN 105765560A CN 201480062297 A CN201480062297 A CN 201480062297A CN 105765560 A CN105765560 A CN 105765560A
Authority
CN
China
Prior art keywords
component software
relation
application
software
data
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
CN201480062297.2A
Other languages
English (en)
Other versions
CN105765560B (zh
Inventor
T·瑟托
R·克莱杰克
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105765560A publication Critical patent/CN105765560A/zh
Application granted granted Critical
Publication of CN105765560B publication Critical patent/CN105765560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

可在根据软件组件的多次使用计算性能度量时生成推荐。跟踪服务可收集来自软件组件的多次使用的跟踪数据,其中每一次使用可以在不同条件下进行。性能度量分析可标识可能影响软件组件的性能的各种因素,随后以不同的递送机制将那些因素呈现给用户。在一个这类机制中,可生成一组推荐的硬件和软件配置,该生成为对软件组件的操作分析的一部分。

Description

基于多次跟踪执行的软件组件推荐
相关申请的交叉引用
本申请要求在2013年11月13日提交的名为“SoftwareComponentRecommendationBasedonMultipleTraceRuns(基于多次跟踪执行的软件组件推荐)”的美国专利申请序列号61/903,755、在2013年11月13日提交的名为“RelationshipGraphforSoftwareComponentRecommendations(软件组件推荐的关系图)”的美国专利申请序列号61/903,762、以及在2013年11月13日提交的名为“ComponentUsageRecommendationSystemwithRelationshipandPerformanceMatching(采用关系和性能匹配的组件使用推荐***)”的美国专利申请序列号61/903,768的优先权和权益,这些申请所公开和教示的所有内容通过引用被明确结合于此。
背景
许多计算机编程语言具有大量可重用的软件组件,其中的许多可能是开源的。这些组件在质量方面可能从很差到优秀,并具有与之对应的性能特性范围。在许多语言中,存在数以十万计或甚至百万计的不同组件。这为开发者带来了一个困难的问题:如何从巨大的库中选择组件呢?
概述
可在根据软件组件的多次使用计算性能度量时生成推荐。跟踪服务可收集来自软件组件的多次使用的跟踪数据,其中每一次使用可以在不同条件下进行。性能度量分析可标识可能影响软件组件的性能的各种因素,随后以不同的递送机制将那些因素呈现给用户。在一个这类机制中,可生成一组推荐的硬件和软件配置,该生成为对软件组件的操作分析的一部分。
推荐***可通过跨可使用各种模块的多个应用分析模块使用图来标识兼容的和不兼容的软件组件以及其它推荐。该图可标识可被归类为“硬”关系(被定义为被另一模块调用或被并入另一模块)的模块关系,以及可被归类为“软”关系(可被标识为与另一模块一起被并入某应用中)的模块关系。该图可进一步标识潜在的互斥模块,互斥模块可在模块被移除并被第二个模块替代时被标识。该图可被用于为给定使用案例及其它使用推荐相关的模块或模块集合。
使用推荐***可基于用户提供的信息来建议硬件和软件配置以及其它兼容或有用的模块。在架构软件应用或浏览模块时,可向用户呈现按照其在类似硬件平台上或类似负荷下的性能来看、以及根据其基于可通过分析对各个模块的多次不同使用来收集的模块关系图中的关系的兼容性来看可兼容的模块。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图简述
在附图中,
图1是示出用于软件组件推荐的***的实施例的图示。
图2是示出具有可生成组件推荐的设备的网络环境的实施例的图示。
图3是示出带有关系的示例组件图的实施例的图示。
图4是示出带有关系和性能数据两者的推荐的实施例的图示。
图5是示出用于对跟踪数据进行参数分析的方法的实施例的流程图。
图6是示出用于构建组件图的数据源的实施例的图示。
图7是示出用于根据应用储存库来构建组件图的方法的实施例的流程图。
图8是示出用于根据组件储存库来构建组件图的方法的实施例的流程图。
图9是示出用于根据***数据来构建组件图的方法的实施例的流程图。
图10是示出用于标识互斥关系的方法的实施例的流程图。
图11是示出用于生成建议的方法的实施例的流程图。
图12是示出用于在建议分析之前分析现有应用的方法的实施例的流程图。
详细描述
基于多次跟踪执行的模块推荐***
模块推荐***可分析来自软件组件的多次使用的跟踪执行。该分析可标识软件组件在其下执行良好或糟糕的因素,并且这些因素可在推荐***中被用于软件组件。因素可包括硬件和软件配置、输入参数、常规使用参数、以及其它因素。
因素可通过将不同的跟踪数据集彼此比较并且确定有助于定义各个跟踪数据集之间的区别的主导因素来生成。主导因素可有助于标识对于各个软件组件的操作有利或不利的条件。这些条件可以若干种不同方式被使用来推荐软件组件及执行软件组件的条件。
跟踪数据集可以是可在应用执行的同时被收集的任何类型的数据。在许多情况下,跟踪数据集可以是跟踪数据的时间串联序列,其可包括关于应用的性能和操作信息。这类序列可表示应用及其各个组件在执行和非满负荷期间可如何执行。在许多情况下,跟踪数据集可包括关于应用所感受到的负荷的信息,并且在一些情况下,负荷或其它信息可从对于跟踪数据或其它数据的分析中推导出。
对于软件组件的有利或不利操作起作用的因素可作为软件组件统计用户界面的一部分被呈现给用户。软件组件统计列表可标识在充分利用该软件组件方面哪些因素是主导的,以及在部署该软件组件时要避免的因素。这类信息可对于可能正搜索要执行某个功能的软件组件的开发者而言是有帮助的。
各因素可被实现为组件表现的预测模型。这类预测模型可包括可能影响组件的性能或其它度量的主导因素。在一个简单示例中,预测模型可估计在给定组件可能经历的一组硬件、软件、以及使用参数的情况下该组件用于处理请求的响应时间。
用于软件组件推荐的关系图
软件组件的关系图可标识各个可重用的软件组件之间的不同类型的关系。“硬”关系可存在于一个组件调用或包括另一组件的情形,而“软”关系可存在于开发者在同一应用中使用两个组件的情形。在一些情况下,在一个组件在应用的新修订中被另一组件代替时,可标识互斥关系。
关系图可由多个不同数据来源创建。在一些情况下,可根据包含多个不同应用或组件的储存库中的数据来执行分析。通过分析应用,可标识各个常用组件之间的关系。在一些情况下,对于应用的不同版本的分析可标识其中一个组件可被移除而另一组件被添加,由此指示可能的互斥关系的情形。
关系图可部分通过分析来自多个应用的***数据来收集。***数据可包括应用内所使用的组件的性能和操作数据,并且可标识“硬”和“软”关系两者。在一些情况下,关系图可由多个来源生成,包括来自多个储存库的数据以及通过跟踪多个应用而收集的***数据。
各模块之间的关系可以按许多不同的方式来使用。在一个示例中,组件统计显示可包括到已知其各种关系的其它组件的链接。
采用关系和性能匹配的组件使用推荐***。
组件使用推荐***可使用性能匹配和组件关系两者来推荐各种组件或标识要替代的组件。对于各种组件,可标识在被执行时提高或降低组件的有效性的一组影响因素。
此外,各组件之间的关系可通过关系图来标识。影响因素和关系可被用于若干种不同场景以评估组件并协助用户。
在一个使用场景中,可在应用的预期执行环境和预测的执行条件下执行对应用的分析。在一些情况下,分析可导致合适性评级或其它度量。一些***可标识可能不适合于特定执行环境或条件的某些组件,并且可进一步为应用推荐不同组件。
在另一使用场景中,用户可定义一组部署条件,包括硬件、软件、负荷、以及其它参数。根据这些给定条件,可搜索、排序、排名、或以其它方式推荐可匹配于这些预期部署条件的组件。
贯穿本说明书和权利要求书,术语“组件”被用于定义可被合并到应用中的一组可重用代码。组件可被知晓为“模块”、“库”、“子例程”或某个其它概念。出于本说明书和权利要求书的目的,这些术语被认为是同义词。
“组件”可以是按照多个应用可访问代码的方式布置的代码,即便这些应用彼此之间可能没有连接。一般来说,“组件”可以是被配置成被重用的代码。在一些情况下,组件可在大应用的范围内重用,而在其它情况下,模块可被共享至可在不相干且不连接的应用中使用该模块的其它应用开发者。
许多编程语言和范例具有“组件”或库的概念,其中组件可具有经定义的接口,通过该接口,应用可调用并使用组件。一些范例可允许程序员按静态方式合并模块,以使得组件代码在该应用被编写并部署之后不进一步改变。一些范例可允许动态库,其可在运行时或者甚至在执行开始之后被加载和调用。动态库可在该应用可被分发之后被更新和改变,而调用库或组件的方式可保持不变。
组件可以源代码、中间代码、可执行代码或以某种其它形式分发。在一些情况下,组件可以是可通过应用编程接口调用的服务。
贯穿本说明书和权利要求书,术语“组件”可被应用于单个可重用函数。这一函数可被分发作为库、模块、或其它代码集的一部分,并且可反映可被分发的可重用代码的最小元素。在本说明书和权利要求书中被提及的单个“组件”可以是单个应用编程接口调用或可调用子例程或函数,以及模块、库、或多个可调用函数、应用编程接口调用、或其它更小元素的其它聚集。
在本说明书和权利要求书中,术语“剖析器”、“***”和“探测工具”可以互换地使用。这些术语指代可在应用被执行时采集数据的任何机制。在经典定义中,“探测工具”可指代可被***可执行代码并从而改变该可执行代码的生成方法存根(stub)、挂钩(hook)或其他数据采集机制,而“剖析器”或“***”可经典地指代不可改变可执行代码的数据采集机制。对这些术语及其派生词中的任一者的使用都可蕴含或暗示彼此。例如,使用“***”的数据收集可使用“***”的经典意义中的非接触式数据收集以及用其中可执行代码可被改变的“探测工具”的经典意义的数据收集来执行。类似地,通过“探测工具”收集的数据可包括使用非接触式数据收集机制的数据收集。
此外,通过“剖析”、“跟踪”和“探测工具”收集的数据可包括可被收集的任何类型的数据,包括诸如处理时间、吞吐量、性能计数器等等之类的与性能有关的数据。收集到的数据可包括函数名、传递的参数、存储器对象名和内容、传递的消息、消息内容、寄存器设置、寄存器内容、差错标志、中断、或与正被跟踪的应用有关的任何其他参数或其他可收集的数据。收集到的数据还可包括高速缓冲未命中、垃圾收集操作、存储器分派调用、页面未命中、以及其它参数。
贯穿本说明书和权利要求书,术语“执行环境”可被用于指代用于执行应用的任何类型的支持软件。执行环境的一示例是操作***。在一些举例说明中,“执行环境”可被示为与操作***分开。这可能是为了例示出为应用提供各支持功能的虚拟机,诸如进程虚拟机。在其他实施例中,虚拟机可以是可包括其自己的内部操作***并可模拟整个计算机***的***虚拟机。贯穿本说明书和权利要求书,术语“执行环境”包括可以或可以不具有容易标识的“虚拟机”或其它支持软件的操作***和其它***。
贯穿本说明书和权利要求书,术语应用摂被用来指代可执行期望功能的软件和硬件产品的任何组合。在一些情况下,应用可以是用硬件平台操作的单一软件程序。一些应用可使用多个软件组件,每个软件组件可以是用不同语言编写的或可在不同硬件或软件执行环境内执行。在一些情况下,这些应用可跨多个设备分散并且可使用可由网络或其它通信***连接的软件和硬件组件。
贯穿本说明书,贯穿对附图的描述,相同的附图标记表示相同的元素。
在本说明书和权利要求书中,对“处理器”的引用包括多个处理器。在某些情况中,可由“一处理器”执行的过程可实际上由同一设备上或不同设备上的多个处理器执行。出于本说明书和权利要求书的目的,对“处理器”的任何引用应包括可能位于同一设备上或不同设备上的多个处理器,除非另外明确指定。
当元素被称为被“相连接”或“相耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。
本主题可被体现为设备、***、方法、和/或计算机程序产品。因此,本主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本主题可以采用计算机可使用或计算机可读存储介质上的计算机程序产品的形式,介质中收录了供指令执行***使用或结合指令执行***一起使用的计算机可使用或计算机可读的程序代码。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行***、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如但不限于,电、磁、光、电磁、红外、或半导体***、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行***访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、翻译,或以其他合适的方式处理,并随后存储在计算机存储器中。
当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个***、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
图1是示出用于提供针对软件组件的推荐的***的实施例100的图示。推荐可使用性能数据和/或组件关系图来标识和建议可满足应用的预期使用和架构的不同组件。
推荐***可使用可从软件组件的多个实例中收集的数据。软件组件可以是模块、库、子例程、或可用于相同应用的许多个实例或许多个不同应用中的其它组件。当来自多个实例的数据被分析时,导致组件以某些方式来表现的那些因素可被标识。在选择可在预期部署条件下最优地运行的组件时,这些起因可能对开发者是非常有用的。
在实施例100的示例中,软件组件可在三个不同应用内被调用并且在三种不同条件下被执行。
不同硬件组件以及不同软件平台可被使用。软件平台可包括操作***、执行环境、驱动、其它应用、或者任何其它软件变量。
***数据可在各种条件下执行应用时被收集。对不同***数据集的对比分析可揭示哪些环境和部署因素是影响性能或其它想要的度量的主导因素。在一个简单示例中,这类分析可揭示某些组件在被布署在单个处理器上时可非常有效地工作,但是在被部署在多个处理器上时性能受到影响。在另一示例中,组件可被确定为在某些类型的负荷下最优地工作,而在其它负荷下不能。
各组件之间的关系图可根据***数据以及其它来源来生成。该图可标识具有明确关系、隐含关系、互斥关系、以及其它类型的关系的组件。
明确关系可在一个组件调用另一组件时被标识。在这种情况下,第一组件包括第二组件。虽然第二组件可与第一组件分开地使用,但是第一组件不能在缺少第二组件的情况下使用。
隐含关系可在两个组件可被用于同一应用中但是不调用彼此时被标识。这一情形可在应用开发者选择这两个组件并且将两个组件都使用在同一应用中时发生。隐含关系可指示两个组件是彼此互补的。当向开发者作出推荐时,隐含关系可有助于标识开发者在构建应用时很可能会考虑的组件。
互斥关系可指示一个组件可替代另一组件。这类组件可能很少被用在同一应用中,并且可在应用开发者移除一个组件并用另一组件替代该组件时被标识。这一情况下可通过分析应用的不同版本、跟踪组件何时被移除以及另一组件何时被添加来观察。虽然这一分析可能不能得出互斥关系存在的结论,但是这一分析可以是这一关系可能存在的一种指示器。
各组件之间的互斥关系可能对推荐可能是用于替代应用中的一组当前组件的候选的组件有用的。推荐***可使用互斥关系来建议对应用的改动。当与性能数据分析耦合时,这一推荐可具有支持这一改动的性能或其它数据。
设备102、104和106示出三种不同的软件组件部署。这些设备可运行在三个不同的硬件平台108、110和112上并且可分别具有三个不同软件平台114、116和118。硬件平台可具有不同的处理器速度、处理器数量、存储器、存储、网络接口、***设备、或其它参数。
类似地,软件平台可具有不同操作***、执行环境、驱动、应用、或者其它软件变量。
在一些情况下,应用120、122和124可以是不同应用。应用可以是同一应用的不同版本,或者是可具一不同架构、输入流、以及不同功能的完全不同的应用。
组件126、128和130可以是实施例100的示例中感兴趣的组件,这意味着组件126、128和130可被分析以确定影响组件的性能或其它输出的区别因素。
不同应用可以不同方式使用组件126、128和130。应用中的一些可实行组件的一些功能而其它应用可实行其它功能。各个应用中的每一个可具有可由组件处理的不同的输入流,并且可在不同负荷下实行各组件。
在应用120、122和216中可分别存在附件组件132、134和136。附加组件可由开发者选择来在各个应用中执行附加功能,并且这些附加组件的存在可被用于在各个组件之间建立关系。
组件126、128和130中的每一个可分别具有可收集性能和其它数据,随后将***数据传送给入口引擎144的***138、140和142。在实施例100的示例中,***138、140和142被示为分别连接到组件126、128和130。这一例示可示出***可仅监视其附连到的组件。其它实施例可具有可收集整个应用或应用内的多个组件的跟踪数据的***。
入口引擎144可以从各个设备接收***数据。***数据可被存储在***数据库146中,***数据库146可存储来自许多个不同应用和软件组件的***数据。分析引擎148可处理跟踪数据集来确定许多因素中的哪些因素对于影响给定组件或应用的性能或其它度量是主导的。
从入口引擎144接收的跟踪数据还可由图引擎152处理以创建组件关系图154。组件关系图154可包含各个组件之间的明确和隐含关系。这类关系可从跟踪数据以及其它来源(诸如各个储存库)中生成。
查询引擎150可接收包含输入参数156的请求并返回结果158。在查询的一个示例中,请求可包含可定义应用的预期执行场景的输入参数156,包括使用和架构信息。这些参数可由查询引擎150使用来生成具有性能数据的软件组件列表,作为供开发者考虑的选项。
图2是示出可在应用执行时收集数据并分析数据以标识推荐或其它使用的组件的实施例200的示图。实施例200的示例可例示出一种架构,其中***数据可从多个设备收集并随后在***数据库中被分析。组件图可根据从***数据或其它来源中标识的关系来生成。
图2的示图例示出了***的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例可使用不同硬件、软件、以及互联架构来实现所描述的功能。
实施例200例示出可具有硬件平台204和各种软件组件的设备202。所例示出的设备202表示常规计算设备,但是其它实施例可具有不同配置、架构、或组件。
在许多实施例中,设备202可以是服务器计算机。在一些实施例中,设备202仍然还可以是台式计算机、膝上型计算机、上网本计算机、图形输入板或平板计算机、无线手机、蜂窝电话、游戏控制台或任何其他类型的计算设备。在一些实施例中,设备202可被实现在计算设备的群集中,该群集可以是一组物理机或虚拟机。
硬件平台204可以包括处理器208、随机存取存储器210、以及非易失性存储212。硬件平台204还可包括用户接口214和网络接口216。
随机存取存储器210可以是包含可由处理器208快速存取的数据对象和可执行代码的存储。在许多实施例中,随机存取存储器210可具有将存储器210连接到处理器208的高速总线。
非易失性存储212可以是在关闭设备202之后持久保持的存储。非易失性存储212可以是任何类型的存储设备,包括硬盘、固态存储器设备、磁带盒、光学存储、或其他类型的存储。非易失性存储212可以是只读的或能够读/写。在一些实施例中,非易失性存储212可以是基于云的、网络存储、或可通过网络连接访问的其他存储。
用户接口214可以是能够显示输出以及接收来自用户的输入的任何类型的硬件。在许多情况下,输出显示器可以是图形显示监视器,但是输出设备可包括光和其他视觉输出、音频输出、动力致动器输出、以及其他输出设备。
常规输入设备可包括键盘和定点设备,诸如鼠标、指示笔、跟踪球、或其他定点设备。其他输入设备可包括各种传感器,包括生物测定输入设备、音频和视频输入设备、以及其他传感器。
网络接口216可以是到另一计算机的任何类型的连接。在许多实施例中,网络接口216可以是有线以太网连接。其他实施例可包括基于各种通信协议的有线或无线连接。
软件组件206可包括操作***218,各种软件组件和服务可在该操作***218上操作。入口引擎220可接收来自其它设备上的***的***数据并且可将***数据存储在***数据库222中。分析引擎224可标识可影响被跟踪的软件组件的性能的各个区别因素。
图引擎226可标识软件组件之间的关系并且可构建组件图228。图引擎226可使用跟踪数据以及来自其它来源的数据(包括组件储存库、应用储存库、以及其它来源)来标识各组件之间的关系。
查询引擎230可对请求作出响应,响应可使用***数据库222和组件图228中的一者或两者来生成针对查询的结果。
在实施例200中,网络232可连接可交互的各设备。
部署***234可执行应用并在应用执行时收集***数据。在许多情况下,部署***234可以是应用可在其上执行的生产***。部署***234可在各种硬件平台236上操作,硬件平台236可与针对硬件平台204来描述的那些类似。
操作***238或执行环境240可执行应用242。应用242可包含各个软件组件244,并且各个其它应用246也可在部署***234上执行。***248可在执行环境240内工作。在一些情况下,***250可在操作***238内执行。
开发***252可例示开发者可在其上创建和编辑应用的源代码258的设备。开发***252可在各种硬件平台254上操作,硬件平台254可与针对硬件平台204来描述的那些类似。
集成开发环境256可以是包括开发者所使用的各种工具(诸如编辑器260和编译器262)的应用或应用套件。
分析器264可分析应用的源代码258以生成用于查询引擎230的查询。该查询可定义开发中的应用的特性,并且查询引擎230可返回可被显示在推荐窗口266中的信息。这一信息可包括源代码258中的组件的性能数据,以及可被考虑用于该开发中的应用的替代组件。
储存库***268可以是包含用于源代码274的储存库272的***。储存库272可包含应用代码、组件代码、或其它软件。储存库***268可在各种硬件平台254上执行,硬件平台254可与针对硬件平台204来描述的那些类似。
储存库可由图引擎226分析以构建组件图228。储存库可指示其中两个组件可被频繁地一起使用的隐含关系、其中一个组件调用另一组件的明确关系、以及其中组件可彼此交换的互斥关系。
客户端设备276可以是一个用于显示来自查询引擎230的查询结果的机构。客户端设备276可具有硬件平台278,硬件平台278可与针对硬件平台204来描述的那些类似。浏览器280可在客户端设备276上执行并显示用户界面282。用户界面282可以是网页或可显示查询结果中的一些的其它界面。
图3是示出软件组件关系图的示例实施例300的示图。实施例300是例示出组件302、304、306、以及308以及各种关系的简单的图。
各组件可表示可被部署在各个应用上的可重用软件组件。各组件可能已通过***数据、源代码分析、储存库分析、或其它机制而被发现,这些机制的示例可在本说明书的后文中找到。
组件302和304被例示为具有明确关系310。明确关系310可以是有向的,指示组件302可被包括在组件304中或从组件304调用。这一关系可以是一个硬编码的关系,其中组件304的源代码可能已调用了组件302。
组件306和308被例示为具有互斥关系314。在互斥关系中,两个组件可通常彼此替代地使用并且很少被一起使用。这类关系可通过分析在许多版本中对应用的改动来标识。当一个组件被移除而另一组件被添加,这一情形可指示互斥关系。
组件302、304、306和308可通过隐含关系312连结。隐含关系可在两个组件可被用于同一应用中时被标识。这类关系可指示两个组件是彼此兼容并互补的。
诸如实施例300之类的图可被用于推荐组件。例如,应用可包含组件306,组件306可具有与关系302和304的隐含关系。在分析期间,组件302和304可被推荐给开发者,因为组件302和304通常与组件306一起使用。另外,由于互斥关系的缘故,组件308可被推荐作为组件306的替代。
图4是示出带有关系和性能数据两者的推荐的实施例400的图示。
实施例400例示出可包括应用的设计参数404和可能组件406的请求402。请求402可由查询引擎408处理来生成一些结果414。在另一场景中,请求416可根据现有应用和跟踪数据来生成。
在两种类型的请求中,查询引擎408都可接收关于操作特性和部署架构的信息。操作特性可以是对于组件可被如何使用的描述。这一描述可包括负荷、请求的频率、输入参数、以及对于预期使用的其它描述。部署架构可定义组件可执行于其上的硬件和软件平台。这类描述可包括处理器速度、处理器数量、存储器、存储容量、存储和网络带宽、吞吐量和等待时间、以及其它参数。
可能的组件406可以是应用的初步架构。这一信息可以是用于遍历组件图并提供架构推荐的起始点。在一个使用案例中,可能的组件406可以是可呈现应用的预期功能的组件。在这一使用案例中,结果414可以是可匹配于该部署架构和预期操作特性的一组组件。这一使用案例可能对于在项目的开始时标识可最优地适用于预期部署的软件组件是有帮助的。
现有应用请求418可分析可能处于部署的某个状态下的应用。在一些情况下,该应用可处于部署中并在测试或开发硬件上执行,而在其它情况下,应用可能已被部署在生产硬件上并在生产负荷下执行。这一应用418可包括若干个组件420。
一组跟踪数据422可被包括在请求416中。跟踪数据422可由分析器424分析以提取实际的操作特性和部署架构信息。这一分析在跟踪数据422可在生产环境中被收集时可能是有用的。在其中跟踪数据422可能不准确地反映预期生产环境和使用的情况下,用户可手动选择这类参数。
查询引擎408可分析生成可包括建议的组件的列表和针对各组件的各种性能度量的结果414的请求。组件图412可被查询以标识与请求中标识的那些组件类似的或相关的组件。可针对跟踪数据库410来分析组件列表以确定性能和其它参数。一旦性能已知,则组件可被排名或排序。推荐可通过将请求中的组件的基本集合与可根据组件图412标识出的其它组件作比较来做出。
图5是示出用于对跟踪数据进行参数分析的方法的实施例500的流程图。实施例500例示出用于从多个跟踪数据集中提取区别因素的简化方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框502,可接收跟踪数据集。在框504,可标识要被分析的元素。要被分析的元素可以是例如软件组件。
在框506中,可检索包含该元素的所有数据集。在框508,对于每一个数据集,在框510,可创建包含任何可用元数据元素的向量。在为每一个数据集创建向量之后,在框512,可执行多变量分析以确定区别因素,在框514,该区别因素可被存储。
区别因素可以是对于性能或其它度量有最大影响的那些因素。这些因素可指示在什么条件下给定组件可工作良好,而在什么条件下同一组件可工作地较差。这类因素在比较类似组件时可能是有用的。例如,当为一组给定执行条件建议或推荐组件时,可对区别因素执行排序以标识可在被选定的条件下工作良好的组件。
区别因素可以对于可负责所选定的组件的开发者来说是有用的。各因素可指示在特定条件下的性能问题,并且给予开发者改进组件的某些指引。
图6是示出用于生成组件图的机制的示例实施例600的示图。实施例600可例示出从中可标识各组件以及各组件之间的关系的三个不同的数据来源。
应用储存库604、组件储存库606、以及***数据库608可各自具有可从中提取组件及其关系的数据。在一些情况下,某些类型的关系可从一个来源中找到,而其它来源可具有其它类型的关系。
应用储存库604可包含应用源代码614。应用源代码可包含应用的多个版本。在每一个版本中,可能存在不同的组件集合616、618和620。多个组件在单个应用中的存在可指示这些组件之间的隐含关系。另外,可被移除并由应用的后续版本中的另一组件替代的组件可指示互斥关系。
组件储存库606可包含组件源代码622。在一些情况下,组件源代码622可包含对其它组件624和626的调用。这类调用可指示各组件之间的明确关系,因为第一组件可以硬编码的方式包括或调用其它组件。
***数据库608可包括可由监视应用收集的***数据628。在许多情况下,跟踪数据可通过监视许多不同应用630来收集,不同应用630中的许多可包括可重用软件组件632和634。隐含和明确关系有时可从跟踪数据中推断,这取决于跟踪数据可以有多详细。在其中应用的不同版本可被跟踪的情况下,互斥关系可被推断。
图引擎610可获得来自各个来源(诸如应用储存库604、组件储存库606、以及跟踪数据库608)中的任意一个的数据以创建组件图612。可在本说明书的稍后处找出这类处理的示例。
图7是示出用于构建组件图的方法的实施例700的流程图。实施例700可例示出由图引擎在访问应用储存库以标识可重用软件组件以及各组件之间的隐含关系时执行的示例方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框702,可访问应用储存库。该储存库可以是具有应用的多个版本的传统源代码储存库。
在框704,可标识要被分析的应用。在框706,可分析每一个应用。在许多情况下,对应用的分析可通过对源代码的静态检查来执行。在其它情况下,分析可通过检查中间代码、调用轨迹、或其它信息来执行。
如果在框708中应用没有调用多个组件,则过程可返回到框706。
如果在框708中应用确实调用了多个组件,则在框710,可分析每一个组件。如果在框712中该组件不在组件图中,则在框714,可添加该组件。
在框710中添加了任何新组件之后,在框716,可分析组件。在框716中对于每个组件,可以在框718分析每一个其余组件,并且在框720,可创建隐含关系。在一些情况下,隐含关系可以是有向关系,其中关系的强度或类型对于从第一组件到第二组件和反方向可以是不同的。
在框706中分析了每一个组件之后,在框722,可存储组件图。
图8是示出用于使用来自组件储存库的数据来构建组件图的方法的实施例800的流程图。
实施例800可例示出由图引擎在访问组件储存库以标识可重用软件组件以及这些组件之间的明确关系时执行的示例方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框802,可访问组件储存库。储存库可以是各个组件的目录,并且可包含元数据、源代码、或关于可重用软件组件的其它信息。在一些情况下,组件储存库可用作为用于搜索组件的目录,并且组件源代码可被放置在不同的储存库中。
在框804,可分析各组件。对于每一个组件,如果在框806中该组件不在图中,则在框808,可将该组件添加到图中。
在框810,可分析该组件以确定从当前组件中是否调用了任何组件。在框812,可处理每一个被调用的组件。如果在框814中被调用的组件不在图中,则在框816,可添加该组件。
在框818,可创建明确关系。
在框812处理了所有被调用的组件之后,则过程可返回到框804。在框804处理了所有组件之后,在框820,可存储组件图。
图9是示出用于根据跟踪数据来构建组件图的方法的实施例900的流程图。实施例900可例示出由图引擎在访问跟踪数据库以标识可重用软件组件以及这些组件之间的隐含关系时执行的示例方法。实施例900例示出对单个跟踪数据集的分析。对于大型数数据库,实施例900可被应用于数据库中的每一个数据集。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框902,可接收跟踪数据集。跟踪数据集可表示通过监视单个应用收集到的跟踪数据。在框904,可标识数据集内的每一个组件,并且在框906,分开地分析每一个组件。
在框906,对于每一个组件,如果在框908中该组件不在图中,则在框910,可添加该组件。
在框912,对于每一个组件,在框914,可标识该应用中的所有其它组件。在框916,那些附加组件可被单独处理。
如果在框918中来自框912和916的组件具有预定义的明确关系,则过程可返回框916,而无需改变关系状态。在许多实施例中,明确关系可主导任何隐含关系,使得当明确关系存在时,任何隐含关系可被丢弃。
如果在框920中来自框912和916的组件不具有预定的隐含关系,则在框922,可创建隐含关系。在框924,新创建的或预定义的隐含关系可被加强。
许多实施例可包括针对隐含关系的强度因子。当对同一关系的多次观察被作出时,强度因子可被提高。
图10是示出用于标识互斥关系的方法的实施例1000的流程图。实施例1000可例示出由图引擎在访问应用储存库以标识各组件之间的互斥关系时执行的示例方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
互斥关系可通过对应用的不同版本进行分析来隐含表示。这类关系可在开发者在应用的一个版本到另一版本中将一个组件替换为另一组件时被标识。这类关系可通过观察来隐含表示,并且当接收到可确认第二组件替换了第一组件的人工输入时,这类关系可被显著加强。
在框1002,可访问应用储存库。在框1004,可标识要被分析的应用。在框1006,可处理每一个应用。
在框1006,对于每一应用,可在框1008处理应用的每一个版本。在框1008,对于应用的每一个版本,可在框1010生成该版本的组件列表。如果在框1012中不存在对于前一版本的改动,则过程可循环返回到框1008。
如果在框1012发生了对于组件列表的改动,则在框1014,可处理每一个改动。
在框1014,对于每一个改动,在框1016,可进行分析以确定是否一个组件被移除而另一组件被添加。如果在框1018中这一判断不为真,则过程可返回到框1014。
如果在框1018中这一判断为真,则隐含的互斥关系可能存在。在框1020,如果这一关系当前不存在于组件之间,则在框1022,该关系可被创建。在框1024,新创建的或预先存在的关系可被加强。
当在框1014处理了对于框1006中的每一个应用的框1008中的每一个版本的所有改动之后,在框1028,组件图可被存储。
图11是示出用于生成建议的方法的实施例1100的流程图示。实施例1100可例示出由查询引擎执行的用于组合从跟踪数据中推导出的性能数据和组件图两者的示例方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框1102,可接收应用的使用描述。该使用描述可包括可描述应用可如何被使用的任何参数。这一描述可包括像预期的工作负荷、期望的可靠性、或其它性能度量之类的项。
在框1104,可接收架构描述。架构描述可包括应用可在其上执行的硬件和软件组件。
在一些情况下,使用描述和架构描述可从应用的现有跟踪数据中推导出。这种情况在为生产中的应用生成推荐时可能是有用的。在其它情况下,使用描述和架构描述可以是对应用可在其下执行的预期条件的描述。
在框1106,可分析架构描述以标识可重用软件组件。组件可通过分析源代码或根据应用的常规描述来确定。在框1108,可分析每一个组件。
在框1108,对于每一个组件,可确定该组件的一组性能度量。性能度量可从***数据库中推导出。
在许多情况下,性能度量可以是基于使用和架构来估计的度量。这类度量可反映给定预期使用和架构情况下的预期性能。
在框1112,可进行对于组件图的搜索以标识相关组件。在框1114,对于每一相关组件,可在框1116确定那些组件的性能度量。
在框1118,可按照性能度量对相关组件的分组排序。在框1120,可进行当前组件对照相关组件的分析。如果在框1122中存在具有更好性能度量的相关组件,则在框1124,可向用户建议该其它组件。如果在框1122不存在更好的组件,则建议可被省略
在框1126,建议可被呈现给用户。
图12是示出用于基于现有应用和跟踪数据来构造查询的方法的实施例1200的流程图。
实施例1200可例示由分析引擎执行的可采用现有应用及其跟踪数据来准备推荐查询的示例方法。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各种操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式例示出一些操作原理而被选出的。
在框1202,可接收应用以及其跟踪数据。
在框1204,可分析该应用以标识所有其可重用组件。该分析可根据跟踪数据、应用源代码、或其它来源来执行。
在框1206,可分析跟踪数据以标识应用的使用条件。该使用条件可以是在跟踪期间观察到的实际使用条件。
在框1208,使用和架构信息可被呈现给用户,并且在框1210,可收集任何手动作出的对于观察的改动。在框1212,改动可被保存为查询。在框1214,可传送该查询。在一些实施例中,查询可使用类似于实施例1100的方法来处理。
对本发明的上述描述是出于图示和描述的目的而呈现的。它不旨在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。

Claims (55)

1.一种在至少一个计算机处理器上执行的方法,所述方法包括:
接收多个跟踪数据集,每一个所述跟踪数据集包括在监视第一软件组件时收集的性能数据的时间序列;
分析所述多个跟踪数据集以确定导致所述跟踪数据集之间的差异的区别因素;以及
向用户呈现所述区别因素。
2.如权利要求1所述的方法,其特征在于,所述差异包括所述跟踪数据集之间的性能差异。
3.如权利要求2所述的方法,其特征在于,所述区别因素包括硬件差异。
4.如权利要求3所述的方法,其特征在于,所述区别因素进一步包括软件差异。
5.如权利要求4所述的方法,其特征在于,还包括对多个区别因素进行排名。
6.如权利要求5所述的方法,其特征在于,所述性能数据包括资源消耗数据。
7.如权利要求6所述的方法,其特征在于,所述资源消耗数据包括由以下各项组成的组中的至少一个:
处理器资源消耗数据;
存储器资源消耗数据;以及
网络资源消耗数据。
8.如权利要求6所述的方法,其特征在于,所述性能数据包括使用数据。
9.如权利要求8所述的方法,其特征在于,所述使用数据包括由以下各项组成的组中的至少一个:
函数调用计数;以及
接收的输入参数。
10.如权利要求2所述的方法,其特征在于,所述第一软件组件是应用。
11.如权利要求10所述的方法,其特征在于,第一跟踪数据集是在第一硬件配置上执行所述应用时收集的,而第二跟踪数据集是在第二硬件配置上执行所述应用时收集的。
12.如权利要求2所述的方法,其特征在于,所述第一软件组件是可重用软件组件。
13.如权利要求12所述的方法,其特征在于,第一跟踪数据集是在作为第一应用的一部分执行所述可重用软件组件时收集的,而第二跟踪数据集是在作为第二应用的一部分执行所述可重用软件组件时收集的。
14.一种***,包括:
包括多个跟踪数据集的数据库,每一个所述跟踪数据集是在监视第一软件组件时收集的性能数据的时间序列;
至少一个处理器;
在所述至少一个处理器上操作的分析引擎,所述分析引擎:
接收多个跟踪数据集,每一个所述跟踪数据集包括在监视第一软件组件时收集的性能数据的时间序列;以及
分析所述多个跟踪数据集以确定导致所述跟踪数据集之间的差异的区别因素。
15.如权利要求14所述的***,其特征在于,进一步包括:
接收第一请求并返回所述区别因素作为对所述第一请求的响应的接口。
16.如权利要求15所述的***,其特征在于,所述接口是应用编程接口。
17.如权利要求14所述的***,其特征在于,所述第一软件组件是可重用软件组件。
18.如权利要求17所述的***,其特征在于,第一跟踪数据集是在执行使用所述可重用软件组件的第一应用时收集的,而第二跟踪数据集是在执行使用所述可重用软件组件的第二应用时收集的。
用于软件组件推荐的关系图
19.一种***,包括:
包括软件组件的关系图的数据库,所述图包括作为节点的所述软件组件以及作为边的关系;
图构建器,所述图构建器:
从应用接收第一***数据,所述应用包括第一多个所述软件组件;
标识所述应用中的所述软件组件;
确定所述应用中的第一软件组件被所述应用中的第二软件组件调用,并且定义所述第一软件组件和所述第二软件组件之间的第一关系;
确定所述应用中的第三软件组件在所述应用中存在并且没有被所述第一软件组件或所述第二软件组件调用,并且定义所述第一软件组件和所述第三软件组件之间的第二关系,并且定义所述第二软件组件和所述第三软件组件之间的第三关系。
20.如权利要求19所述的***,其特征在于,进一步包括:
查询引擎,所述查询引擎接收包括所述第一软件组件的请求并返回以下各项中的至少一个:所述第一关系,所述第二关系,以及所述第三关系。
21.如权利要求19所述的***,其特征在于,所述第一关系是明确关系。
22.如权利要求21所述的***,其特征在于,所述第二关系和所述第三关系是隐含关系。
23.如权利要求22所述的***,其特征在于,所述图构建器进一步:
从第二应用接收***数据,所述第二应用包括第二多个所述软件组件;
确定所述第三软件组件和所述第一软件组件在所述第二应用中存在,并且增强所述第一软件组件和所述第三软件组件之间的所述第二关系。
24.如权利要求23所述的***,其特征在于,所述增强包括加强所述第二关系。
25.如权利要求24所述的***,其特征在于,所述图构建器进一步:
从所述应用接收第二***数据,所述第二***数据包括来自所述应用的第二版本的***数据,并且所述第一***数据包括来自所述应用的第一版本的***数据;
确定所述第三软件组件在所述第一***数据中存在但在所述第二***数据中不存在;
确定第四软件组件在所述第二***数据中存在但在所述第一***数据中不存在;以及
定义所述第三软件组件和所述第四软件组件之间的第四关系,所述第四关系是互斥关系。
26.如权利要求25所述的***,其特征在于,进一步包括:
储存库扫描器,所述储存库扫描器:
从储存库中检索应用信息;
标识所述应用信息内的第二多个软件组件;以及
创建所述多个软件组件中的至少两个软件组件之间的至少一个关系。
27.如权利要求26所述的***,其特征在于,所述存储库扫描器创建所述多个软件组件中的至少两个软件组件之间的至少一个互斥关系。
28.如权利要求26所述的***,其特征在于,所述应用信息包括与所述第一应用有关的元数据。
29.如权利要求26所述的***,其特征在于,所述第二多个软件组件是通过分析源代码来标识的。
30.如权利要求25所述的***,其特征在于,进一步包括:
模块管理扫描器,所述模块管理扫描器:
从软件组件数据库中检索软件组件信息;以及
标识所述第一软件组件和第五软件组件之间的第四关系。
31.如权利要求30所述的***,其特征在于,所述第四关系是明确关系。
32.一种由至少一个计算机处理器执行的方法,所述方法包括:
从应用接收第一***数据,所述应用包括第一多个所述软件组件;
标识所述应用中的所述软件组件;
确定所述应用中的第一软件组件被所述应用中的第二软件组件调用,并且定义所述第一软件组件和所述第二软件组件之间的第一关系;
确定所述应用中的第三软件组件在所述应用中存在并且没有被所述第一软件组件或所述第二软件组件调用,并且定义所述第一软件组件和所述第三软件组件之间的第二关系,并且定义所述第二软件组件和所述第三软件组件之间的第三关系。
33.如权利要求32所述的方法,其特征在于,还包括:
从储存库中检索应用信息;
标识所述应用信息内的第二多个软件组件;以及
创建所述多个软件组件中的至少两个软件组件之间的至少一个关系。
34.如权利要求33所述的方法,其特征在于,还包括:
从软件组件数据库中检索软件组件信息;以及
标识所述第一软件组件和第五软件组件之间的第四关系。
35.如权利要求34所述的方法,其特征在于,还包括:
从所述应用接收第二***数据,所述第二***数据包括来自所述应用的第二版本的***数据,并且所述第一***数据包括来自所述应用的第一版本的***数据;
确定所述第三软件组件在所述第一***数据中存在但在所述第二***数据中不存在;
确定第四软件组件在所述第二***数据中存在但在所述第一***数据中不存在;以及
定义所述第三软件组件和所述第四软件组件之间的第四关系,所述第四关系是互斥关系。
采用关系和性能匹配的组件使用推荐***
36.一种由至少一个计算机处理器执行的方法,所述方法包括:
接收第一应用的使用描述,所述使用描述定义至少一个操作特性和一个部署架构特性;
查询包括软件组件和软件组件之间的关系的软件组件图以标识与所述至少一个部署架构特性有关的多个软件组件以标识一组可能的软件组件;
查询包括软件组件的性能数据的性能数据库以确定所述一组可能的软件组件中的每一个所述可能的软件组件的性能度量;以及
返回所述性能度量和所述一组可能的软件组件的至少一部分。
37.如权利要求36所述的方法,其特征在于,还包括:
接收所述第一应用的跟踪数据并根据所述跟踪数据确定所述第一应用的至少一个操作特性。
38.如权利要求37所述的方法,其特征在于,还包括:
根据所述跟踪数据确定所述至少一个部署架构特性。
39.如权利要求36所述的方法,其特征在于,所述操作特性包括性能特性。
40.如权利要求39所述的方法,其特征在于,所述性能特性包括预期的所述第一应用所经历的负荷。
41.如权利要求39所述的方法,其特征在于,所述性能特性包括所述第一应用的资源预算。
42.如权利要求36所述的方法,其特征在于,所述部署架构特性包括硬件配置。
43.如权利要求36所述的方法,其特征在于,所述部署架构特性包括软件配置。
44.如权利要求36所述的方法,其特征在于,所述一组可能的软件组件包括具有互斥关系的至少两个软件组件。
45.如权利要求36所述的方法,其特征在于,所述一组可能的软件组件包括具有隐含关系的至少两个软件组件。
46.一种***,包括:
包括软件组件和软件组件之间的关系的软件组件图;
包括所述软件组件的性能特性的性能数据库;
至少一个处理器;
在所述至少一个处理器上操作的查询引擎,所述查询引擎:
接收第一应用的使用描述,所述使用描述定义至少一个操作特性和一个部署架构特性;
查询包括软件组件和软件组件之间的关系的所述软件组件图以标识与所述至少一个部署架构特性有关的多个软件组件以标识一组可能的软件组件;
查询包括软件组件的性能数据的所述性能数据库以确定所述一组可能的软件组件中的每一个所述可能的软件组件的性能度量;以及
返回所述性能度量和所述一组可能的软件组件的至少一部分。
47.如权利要求46所述的***,其特征在于,进一步包括:
分析引擎,所述分析引擎:
接收所述第一应用的跟踪数据并根据所述跟踪数据确定所述至少一个部署架构特性。
48.如权利要求47所述的***,其特征在于,所述分析引擎还:
根据所述跟踪数据确定所述至少一个操作特性。
49.如权利要求48所述的***,其特征在于,所述操作特性包括性能特性。
50.如权利要求49所述的***,其特征在于,所述性能特性包括预期的所述第一应用所经历的负荷。
51.如权利要求49所述的***,其特征在于,所述性能特性包括所述第一应用的资源预算。
52.如权利要求46所述的***,其特征在于,所述部署架构特性包括硬件配置。
53.如权利要求46所述的***,其特征在于,所述部署架构特性包括软件配置。
54.如权利要求46所述的***,其特征在于,所述一组可能的软件组件包括具有互斥关系的至少两个软件组件。
55.如权利要求46所述的***,其特征在于,所述一组可能的软件组件包括具有隐含关系的至少两个软件组件。
CN201480062297.2A 2013-11-13 2014-03-27 基于多次跟踪执行的软件组件推荐 Active CN105765560B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361903768P 2013-11-13 2013-11-13
US201361903762P 2013-11-13 2013-11-13
US201361903755P 2013-11-13 2013-11-13
US61/903,755 2013-11-13
US61/903,768 2013-11-13
US61/903,762 2013-11-13
PCT/IB2014/060239 WO2015071777A1 (en) 2013-11-13 2014-03-27 Software component recommendation based on multiple trace runs

Publications (2)

Publication Number Publication Date
CN105765560A true CN105765560A (zh) 2016-07-13
CN105765560B CN105765560B (zh) 2019-11-05

Family

ID=53056857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480062297.2A Active CN105765560B (zh) 2013-11-13 2014-03-27 基于多次跟踪执行的软件组件推荐

Country Status (4)

Country Link
US (1) US10346292B2 (zh)
EP (1) EP3069267A4 (zh)
CN (1) CN105765560B (zh)
WO (1) WO2015071777A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019000473A1 (zh) * 2017-06-30 2019-01-03 广东欧珀移动通信有限公司 系数计算方法、组件调用方法、装置、介质、服务器及终端
CN111695962A (zh) * 2019-03-13 2020-09-22 阿里巴巴集团控股有限公司 云产品推荐方法和装置、计算设备和存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
WO2016161178A1 (en) * 2015-03-31 2016-10-06 Galaxe. Solutions, Inc. System and method for automated cross-application dependency mapping
US10353703B1 (en) * 2016-01-28 2019-07-16 BrainFights, Inc. Automated evaluation of computer programming
US11650903B2 (en) 2016-01-28 2023-05-16 Codesignal, Inc. Computer programming assessment
US10114636B2 (en) 2016-04-20 2018-10-30 Microsoft Technology Licensing, Llc Production telemetry insights inline to developer experience
KR101958109B1 (ko) * 2017-09-15 2019-03-13 두산중공업 주식회사 가스 터빈
US10482005B1 (en) * 2017-09-26 2019-11-19 EMC IP Holding Company LLC Method and apparatus for developer code risk assessment
US11237946B2 (en) * 2018-05-03 2022-02-01 Sap Se Error finder tool
US10649875B2 (en) * 2018-06-25 2020-05-12 Dell Products, L. P. Providing recommendation(s) for a computing device executing a gaming application
JP7135741B2 (ja) * 2018-11-05 2022-09-13 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理方法、およびプログラム
US10922210B2 (en) * 2019-02-25 2021-02-16 Microsoft Technology Licensing, Llc Automatic software behavior identification using execution record
US11657047B1 (en) * 2019-06-26 2023-05-23 Giri babu Shivarathri Automated query tuning method, computer program product, and system for MPP database platform
US11281475B2 (en) * 2019-08-08 2022-03-22 International Business Machines Corporation Reusable asset performance estimation
US20210117172A1 (en) * 2019-10-21 2021-04-22 Pccw Vuclip (Singapore) Pte. Ltd. Data-driven consumer journey optimzation system for adaptive consumer applications
US11374981B2 (en) * 2020-01-17 2022-06-28 Cisco Technology, Inc. Software usage description (SUD) for installable applications
US11768673B2 (en) * 2021-06-23 2023-09-26 Optum Technology, Inc. Identifying protocol recommendations for application data objects
US20230020719A1 (en) * 2021-07-16 2023-01-19 Bank Of America Corporation Technology environment for a software application
US20230021004A1 (en) * 2021-07-16 2023-01-19 Bank Of America Corporation Determining an improved technology environment for a software application
US11811681B1 (en) 2022-07-12 2023-11-07 T-Mobile Usa, Inc. Generating and deploying software architectures using telecommunication resources
US20240061762A1 (en) * 2022-08-19 2024-02-22 Sap Se On-demand contextual trace log generation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616428A (zh) * 2009-04-15 2009-12-30 北京协成致远网络科技有限公司 一种移动数据业务监控分析***及其实现方法
US20120079456A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Systems and methods for identifying software performance influencers
US20130283246A1 (en) * 2013-02-12 2013-10-24 Concurix Corporation Cost Analysis for Selecting Trace Objectives

Family Cites Families (306)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
EP0403229A1 (en) 1989-06-13 1990-12-19 Digital Equipment Corporation Method and apparatus for scheduling tasks in repeated iterations in a digital data processing system having multiple processors
JP2765969B2 (ja) 1989-07-31 1998-06-18 株式会社日立製作所 図式データ駆動型プログラム開発支援装置
US5852449A (en) 1992-01-27 1998-12-22 Scientific And Engineering Software Apparatus for and method of displaying running of modeled system designs
EP0610581A3 (en) 1993-01-29 1994-12-28 Ibm Process for displaying flow data, produced by a parallel processing computer.
US5596703A (en) 1993-10-22 1997-01-21 Lucent Technologies Inc. Graphical display of relationships
EP0690378A1 (en) 1994-06-30 1996-01-03 Tandem Computers Incorporated Tool and method for diagnosing and correcting errors in a computer programm
US5642511A (en) 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
US6038395A (en) 1994-12-16 2000-03-14 International Business Machines Corporation System and method for implementing proxy objects in a visual application builder framework
US5740440A (en) 1995-01-06 1998-04-14 Objective Software Technology Dynamic object visualization and browsing system
US5778004A (en) 1995-06-02 1998-07-07 Unisys Corporation Vector translator
US6026362A (en) 1995-09-11 2000-02-15 Compaq Computer Corporation Tool and method for diagnosing and correcting errors in a computer program
US5999192A (en) 1996-04-30 1999-12-07 Lucent Technologies Inc. Interactive data exploration apparatus and methods
US5758183A (en) 1996-07-17 1998-05-26 Digital Equipment Corporation Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US6219826B1 (en) 1996-08-01 2001-04-17 International Business Machines Corporation Visualizing execution patterns in object-oriented programs
WO1998033151A1 (fr) 1997-01-24 1998-07-30 Sony Corporation Dispositif, procede et support permettant de generer des donnees graphiques
US6108340A (en) 1997-03-21 2000-08-22 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
US7091948B2 (en) 1997-04-25 2006-08-15 Immersion Corporation Design of force sensations for haptic feedback computer interfaces
US5946488A (en) 1997-05-16 1999-08-31 Thnkage Ltd. Method for selectively and incrementally displaying the results of preprocessing
US6282701B1 (en) 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6202199B1 (en) 1997-07-31 2001-03-13 Mutek Solutions, Ltd. System and method for remotely analyzing the execution of computer programs
US6374271B1 (en) 1997-09-26 2002-04-16 Fuji Xerox Co., Ltd. Hypermedia document authoring using a goals outline and a presentation outline
US6560773B1 (en) * 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6266804B1 (en) 1997-12-23 2001-07-24 Ab Initio Software Corporation Method for analyzing capacity of parallel processing systems
US6243857B1 (en) 1998-02-17 2001-06-05 Nemasoft, Inc. Windows-based flowcharting and code generation system
US6742003B2 (en) 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
WO2000007100A1 (en) 1998-07-30 2000-02-10 Mutek Solutions, Ltd. System and method for remotely analyzing the execution of computer programs
CA2256931A1 (en) 1998-12-23 2000-06-23 Robert Weisz Source editing in a graphical hierarchical environment
US6226787B1 (en) 1999-01-25 2001-05-01 Hewlett-Packard Company Visualization method and system for dynamically displaying operations of a program
US6378066B1 (en) 1999-02-04 2002-04-23 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications
US6467052B1 (en) 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US7639256B1 (en) 1999-10-08 2009-12-29 I2 Technologies Us, Inc. System and method for displaying graphs
WO2001046798A2 (en) 1999-12-20 2001-06-28 Headway Research Limited System and method for computer-aided graph-based dependency analysis
US7058928B2 (en) 1999-12-23 2006-06-06 Identify Software Ltd. System and method for conditional tracing of computer programs
US6681384B1 (en) 1999-12-23 2004-01-20 International Business Machines Corporation Multi-threaded break-point
JP2001356934A (ja) 2000-03-02 2001-12-26 Texas Instr Inc <Ti> ハードウェアシステムとインタラクトするソフトウェアシステムの構成方法およびデジタルシステム
US20020087949A1 (en) 2000-03-03 2002-07-04 Valery Golender System and method for software diagnostics using a combination of visual and dynamic tracing
US7171375B2 (en) 2000-04-17 2007-01-30 4Sight Technologies, Inc. Method and system for enterprise wide production scheduling
US6775423B2 (en) 2000-05-03 2004-08-10 Microsoft Corporation Systems and methods for incrementally updating an image in flash memory
CA2315449A1 (en) 2000-08-10 2002-02-10 Ibm Canada Limited-Ibm Canada Limitee Generation of runtime execution traces of applications and associated problem determination
US6661431B1 (en) 2000-10-10 2003-12-09 Stone Analytica, Inc. Method of representing high-dimensional information
US6748585B2 (en) 2000-11-29 2004-06-08 Microsoft Corporation Computer programming language pronouns
US7058927B2 (en) 2000-12-21 2006-06-06 Veritas Operating Corporation Computer software run-time analysis systems and methods
US8312435B2 (en) 2000-12-26 2012-11-13 Identify Software Ltd. (IL) System and method for conditional tracing of computer programs
US7174536B1 (en) 2001-02-12 2007-02-06 Iowa State University Research Foundation, Inc. Integrated interactive software visualization environment
US7249094B2 (en) 2001-02-26 2007-07-24 Paypal, Inc. System and method for depicting on-line transactions
US20060265397A1 (en) 2001-03-06 2006-11-23 Knowledge Vector, Inc. Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution
US6820081B1 (en) 2001-03-19 2004-11-16 Attenex Corporation System and method for evaluating a structured message store for message redundancy
US7185205B2 (en) 2001-03-26 2007-02-27 Galois Connections, Inc. Crypto-pointers for secure data storage
US20030067481A1 (en) 2001-03-31 2003-04-10 Christopher Chedgey System and method for computer-aided graph-based dependency analysis with integrated documentation
US20020178184A1 (en) 2001-05-22 2002-11-28 Allan Kuchinsky Software system for biological storytelling
US7047521B2 (en) 2001-06-07 2006-05-16 Lynoxworks, Inc. Dynamic instrumentation event trace system and methods
EP1412832A4 (en) 2001-06-15 2007-10-03 Cadence Design Systems Inc PROCEDURE FOR OPTIMIZING THE COMBINABILITY AND DATA WAYS OF DATA FLOW GRAPHICS
US20020196229A1 (en) 2001-06-26 2002-12-26 Frank Chen Graphics-based calculator capable of directly editing data points on graph
US6862727B2 (en) 2001-08-24 2005-03-01 Formfactor, Inc. Process and apparatus for adjusting traces
US6678876B2 (en) 2001-08-24 2004-01-13 Formfactor, Inc. Process and apparatus for finding paths through a routing space
US7093234B2 (en) 2001-08-24 2006-08-15 International Business Machines Corporation Dynamic CPU usage profiling and function call tracing
US7203925B1 (en) 2001-09-14 2007-04-10 Emc Corporation Graphical compiler
US7120901B2 (en) 2001-10-26 2006-10-10 International Business Machines Corporation Method and system for tracing and displaying execution of nested functions
US7398519B2 (en) 2001-11-30 2008-07-08 International Business Machines Corporation Inheritance breakpoints for use in debugging object-oriented computer programs
CA2476585A1 (en) 2002-02-18 2003-08-21 Japan Science And Technology Agency Software component importance evaluation system
US20040012638A1 (en) 2002-05-24 2004-01-22 Donnelli Richard K. System and method of electronic commitment tracking
US6938186B2 (en) 2002-05-28 2005-08-30 Microsoft Corporation System and method for performing a path-sensitive verification on a program
US7543281B2 (en) 2002-07-22 2009-06-02 National Instruments Corporation Disabling and conditionally compiling graphical code in a graphical program
EP1579415A4 (en) 2002-09-09 2006-04-19 Ingeeni Studios Inc PLATFORM FOR ARTIFICIAL INTELLIGENCE
US7219300B2 (en) 2002-09-30 2007-05-15 Sanavigator, Inc. Method and system for generating a network monitoring display with animated utilization information
US6792460B2 (en) 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7266773B2 (en) 2002-10-24 2007-09-04 Efficient Analytics, Inc. System and method for creating a graphical presentation
US7386839B1 (en) 2002-11-06 2008-06-10 Valery Golender System and method for troubleshooting software configuration problems using application tracing
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US7302380B2 (en) 2002-12-12 2007-11-27 Matsushita Electric, Industrial Co., Ltd. Simulation apparatus, method and program
US7131113B2 (en) 2002-12-12 2006-10-31 International Business Machines Corporation System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts
US6937950B2 (en) 2002-12-26 2005-08-30 International Business Machines Corporation Animated graphical object notification system
US8799883B2 (en) 2003-01-31 2014-08-05 Hewlett-Packard Development Company, L. P. System and method of measuring application resource usage
US20060130016A1 (en) 2003-03-17 2006-06-15 Wagner John R Method of kernal-mode instruction interception and apparatus therefor
US8032866B1 (en) 2003-03-27 2011-10-04 Identify Software Ltd. System and method for troubleshooting runtime software problems using application learning
US6944722B2 (en) 2003-04-14 2005-09-13 Sun Microsystems, Inc. Method and system for postmortem identification of falsely shared memory objects
US8127252B2 (en) 2003-11-07 2012-02-28 Microsoft Corporation Method and system for presenting user interface (UI) information
JP3968056B2 (ja) 2003-06-10 2007-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム
US7194664B1 (en) 2003-09-08 2007-03-20 Poon Fung Method for tracing application execution path in a distributed data processing system
WO2005057863A1 (ja) 2003-12-12 2005-06-23 Fujitsu Limited データ伝送装置
US7519960B2 (en) 2003-12-19 2009-04-14 International Business Machines Corporation Method and system for debugging business process flow
US7913305B2 (en) 2004-01-30 2011-03-22 Microsoft Corporation System and method for detecting malware in an executable code module according to the code module's exhibited behavior
US20050180330A1 (en) 2004-02-17 2005-08-18 Touchgraph Llc Method of animating transitions and stabilizing node motion during dynamic graph navigation
JP3966518B2 (ja) 2004-03-12 2007-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム解析装置、その解析方法及びプログラム
US7657873B2 (en) 2004-04-29 2010-02-02 Microsoft Corporation Visualizer system and methods for debug environment
US7650574B2 (en) 2004-05-11 2010-01-19 National Instruments Corporation Visually indicating problems found during programmatic analysis of a graphical program
US7614037B2 (en) 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
US7343521B2 (en) 2004-05-28 2008-03-11 International Business Machines Corporation Method and apparatus to preserve trace data
JP2005346414A (ja) 2004-06-03 2005-12-15 Fujitsu Ltd トレース処理プログラム、方法及び装置
US7509343B1 (en) * 2004-06-09 2009-03-24 Sprint Communications Company L.P. System and method of collecting and reporting system performance metrics
US20050278208A1 (en) 2004-06-15 2005-12-15 Microsoft Corporation Method and system for restarting a project management system scheduling engine based on user input of contractual start/finish data
US7827539B1 (en) 2004-06-25 2010-11-02 Identify Software Ltd. System and method for automated tuning of program execution tracing
US7437722B2 (en) 2004-07-19 2008-10-14 Accurev, Inc. Determining which software component versions of an issue resolution are included in a version of a software development project at a particular time
US7346809B2 (en) 2004-08-05 2008-03-18 International Business Machines Corporation Bootable post crash analysis environment
US8078596B2 (en) 2004-09-16 2011-12-13 International Business Machines Corporation Method and system for a non-hierarchical trace system using a hierarchical control interface
US8020153B2 (en) 2004-10-04 2011-09-13 Panasonic Corporation Source code checker, source code checking method, program for causing execution of the method, and storage medium for storing the program
US7774295B2 (en) 2004-11-17 2010-08-10 Targit A/S Database track history
US7788640B2 (en) 2004-12-28 2010-08-31 Microsoft Corporation Using code analysis to generate documentation
US7853930B2 (en) 2005-01-04 2010-12-14 International Business Machines Corporation Annotating graphs to allow quick loading and analysis of very large graphs
US7606168B2 (en) 2005-01-28 2009-10-20 Attenex Corporation Apparatus and method for message-centric analysis and multi-aspect viewing using social networks
US7472378B2 (en) 2005-02-23 2008-12-30 International Business Machines Corporation Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process
US7620947B2 (en) 2005-03-11 2009-11-17 Autodesk, Inc. Enhanced directed graph representation for dependency systems
US20060212852A1 (en) 2005-03-16 2006-09-21 Jinwoo Hwang Methods, systems and computer program products for detecting memory leaks
US7468727B2 (en) 2005-04-19 2008-12-23 Wong Pak C Methods of visualizing graphs
US7810075B2 (en) 2005-04-29 2010-10-05 Sap Ag Common trace files
US7574675B1 (en) 2005-06-14 2009-08-11 Adobe Systems Incorporated Methods and apparatus to display content selections
US20070022000A1 (en) 2005-07-22 2007-01-25 Accenture Llp Data analysis using graphical visualization
US20070028189A1 (en) 2005-07-27 2007-02-01 Microsoft Corporation Hierarchy highlighting
US7239980B2 (en) 2005-08-30 2007-07-03 International Business Machines Corporation Method and apparatus for adaptive tracing with different processor frequencies
KR100802615B1 (ko) 2005-09-09 2008-02-13 엘지전자 주식회사 이동 단말기의 이벤트 표시 장치 및 그 방법
US7930752B2 (en) 2005-11-18 2011-04-19 Nexthink S.A. Method for the detection and visualization of anomalous behaviors in a computer network
US8176081B2 (en) 2005-11-18 2012-05-08 International Business Machines Corporation Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US20070140131A1 (en) 2005-12-15 2007-06-21 Malloy Patrick J Interactive network monitoring and analysis
US8316354B2 (en) 2005-12-15 2012-11-20 Ca, Inc. Execution flow shape compression for aggregate data reporting in an application manager
US20070143795A1 (en) 2005-12-20 2007-06-21 Duong-Han Tran Application trace for distributed systems environment
US20070198952A1 (en) 2006-02-21 2007-08-23 Pittenger Robert A Methods and systems for authoring of a compound document following a hierarchical structure
US8087002B2 (en) 2006-04-04 2011-12-27 Tibco Software Inc. Method and system for providing a visual debugger for an interpreted statistical language
US7979245B1 (en) 2006-05-17 2011-07-12 Quest Software, Inc. Model-based systems and methods for monitoring computing resource performance
JP4148527B2 (ja) 2006-06-05 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 機能テスト・スクリプト生成装置
US8024708B2 (en) 2006-06-20 2011-09-20 Google Inc. Systems and methods for debugging an application running on a parallel-processing computer system
FR2904499B1 (fr) 2006-07-27 2009-01-09 Commissariat Energie Atomique Procede de decodage a passage de messages avec ordonnancement selon une fiabilite de voisinage.
US8086904B2 (en) 2006-07-28 2011-12-27 Apple Inc. Event-based setting of process tracing scope
EP2527983A3 (en) 2006-08-10 2013-06-12 Ab Initio Technology LLC Distributing services in graph-based computations
WO2008018035A2 (en) 2006-08-11 2008-02-14 Nxp B.V. Methods and products for determining and visualizin ic behaviour
US7895209B2 (en) 2006-09-11 2011-02-22 Microsoft Corporation Presentation of information based on current activity
US8037457B2 (en) 2006-09-29 2011-10-11 Sap Ag Method and system for generating and displaying function call tracker charts
US7941789B2 (en) 2006-09-29 2011-05-10 Sap Ag Common performance trace mechanism
US8028200B2 (en) 2006-09-29 2011-09-27 Sap Ag Tracing operations in multiple computer systems
US7640459B2 (en) 2006-09-30 2009-12-29 Sap Ag Performing computer application trace with other operations
US8286135B2 (en) 2006-10-17 2012-10-09 Cray Inc. Performance visualization including hierarchical display of performance data
EP1918837A1 (en) 2006-10-31 2008-05-07 F. Hoffmann-La Roche AG Method for processing a chronological sequence of measurements of a time dependent parameter
US20080104225A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Visualization application for mining of social networks
US8037471B2 (en) 2006-11-16 2011-10-11 International Business Machines Corporation Systems and methods for constructing relationship specifications from component interactions
GB0623355D0 (en) 2006-11-23 2007-01-03 Ibm Software tracing
US8010657B2 (en) 2006-11-27 2011-08-30 Crackle, Inc. System and method for tracking the network viral spread of a digital media content item
US7865872B2 (en) 2006-12-01 2011-01-04 Murex S.A.S. Producer graph oriented programming framework with undo, redo, and abort execution support
US8640086B2 (en) 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
WO2008080780A1 (en) 2007-01-05 2008-07-10 International Business Machines Corporation Recording execution information for a software application
US7996786B2 (en) 2007-03-05 2011-08-09 Microsoft Corporation Dynamically rendering visualizations of data sets
US7921410B1 (en) * 2007-04-09 2011-04-05 Hewlett-Packard Development Company, L.P. Analyzing and application or service latency
US8091039B2 (en) 2007-04-13 2012-01-03 Apple Inc. Authoring interface which distributes composited elements about the display
US8640100B2 (en) 2007-04-20 2014-01-28 National Instruments Corporation Debugging a statechart using a graphical program
US8543711B2 (en) 2007-04-30 2013-09-24 Hewlett-Packard Development Company, L.P. System and method for evaluating a pattern of resource demands of a workload
US8214806B2 (en) 2007-05-09 2012-07-03 International Business Machines Corporation Iterative, non-uniform profiling method for automatically refining performance bottleneck regions in scientific code
US7698602B2 (en) 2007-06-13 2010-04-13 International Business Machines Corporation Systems, methods and computer products for trace capability per work unit
US8140534B2 (en) 2007-08-03 2012-03-20 International Business Machines Corporation System and method for sorting attachments in an integrated information management application
US8276117B2 (en) 2007-08-03 2012-09-25 International Business Machines Corporation Displaying and refactoring programs that include database statements
US7975262B2 (en) 2007-08-16 2011-07-05 Microsoft Corporation Error tracing with context history
US8069145B2 (en) 2007-08-30 2011-11-29 Red Hat, Inc. Data gravitation
US8745606B2 (en) 2007-09-28 2014-06-03 Intel Corporation Critical section ordering for multiple trace applications
US8056059B2 (en) 2007-10-17 2011-11-08 International Business Machines Corporation Using cross-entropy to test executable logic code
US8356287B2 (en) 2007-10-24 2013-01-15 International Business Machines Corporation Device, system and method of debugging computer programs
US8527959B2 (en) 2007-12-07 2013-09-03 International Business Machines Corporation Binary programmable method for application performance data collection
US8301755B2 (en) 2007-12-14 2012-10-30 Bmc Software, Inc. Impact propagation in a directed acyclic graph
US20100167256A1 (en) 2008-02-14 2010-07-01 Douglas Michael Blash System and method for global historical database
JPWO2009119642A1 (ja) 2008-03-26 2011-07-28 日本電気株式会社 サービス応答性能分析装置、方法、及びプログラム並びにそれを記録した記録媒体
US8117602B2 (en) 2008-04-01 2012-02-14 Kaspersky Lab, Zao Method and system for monitoring execution performance of software program product
WO2009143040A1 (en) 2008-05-19 2009-11-26 Disetronic Medical Systems Ag Computer research tool for the organization, visualization and analysis of metabolic-related clinical data and method thereof
US8499287B2 (en) 2008-06-23 2013-07-30 Microsoft Corporation Analysis of thread synchronization events
US8312434B2 (en) 2008-07-02 2012-11-13 International Business Machines Corporation Finding the source statement of the definition of a storage location
US8245200B2 (en) 2008-07-11 2012-08-14 International Business Machines Corporation Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications
US8406565B1 (en) 2008-08-26 2013-03-26 Adobe Systems Incorporated Region reasoning for image processing graphs
US8290955B2 (en) 2008-09-18 2012-10-16 International Business Machines Corporation Classification of data in a hierarchical data structure
JP5386905B2 (ja) 2008-09-25 2014-01-15 富士通セミコンダクター株式会社 プロファイリング方法およびプロファイリングプログラム
JP5215105B2 (ja) 2008-09-30 2013-06-19 オリンパスメディカルシステムズ株式会社 画像表示装置、画像表示方法、および画像表示プログラム
JP4635082B2 (ja) 2008-09-30 2011-02-16 株式会社東芝 マルチプロセッサシステム及びグルーピング方法
US8296744B2 (en) 2008-10-03 2012-10-23 Microsoft Corporation Tree-based directed graph programming structures for a declarative programming language
US7681182B1 (en) 2008-11-06 2010-03-16 International Business Machines Corporation Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base
JP5464146B2 (ja) 2008-11-14 2014-04-09 日本電気株式会社 スケジュール決定装置
US8730245B2 (en) 2008-12-01 2014-05-20 Naturalmotion Ltd. Defining an animation of a virtual object within a virtual world
WO2010065627A1 (en) 2008-12-02 2010-06-10 Ab Initio Software Llc Visualizing relationships between data elements
JP2010140240A (ja) 2008-12-11 2010-06-24 Renesas Electronics Corp プロセッサ、マルチプロセッサ、及び、デバッグ方法
US9076125B2 (en) 2009-02-27 2015-07-07 Microsoft Technology Licensing, Llc Visualization of participant relationships and sentiment for electronic messaging
US8269773B2 (en) 2009-03-12 2012-09-18 Sas Institute Inc. System and method for drag-and-drop graph building with live feedback
US8327377B2 (en) 2009-04-30 2012-12-04 Ca, Inc. Detecting, logging and tracking component dependencies in web service transactions
US20100295856A1 (en) 2009-05-21 2010-11-25 Microsoft Corporation Data analysis and visualization system and techniques
US9460225B2 (en) 2009-06-01 2016-10-04 Hewlett Packard Enterprise Development Lp System and method for collecting application performance data
US8266548B2 (en) 2009-06-26 2012-09-11 Sap Ag Hierarchy tree movement using multi-tree animation
US8381178B2 (en) 2009-07-02 2013-02-19 International Business Machines Corporation Intuitive visualization of Boolean expressions using flows
US8352907B2 (en) 2009-08-10 2013-01-08 International Business Machines Corporation Software application recreation
US20110066973A1 (en) 2009-09-11 2011-03-17 Apple Inc. Rendering System Log Data
US8321454B2 (en) 2009-09-14 2012-11-27 Myspace Llc Double map reduce distributed computing framework
JP2011070256A (ja) 2009-09-24 2011-04-07 Toshiba Corp デバッガおよびプログラム
US20110078029A1 (en) 2009-09-25 2011-03-31 National Electronics Warranty, Llc Systems and methods for hosting, updating, and sending a webpage
US8275816B1 (en) 2009-11-06 2012-09-25 Adobe Systems Incorporated Indexing messaging events for seeking through data streams
US8356354B2 (en) 2009-11-23 2013-01-15 Kaspersky Lab, Zao Silent-mode signature testing in anti-malware processing
US8640104B2 (en) 2009-12-08 2014-01-28 International Business Machines Corporation Computer method and apparatus for debugging in a dynamic computer language
US8359584B2 (en) 2009-12-18 2013-01-22 Microsoft Corporation Debugging from a call graph
US9639446B2 (en) 2009-12-21 2017-05-02 International Business Machines Corporation Trace monitoring
CN102110048B (zh) 2009-12-28 2014-07-09 国际商业机器公司 用于基于框架的应用程序的回归测试选择方法和装置
US8456472B2 (en) 2010-01-08 2013-06-04 International Business Machines Corporation Ranking nodes in a graph
US20120042269A1 (en) 2010-03-15 2012-02-16 Holman Enterprises, LLC System and method for nesting timelines
US20120047421A1 (en) 2010-03-15 2012-02-23 Holman Enterprises, LLC System and method for creating and displaying a timeline presentation
WO2011116987A1 (en) 2010-03-26 2011-09-29 Software Diagnostics Technology Gmbh A method for automatically generating a trace data set for a software system, a computer system, and a computer program product
US8810576B2 (en) 2010-04-13 2014-08-19 Microsoft Corporation Manipulation and management of links and nodes in large graphs
WO2011142720A1 (en) 2010-05-14 2011-11-17 Gabriyel Wong Chee Kien A self-organizing and contextual graphical user interface
KR101829406B1 (ko) 2010-05-19 2018-02-19 구글 엘엘씨 버그 클리어링 하우스
US20110289485A1 (en) 2010-05-21 2011-11-24 International Business Machines Corporation Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip
EP2390790A1 (en) 2010-05-27 2011-11-30 Fujitsu Limited Profiling of software applications
US8543983B2 (en) 2010-06-15 2013-09-24 Fujitsu Limited Creating hierarchical message sequence charts for visualizing user-interactive applications
US8844042B2 (en) 2010-06-16 2014-09-23 Microsoft Corporation System state based diagnostic scan
US8966447B2 (en) 2010-06-21 2015-02-24 Apple Inc. Capturing and displaying state of automated user-level testing of a graphical user interface application
AU2010355789B2 (en) 2010-06-24 2016-05-12 Arbitron Mobile Oy Network server arrangement for processing non-parametric, multi-dimensional, spatial and temporal human behavior or technical observations measured pervasively, and related method for the same
US8713064B1 (en) 2010-06-28 2014-04-29 Open Invention Network, Llc Attribute category enhanced search
US20120042212A1 (en) 2010-08-10 2012-02-16 Gilbert Laurenti Mixed Mode Processor Tracing
US9177041B2 (en) 2010-09-03 2015-11-03 Robert Lewis Jackson, JR. Automated stratification of graph display
US8490055B2 (en) 2010-09-17 2013-07-16 Ca, Inc. Generating dependency maps from dependency data
CN103180826B (zh) 2010-10-25 2017-04-05 起元技术有限责任公司 在代表计算机程序的数据流图中管理数据集对象
US8583978B2 (en) 2010-11-09 2013-11-12 Cisco Technology, Inc. Multicast message retransmission
US8938720B2 (en) 2010-11-30 2015-01-20 Sap Se Trace visualization for object oriented programs
US9449405B2 (en) 2010-11-30 2016-09-20 Sap Se Systems and methods to display dependencies within a graph of grouped elements
US8997056B2 (en) 2010-12-15 2015-03-31 Hewlett-Packard Development Company, L. P. Directed graphs pertaining to read/write operations
US8843852B2 (en) 2010-12-17 2014-09-23 Orca Health, Inc. Medical interface, annotation and communication systems
RU2454714C1 (ru) 2010-12-30 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
US8756581B2 (en) 2011-02-03 2014-06-17 International Business Machines Corporation Adaptive next-executing-cycle trace selection for trace-driven code optimizers
US9137136B2 (en) 2011-02-04 2015-09-15 Riverbed Technology, Inc. Overhead management for event tracing
EP2678784A4 (en) 2011-02-23 2014-08-06 Bottlenose Inc ADAPTIVE SYSTEM ARCHITECTURE FOR IDENTIFYING POPULAR TOPICS IN NEWS
US8656359B2 (en) 2011-03-25 2014-02-18 Sap Ag Debugging data mappings
US8438427B2 (en) 2011-04-08 2013-05-07 Ca, Inc. Visualizing relationships between a transaction trace graph and a map of logical subsystems
US8516443B2 (en) 2011-05-26 2013-08-20 Oracle International Corporation Context-sensitive analysis framework using value flows
US8756171B2 (en) 2011-06-15 2014-06-17 International Business Machines Corporation Generating predictions from a probabilistic process model
US10592825B2 (en) 2011-06-22 2020-03-17 International Business Machines Corporation Application placement among a set of consolidation servers utilizing license cost and application workload profiles as factors
US8621439B2 (en) 2011-09-06 2013-12-31 Microsoft Corporation Modern application tracing
US8942839B2 (en) 2011-09-07 2015-01-27 Sap Se User interface including scheduling hint and material sufficiency indicator for production planning
US8312056B1 (en) 2011-09-13 2012-11-13 Xerox Corporation Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis
US8745591B2 (en) 2011-10-19 2014-06-03 Microsoft Corporation Data flow visualization and debugging
WO2013067337A1 (en) 2011-11-04 2013-05-10 BigML, Inc. Method and apparatus for visualizing and interacting with decision trees
US20130145350A1 (en) 2011-12-05 2013-06-06 Microsoft Corporation Efficient, large scale trace storage system
US20130159198A1 (en) 2011-12-19 2013-06-20 Oracle International Corporation Project mapper
US8830254B2 (en) 2012-01-24 2014-09-09 Ayasdi, Inc. Systems and methods for graph rendering
US8812958B2 (en) 2012-02-12 2014-08-19 Saba Software, Inc. Methods and apparatus for analyzing a social network
US20130271480A1 (en) 2012-04-16 2013-10-17 International Business Machines Corporation Graphical User Interface for Visualizing the Severity of Time Intervals and Events
US8806464B2 (en) 2012-04-26 2014-08-12 Hewlett-Packard Development Company, L.P. Process flow optimized directed graph traversal
US20120222043A1 (en) 2012-05-01 2012-08-30 Concurix Corporation Process Scheduling Using Scheduling Graph to Minimize Managed Elements
US8615766B2 (en) 2012-05-01 2013-12-24 Concurix Corporation Hybrid operating system
US8495598B2 (en) 2012-05-01 2013-07-23 Concurix Corporation Control flow graph operating system configuration
US9417935B2 (en) 2012-05-01 2016-08-16 Microsoft Technology Licensing, Llc Many-core process scheduling to maximize cache usage
US8726255B2 (en) 2012-05-01 2014-05-13 Concurix Corporation Recompiling with generic to specific replacement
US8595743B2 (en) 2012-05-01 2013-11-26 Concurix Corporation Network aware process scheduling
US8650538B2 (en) 2012-05-01 2014-02-11 Concurix Corporation Meta garbage collection for functional code
US20120324454A1 (en) 2012-05-04 2012-12-20 Concurix Corporation Control Flow Graph Driven Operating System
US9047196B2 (en) 2012-06-19 2015-06-02 Concurix Corporation Usage aware NUMA process scheduling
US20120317421A1 (en) 2012-06-19 2012-12-13 Concurix Corporation Fingerprinting Executable Code
US8700838B2 (en) 2012-06-19 2014-04-15 Concurix Corporation Allocating heaps in NUMA systems
US8707326B2 (en) 2012-07-17 2014-04-22 Concurix Corporation Pattern matching process scheduler in message passing environment
US8793669B2 (en) 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
US8966462B2 (en) 2012-08-10 2015-02-24 Concurix Corporation Memory management parameters derived from system modeling
US9043788B2 (en) 2012-08-10 2015-05-26 Concurix Corporation Experiment manager for manycore systems
US20130080760A1 (en) 2012-08-10 2013-03-28 Concurix Corporation Execution Environment with Feedback Loop
US9003381B2 (en) 2012-08-14 2015-04-07 Derek J. Conrod Context-specific optimized code
US8789030B2 (en) 2012-09-18 2014-07-22 Concurix Corporation Memoization from offline analysis
US20130085882A1 (en) 2012-09-18 2013-04-04 Concurix Corporation Offline Optimization of Computer Software
US8656378B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Memoization configuration file consumed at compile time
US8752034B2 (en) 2012-11-08 2014-06-10 Concurix Corporation Memoization configuration file consumed at runtime
US9262416B2 (en) 2012-11-08 2016-02-16 Microsoft Technology Licensing, Llc Purity analysis using white list/black list analysis
US8656135B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Optimized memory configuration deployed prior to execution
US8826254B2 (en) 2012-11-08 2014-09-02 Concurix Corporation Memoizing with read only side effects
US8694574B2 (en) 2012-11-08 2014-04-08 Concurix Corporation Optimized settings in a configuration database with boundaries
US20130074057A1 (en) 2012-11-08 2013-03-21 Concurix Corporation Selecting Functions for Memoization Analysis
US8607018B2 (en) 2012-11-08 2013-12-10 Concurix Corporation Memory usage configuration based on observations
US8752021B2 (en) 2012-11-08 2014-06-10 Concurix Corporation Input vector analysis for memoization estimation
US8656134B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Optimized memory configuration deployed on executing code
US8839204B2 (en) 2012-11-08 2014-09-16 Concurix Corporation Determination of function purity for memoization
US20140136233A1 (en) 2012-11-14 2014-05-15 William Atkinson Managing Personal Health Record Information about Doctor-Patient Communication, Care interactions, health metrics ,customer vendor relationship management platforms, and personal health history in a GLOBAL PERSONAL HEALTH RECORD TIMELINE integrated within an (ERP/EMRSE) ENTERPRISE RESOURCE PLANNING ELECTRONIC MEDICAL RECORD SOFTWARE ENVIRONMENT localized medical data ecosystem
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US20140025572A1 (en) 2013-01-25 2014-01-23 Concurix Corporation Tracing as a Service
US9207969B2 (en) 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US9021262B2 (en) 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
US9658941B2 (en) 2013-01-28 2017-05-23 Rackspace Us, Inc. Methods and systems of function-specific tracing
US20140019879A1 (en) 2013-02-01 2014-01-16 Concurix Corporation Dynamic Visualization of Message Passing Computation
US9256969B2 (en) 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US20130232452A1 (en) 2013-02-01 2013-09-05 Concurix Corporation Force Directed Graph with Time Series Data
US9323863B2 (en) 2013-02-01 2016-04-26 Microsoft Technology Licensing, Llc Highlighting of time series data on force directed graph
US20130232433A1 (en) 2013-02-01 2013-09-05 Concurix Corporation Controlling Application Tracing using Dynamic Visualization
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US9021447B2 (en) 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US20130283102A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deployment of Profile Models with a Monitoring Agent
US20140278539A1 (en) 2013-03-14 2014-09-18 Cerner Innovation, Inc. Graphical representations of time-ordered data
US20130227529A1 (en) 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US20140013306A1 (en) 2013-04-20 2014-01-09 Concurix Corporation Computer Load Generator Marketplace
US8966452B2 (en) 2013-04-20 2015-02-24 Concurix Corporation User interaction analysis of tracer data for configuring an application tracer
US20140013308A1 (en) 2013-04-20 2014-01-09 Concurix Corporation Application Development Environment with Services Marketplace
US20130282545A1 (en) 2013-04-20 2013-10-24 Concurix Corporation Marketplace for Monitoring Services
US20140317604A1 (en) 2013-04-20 2014-10-23 Concurix Corporation Real Time Analysis of Tracer Summaries to Change Tracer Behavior
US9021445B2 (en) 2013-04-20 2015-04-28 Concurix Corporation Tracer list for automatically controlling tracer behavior
US20140317603A1 (en) 2013-04-20 2014-10-23 Concurix Corporation Multiple Tracer Configurations Applied on a Function-by-Function Level
US20130283242A1 (en) 2013-04-20 2013-10-24 Concurix Corporation Tracing Closures in a Callback Environment
US8978016B2 (en) 2013-04-20 2015-03-10 Concurix Corporation Error list and bug report analysis for configuring an application tracer
US8745594B1 (en) 2013-05-10 2014-06-03 Technobasics Software Inc. Program flow specification language and system
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US20140189652A1 (en) 2013-05-21 2014-07-03 Concurix Corporation Filtering and Transforming a Graph Representing an Application
US20140189650A1 (en) 2013-05-21 2014-07-03 Concurix Corporation Setting Breakpoints Using an Interactive Graph Representing an Application
US9479449B2 (en) 2013-06-03 2016-10-25 Advanced Micro Devices, Inc. Workload partitioning among heterogeneous processing nodes
US9275012B2 (en) 2013-06-11 2016-03-01 International Business Machines Corporation Multi-way number partitioning using weakest link optimality
US20150033172A1 (en) 2013-07-24 2015-01-29 Concurix Corporation Timeline Charts with Subgraphs
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9311213B2 (en) 2013-09-04 2016-04-12 Microsoft Technology Licensing, Llc Module database with tracing options
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
US9298588B2 (en) 2013-09-04 2016-03-29 Microsoft Technology Licensing, Llc Tracing system for application and module tracing
US8943441B1 (en) 2014-01-24 2015-01-27 Storagecraft Technology Corporation Graphical user interface relationship graph for displaying relationships between image backup files in a backup job

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616428A (zh) * 2009-04-15 2009-12-30 北京协成致远网络科技有限公司 一种移动数据业务监控分析***及其实现方法
US20120079456A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Systems and methods for identifying software performance influencers
US20130283246A1 (en) * 2013-02-12 2013-10-24 Concurix Corporation Cost Analysis for Selecting Trace Objectives

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019000473A1 (zh) * 2017-06-30 2019-01-03 广东欧珀移动通信有限公司 系数计算方法、组件调用方法、装置、介质、服务器及终端
US10783020B2 (en) 2017-06-30 2020-09-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for invoking component, and terminal
CN111695962A (zh) * 2019-03-13 2020-09-22 阿里巴巴集团控股有限公司 云产品推荐方法和装置、计算设备和存储介质
CN111695962B (zh) * 2019-03-13 2023-04-25 阿里巴巴集团控股有限公司 云产品推荐方法和装置、计算设备和存储介质

Also Published As

Publication number Publication date
US20160283362A1 (en) 2016-09-29
EP3069267A4 (en) 2017-09-27
EP3069267A1 (en) 2016-09-21
CN105765560B (zh) 2019-11-05
US10346292B2 (en) 2019-07-09
WO2015071777A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
CN105765560A (zh) 基于多次跟踪执行的软件组件推荐
Zhou et al. API deprecation: a retrospective analysis and detection method for code examples on the web
Razzaq et al. The state of empirical evaluation in static feature location
Chakraborty et al. How do developers discuss and support new programming languages in technical Q&A site? An empirical study of Go, Swift, and Rust in Stack Overflow
Fokaefs et al. Decomposing object-oriented class modules using an agglomerative clustering technique
Bi et al. A systematic mapping study on text analysis techniques in software architecture
López et al. ModelSet: a dataset for machine learning in model-driven engineering
García-Peñalvo et al. Analysis of the OWL ontologies: A survey
Xia et al. An effective change recommendation approach for supplementary bug fixes
Casamayor et al. Mining textual requirements to assist architectural software design: a state of the art review
Pascarella et al. Self-reported activities of android developers
Robillard et al. Recommending change clusters to support software investigation: an empirical study
Rathee et al. Software remodularization by estimating structural and conceptual relations among classes and using hierarchical clustering
Xiao et al. Characterizing and mitigating self-admitted technical debt in build systems
CN105765561A (zh) 根据跟踪数据的生产对比开发使用的确定
Bhowmik et al. Refinement and resolution of just-in-time requirements in open source software and a closer look into non-functional requirements
Ali et al. A hybrid DevOps process supporting software reuse: A pilot project
Arya et al. Information correspondence between types of documentation for APIs
Abbas et al. Quality factors enhancement of requirement engineering: A systematic literature review
Walk et al. How to apply markov chains for modeling sequential edit patterns in collaborative ontology-engineering projects
Şora Finding the right needles in hay helping program comprehension of large software systems
Stojkovski Thresholds for software quality metrics in open source android projects
Janes et al. Open tracing tools: Overview and critical comparison
Nikolaidis et al. Experience with managing technical debt in scientific software development using the exa2pro framework
Allen et al. Identifying and consolidating knowledge engineering requirements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant