【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求在2013年11月13日提交的名为“SoftwareComponentRecommendationBasedonMultipleTraceRuns(基于多次跟踪执行的软件组件推荐)”的美国专利申请序列号61/903,755、在2013年11月13日提交的名为“RelationshipGraphforSoftwareComponentRecommendations(软件组件推荐的关系图)”的美国专利申请序列号61/903,762、以及在2013年11月13日提交的名为“ComponentUsageRecommendationSystemwithRelationshipandPerformanceMatching(采用关系和性能匹配的组件使用推荐系统)”的美国专利申请序列号61/903,768的优先权和权益,这些申请所公开和教示的所有内容通过引用被明确结合于此。背景许多计算机编程语言具有大量可重用的软件组件,其中的许多可能是开源的。这些组件在质量方面可能从很差到优秀,并具有与之对应的性能特性范围。在许多语言中,存在数以十万计或甚至百万计的不同组件。这为开发者带来了一个困难的问题:如何从巨大的库中选择组件呢?概述可在根据软件组件的多次使用计算性能度量时生成推荐。跟踪服务可收集来自软件组件的多次使用的跟踪数据,其中每一次使用可以在不同条件下进行。性能度量分析可标识可能影响软件组件的性能的各种因素, ...
【技术保护点】
一种在至少一个计算机处理器上执行的方法,所述方法包括:接收多个跟踪数据集,每一个所述跟踪数据集包括在监视第一软件组件时收集的性能数据的时间序列;分析所述多个跟踪数据集以确定导致所述跟踪数据集之间的差异的区别因素;以及向用户呈现所述区别因素。
【技术特征摘要】
【国外来华专利技术】2013.11.13 US 61/903,755;2013.11.13 US 61/903,762;1.一种在至少一个计算机处理器上执行的方法,所述方法包括:
接收多个跟踪数据集,每一个所述跟踪数据集包括在监视第一软件组件时收
集的性能数据的时间序列;
分析所述多个跟踪数据集以确定导致所述跟踪数据集之间的差异的区别因
素;以及
向用户呈现所述区别因素。
2.如权利要求1所述的方法,其特征在于,所述差异包括所述跟踪数据集之
间的性能差异。
3.如权利要求2所述的方法,其特征在于,所述区别因素包括硬件差异。
4.如权利要求3所述的方法,其特征在于,所述区别因素进一步包括软件差
异。
5.如权利要求4所述的方法,其特征在于,还包括对多个区别因素进行排名。
6.如权利要求5所述的方法,其特征在于,所述性能数据包括资源消耗数据。
7.如权利要求6所述的方法,其特征在于,所述资源消耗数据包括由以下各
项组成的组中的至少一个:
处理器资源消耗数据;
存储器资源消耗数据;以及
网络资源消耗数据。
8.如权利要求6所述的方法,其特征在于,所述性能数据包括使用数据。
9.如权利要求8所述的方法,其特征在于,所述使用数据包括由以下各项组
\t成的组中的至少一个:
函数调用计数;以及
接收的输入参数。
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所述的系统,其特征在于,所述存储库扫描器创建所述多
个软件组件中的至少两个软件组件之间...
【专利技术属性】
技术研发人员:T·瑟托,R·克莱杰克,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。