CN105868039A - 一种用于管理软件问题报告的方法、系统和设备 - Google Patents

一种用于管理软件问题报告的方法、系统和设备 Download PDF

Info

Publication number
CN105868039A
CN105868039A CN201610184580.3A CN201610184580A CN105868039A CN 105868039 A CN105868039 A CN 105868039A CN 201610184580 A CN201610184580 A CN 201610184580A CN 105868039 A CN105868039 A CN 105868039A
Authority
CN
China
Prior art keywords
application
developer
software
report
equipment
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
CN201610184580.3A
Other languages
English (en)
Other versions
CN105868039B (zh
Inventor
J·苏拉茨斯基
J·B·帕克斯
D·杜达
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN105868039A publication Critical patent/CN105868039A/zh
Application granted granted Critical
Publication of CN105868039B publication Critical patent/CN105868039B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/012Providing warranty services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales

Abstract

本发明的各实施例总体上涉及一种用于管理软件问题报告的方法、系统和设备。具体地,一种用于管理软件问题报告的计算机实现的系统包括:注册子系统,用于注册来自多个不同开发者组织的软件开发者;应用商店,使得来自多个应用开发者的多个应用可用于由公众的成员获得;应用漏洞跟踪器,被编程用于接收使用所述应用商店分发的应用的问题的报告,用于接收关于所述问题的数据,以及用于将所述数据与特定应用或所述特定应用的开发者相关联;以及报告生成器,用于向已经提供一个或多个应用的开发者产生一个或多个问题报告,所述问题报告包括与关于所述开发者向所述应用商店提交的特定应用的问题数据有关的信息。

Description

一种用于管理软件问题报告的方法、系统和设备
分案申请说明
本申请是申请日为2011年5月19日、申请号为201180024596.3、发明名称为“一种用于管理软件问题报告的方法、系统和设备”的中国发明专利申请的分案申请。
相关申请的交叉引用
本申请要求2010年5月19日提交的题目为“Bug Clearing House”的美国临时申请序列No.61/346,453的优先权,其全部内容通过引用并入于此。
技术领域
本文档涉及与软件应用问题有关的信息的管理和分发。
背景技术
软件开发是一种困难的业务。期望的软件开发者必须首先在架构和编程软件方面对其自身进行训练。他或她继而必须了解最新的不断变化的编程语言和技术。并且他或她必须具有想法。开发者继而需要在目标计算平台上可获得的资源内以及其自身的时间和经济约束内解决如何通过编程实现所述想法。另外,他或她需要使人在不同的设置中测试该程序,并且进行校正以修复程序中的漏洞。开发者继而必须解决如何定价和分发软件并且使得人们对其感兴趣。
高级编程环境有助于解决这些问题中的某些问题,即,高级编程环境可以使得代码的组织和录入更加自动。另外,针对无线计算设备(诸如,智能电话和上网本)的在线应用商店的最近发展已经使得小开发者更易于营销并销售软件。这些发展已经使得软件开发者以及购买他们软件的人们生活得更好。但是,软件开发者的生活仍然困难。例如,仍然难于获得程序用户的反馈并且以高效地方式对反馈进行分析。例如,许多开发者随应用提供电子邮件链接,通过该电子邮件链接客户可以提供反馈。
发明内容
本文档论述了用于为软件开发者并且具体地为通过第三方在线应用商店向无线移动计算设备(诸如智能电话)的用户销售并分发应用的软件开发者管理问题或漏洞的报告的系统和技术。例如,开发者可以是向提供公众应用商店的系统注册的单独编程者,使得该开发者可以向应用商店上传应用,该应用商店向公众中注册以从该应用商店购买应用的成员分发应用,所有这些均以常见并公知的方式进行。在一个或多个移动计算设备上执行的特定软件应用和/或操作系统可以编程用于在出现问题或漏洞(例如,应用崩溃或冻结、消耗过量功率或者设备的用户手动报告问题或用于改进应用的想法)时收集信息,并且可以向与该应用商店相关联并且由操作该应用商店的同一组织操作的报告子系统传输关于该问题的数据。
报告子系统可以将每个这种传入漏洞报告提交(由设备自动生成或由设备的用户手动生成)与问题指向的计算机应用(例如,在冻结或崩溃发生时操作系统打开和/或关注的应用)关联,并且可以存储特征化问题的信息。该信息可以通过使其与应用相关联并且扩展有该应用的开发者的方式进行存储。当开发者(其可以是向应用商店提供软件的个体或者该个体的代理)接下来登录该系统时,该开发者可以上拉关于其已经上传的软件应用的报告,其中报告聚集针对每个这种软件应用的所有报告问题的所有数据,并且还随应用示出问题的本质和程度。
这种报告可以具有通过报告子系统从其移除的某些信息,诸如用于维护其移动计算设备经历该问题并生成对应数据的用户的隐私。由子系统向开发者提供的信息级别还可以取决于子系统对开发者的信任级别。同样,可以向用户通知可以被共享的信息的级别,并且用户可以选择允许或不允许信息的这种使用。
该报告可以采取各种常见形式,诸如摘要报告,随一个或多个应用示出问题出现的频率;误差报告,随应用列出某种类型的所有问题并且提供描述所述问题的数据(例如,问题发生在代码中的那个部分中);以及堆栈跟踪,当设备上出现问题时示出关于每个计算设备的状态的信息。
另外,系统可以在多个应用中生成更广泛用于第三方提供商的数据。例如,在操作应用商店的组织还向访问该应用商店的移动设备提供操作系统的情况下,针对多个应用的问题数据可以通过各种方式“卷起”用于创建聚集数据和结果报告来确定操作系统是否存在问题。例如,如果这种数据指示当访问特定操作系统服务或接口时多个不同应用正经历冻结,则可以提醒第三方提供商针对服务或接口的代码可能存在问题。
在某些实现方式中,这种系统和技术可以提供一个或多个优势。例如,开发者可以提供有诊断能力,其可以通过其他方式仅可用于仅通过使用特定开发环境建立其自身漏洞跟踪系统的复杂公司。设备的用户可以从各种开发者接收改进的应用,并且可以允许通过在多个不同应用之间一致的常规方式报告来自多个不同开发者的漏洞。并且平台(诸如,操作系统和/或相关联的应用商店)的提供商能够改进设备的开发者和用户对其平台的期望。
在一个实现方式中,论述了一种用于管理软件问题报告的计算机实现的系统。该系统包括注册子系统用于注册来自多个不同开发者组织的软件开发者。该系统进一步包括应用商店,其使得来自多个应用开发者的多个应用可由公众成员购买。该系统还包括应用漏洞跟踪器,编程用于接收随使用应用商店分发的应用一起的问题报告;接收关于所述问题的数据;以及将所述数据与特定应用或特定应用的开发者相关联。另外,该系统包括报告生成器用于产生针对已经提供一个或多个应用的开发者的一个或多个问题报告,该问题报告包括关于与开发者向应用商店提交的特定应用相关的问题有关的数据的信息。
实现方式可以包括以下特征中的任意特征、所有特征或者全部都没有。问题的报告可以包括从以下分组选择的问题,该分组包括应用崩溃、应用冻结、过量电池使用和手动调用的计算设备用户评论。该系统还可以包括漏洞分析器,编程用于分析多个应用中问题的报告来标识问题的报告是否指示随特定计算设备型号或计算机操作系统一起的问题。该漏洞分析器进一步可以通过标识随特定设备型号或操作系统版本一起的统计上较高报告频率来标识问题的报告指示随特定计算设备型号或计算操作系统一起的问题。该系统可以布置用于基于信任级别限制向开发者提供的信息,该信任级别标识开发者授权获得的关于特定应用的用户的信息。该系统可以附加地编程用于基于该开发者是否是组织中管理其上出现特定问题的设备的操作系统的核心应用的开发者来限制向该开发者提供的信息。
同样,系统可以布置用于根据问题的类型将关于问题的信息分组。该系统可以布置用于提供指示其上出现特定问题的设备的设备类型和操作系统标识符的信息。该系统可以进一步包括开发者上传接口,其接受开发者上传的应用并且将每个应用与应用通过其上传的开发者账号关联。该系统可以编程用于向开发者呈现由根据针对特定开发者的不同漏洞的比率确定的安全级别存储的漏洞。
在一个方面,用于管理软件问题的计算机实现的方法包括在中央服务器系统从远离该中央服务器系统的多个不同计算设备接收多个软件应用问题报告。该系统进一步包括将问题报告的特定报告与由特定软件开发者提供的特定应用相关联。另外,该系统包括从特定开发者的一个开发者接收标识信息。该系统还包括响应于接收标识信息向特定开发者中的开发者提供描述由该开发者通过中央服务器系统管理的特定应用的问题报告的信息。
实现方式可以包括以下特征中的任意特征、所有特征或完全没有。软件应用问题报告可以包括关于冻结、崩溃和用户生成评论的报告。另外,软件应用问题报告可以包括针对生成特定问题报告的设备的跟踪数据以及关于该设备配置的信息。该系统可以进一步包括从多个软件开发者接收软件应用更新;将每个应用与针对该应用的开发者账号关联;以及关联。
在附图和下文描述中阐述了一个或者多个实施方式的细节。其他特征和优点将根据说明书、附图和权利要求书变得容易理解。
附图说明
图1A是示出用于从多个开发者分发软件并且收集关于软件操作的信息的系统100的概念图;
图1B是示出用于提供关于软件应用操作的反馈的操作的流程图;
图2是用于从计算设备跟踪关于所述设备上软件应用的操作的提交的系统200的示意图;
图3是用于管理软件问题报告的处理的流程图;
图4是用于管理多个开发者软件问题提交的处理的泳道图,其中软件安装在多个移动计算设备上;
图5A和图5B是经历软件应用操作问题的移动计算设备的示例截图;
图6A至图6C是软件跟踪系统生成的开发者报告的示例截图;以及
图7示出了可以与这里描述的技术一起使用的通用计算机设备700和通用移动计算机设备750的示例。
具体实施方式
本文档论述了可以用于提供对软件应用操作的反馈的各种系统和技术。在具体示例中,彼此独立的一组分散的软件开发者(例如,没有为相同公司工作、在相同区域操作、或者共享共同的软件开发系统)可以将其软件应用上传至应用商店,从中计算设备的各用户可以查看并下载应用,从而时常进行支付用于购买或许可应用(其中相应的开发者将接收支付的一部分份额)。设备上的操作系统可以执行设备问题的常见误差处理,包括当设备出现问题或漏洞时保持堆栈跟踪并向中央服务器系统报告此类信息。此类信息通常供试图诊断问题源的训练个体使用,从而使得可以采取补救措施并且可以校正和更新相关软件代码。
在本文所述示例中,从各计算设备提交的数据的一部分还可以用于供提交产生问题的代码或者当问题出现时活动的代码的开发者查看。可以出现以下操作,当问题出现时由操作系统标识相关的一个或多个应用,并且向中央服务器系统提交关于该问题的信息以及标识所述一个或多个应用的信息。中央服务器系统继而可以存储与软件应用标识符相关联的数据,并且此标识符进一步可以用于标识应用的开发者。当此开发者(其可以是与应用商店或操作系统的操作者完全不同的个体或组织)登录系统并且请求关于其代码问题的报告时,系统可以查询其中存储问题数据的数据库来定位针对该特定开发者的所有数据,并且可以生成通过各种方式过滤并分组数据的一个或多个报告。作为一个示例,个人可标识信息可以从向报告提供的数据中移除或者可以被掩盖。同样,所述数据可以根据每个应用进行存储使得开发者如果具有许多此类应用能够快速获得关于其每个应用的相关操作的理解。
图1A是示出用于从多个开发者分发软件并且收集关于软件操作的信息的系统100的概念图。通常,系统100包括位于一组开发者与一组用户(其中,当然某些开发者还可以是用户,并且反之亦然)之间的中央服务器系统。中央服务器系统从开发者接收软件代码更新;向用户提供代码下载;从用户接收误差或问题数据;以及过滤并组织此类数据用于向开发者呈现。
现在更具体地参考附图,中央服务器系统在这里通过应用中心120的形式示出。应用中心120包括组成用户中心108和开发者中心110的物理组件和逻辑组件。此类组件例如可以包括前端或web服务器,其生成用于分别向用户和开发者提供服务的用户接口。用户中心108与用户104进行通信,该用户104在此示例中是已经获得移动电话或者应用电话的个体,该移动电话或者应用电话运行由应用中心120的操作者开发的特定软件操作系统。作为提供有操作系统的整体服务的一部分,操作者使得应用中心120可用于查看并购买针对移动设备的软件应用。因此,例如,用户A(例如,青少年)可以下载多个视频游戏,而用户B(例如,女商人)可以下载利用托管基于云的计算平台的各种商业应用,以及用户C(例如,大学生)可以下载电子书阅读器应用(具有多个电子书教科书)和各种备考应用以及数学建模应用。在每个情况下,相关用户可以开始每个其下载的应用(这可以补充随其电话运送来的应用)并且以常见方式与所述应用进行交互。当出现需求时,用户还可以访问应用中心120用于定位并下载附加应用。
有时,问题可能出现在用户104设备的每个设备上。例如,用户可以同时运行多个应用,并且可以产生使得其中一个应用崩溃的存储器溢出条件。备选地,设备的用户可以调用问题提交处理,通过问题提交处理用户可以填写表格用于标识应用中的误差或者建议针对应用的改进特征。这些实例和类似实例中的每个实例在这里统统描述为漏洞,因为其指示了需要向应用的开发者馈送的软件应用的问题(最终可以通过上述内容确定该问题有助于操作系统、设备硬件或另一应用)。
如这里所示,应用可以采取常见形式从应用商店112获取,诸如网站,通过网站第三方(除了由应用商店112的操作者提交的某些第一层应用之外)提交的应用可以显示为网页的一部分,在网页上还显示了控件,当被用户选择时,使得特定选定应用提供或下载到通过系统100登录到用户账号的设备。
用户中心108还包括漏洞收集器116,其包括用于与应用实例自动通信的组件,所述应用实例直接向用户104的设备分发或者经由对应用实例的操作进行报告的操作系统组件向用户104的设备分发。漏洞收集器还可以对收集的信息重新格式化用于永久存储,诸如通过将数据布置在包括以下信息的一个或多个数据库中,诸如提交的时间和日期、设备上的操作系统和版本、设备的品牌和型号、当问题事件出现时在设备上执行的其他应用、最近设备活动的跟踪、针对设备的配置数据以及其他类似信息。
应用中心102的另一“侧”指向开发者106其与用户104类似可以在数量上非常大并且在地理上广泛分布。具体地,用户104和开发者106可以遍布世界各地,并且可以通过各种网络(包括因特网)来访问应用中心102。作为一个示例,系统100可以具有成千上万的活动开发者106,以及数百万(甚至上千万)的活动用户104。这里描述的技术在以大量开发者为基础的系统中工作尤其良好,这是因为随着向每个开发者提供的用户数据越多,该系统中的开发者看上去就越少,并且无法开发其自身的漏洞报告系统。
开发者中心110的第一主要组件是应用管理器114。该组件可以是应用商店112针对用户的另一方面。具体地,应用管理器114可以包括开发者可以访问并与之交互的相关联软件和web服务器,以便将其自身注册为系统100的合法开发者成员以及随后上传其已经授权或者其正在管理商业发布的应用的代码。应用管理器114还可以提供多个大体上已知的附加服务,用于与开发者交互以及允许开发者方便地管理其应用。
漏洞报告器118作为漏洞收集器116的开发者侧对应方,并且完成如下软件分发和反馈周期,其在开发者106开始,移向应用管理器114和应用商店112,继而向获得并执行该应用的用户104,当软件出现问题时(但乐观的开发者将其视为机会)返回漏洞收集器116、漏洞报告器118和开发者106。
针对应用(其对应于相应的开发者),漏洞报告器118具体地可以向web服务器系统提供用于与开发者106和报告生成设施交互以提供与由用户104的设备经历的问题有关的数据。该报告可以是标准形式或者自定义形式。标准报告可以由应用中心102(其在这里被示为单个实体,但是由彼此协作工作的多个不同组织操作)的操作者开发,并且可以易于由期望了解其相应应用执行如何的开发者进行访问和生成。自定义报告可以由每个单独开发者形成,并且可以使用已知的图形报告开发工具。例如,开发者可以选择其期望在其报告中看到的数据的特定字段,并且可以限定其报告的视觉效果。开发者还可以接收以原始数据形式出现的报告(以批处理形式并且实时,因为报告指示用户104中出现的情况),并且可以使用其自己的设施用于操纵并报告数据。另外,开发者106可以限定其期望看到的聚合报告。例如,如果开发者已经开发了一套产品(例如,商务办公套件),则其可能想要包括对于该套件中每个组件均常见的参数的部分,以及组件和数据中专用于特定组件的每个组件和数据的单独部分。
通过这种方式,系统100可以向开发者106提供关于其软件中可能需要注意的漏洞的大量有益格式化的数据。特定开发者可以不需要对其软件进行任何操作便能够获得某些数据(而不是提供一种机制,操作系统可以通过该机制对正在执行的应用进行标识)。在某些实例中,开发者可以使得附加数据被报告(诸如经由API),但同样,开发者可以不需要实现用于接收漏洞提交,用于生成关于客户端设备的数据,以及用于通过其他方式实现全面应用维护系统的全面系统。因此,入门级开发者可以获得用于改进其应用的程序的益处,并且应用的消费者可以反过来受益。
图1B是示出用于提供关于软件应用操作的反馈的操作的流程图。通常,这里示出图形时间线(其从左上角开始并且在右下角结束)用于解释以下示例,通过该示例应用开发者可以使其软件应用可用于公众并且可以接收关于应用操作的反馈,并且可以由此有准备地并且快速地改进应用。
在操作120,应用开发者向移动应用市场提交应用。该提交可以通过各种适当的方式出现,并且开发者可以向应用提供有助于在系统中合法化应用并且提供安全性的自签署证书。操作122示出了移动应用市场中出现的应用,以及可能已经由同一开发者或其他开发者先前上传的3个其他应用。应用的“所有权”可以通过将该应用与上传该应用的用户(其通常是实际开发者或者代表该开发者工作的某人)的账号关联来维护。
在操作124,移动计算设备(例如,智能电话或应用电话)的用户通过在其账号下登录系统已经访问了移动应用市场并且已经标识了其自身。继而用户已经选定在操作120上传的应用,并且该应用已经通过已知方式安装并且准备好供移动设备的用户执行。
在操作126,爆发图标指示误差出现同时应用正在移动设备上运行。该误差可以涉及崩溃或锁定情况,或者可以由于设备的用户手动指示提供关于应用的反馈的意图。此类事件可以使得关于该事件的诊断信息诸如通过在设备上执行的操作系统组件在设备上收集。
在操作128,关于误差的报告在移动设备128上生成-动作可以在管理移动设备以及设备上各应用的操作的操作系统的控制下出现。例如,操作系统编程用于识别处理何时在设备上未成功地结束,并且此类事件可以触发多个由操作系统执行的数据收集和格式化操作。例如,可以确定跟踪、堆栈、注册或其他实体的当前内容,以及当误差出现时在设备上执行的所有软件组件的标识符。此类消息继而可以根据约定标准收集在一起成为预定信息分组。
在操作130,报告或提交被示为其可以存在于(至少概念上)负责跟踪并报告此类报告的中央服务器系统上。在此示例中,报告已经根据针对应用的特定漏洞进行了分类,其中已经标识了3个不同的漏洞。此类分类例如可以通过标识在误差出现时相关代码中哪段代码正在执行,并且向标识符提供该段代码,使得特定报告可以连接在一起从而产生漏洞报告。待向特定误差提交指派的漏洞的标识还可以通过其他方式执行,包括由漏洞跟踪系统的用户手动分类。如这里所示,已经标识了两个其他漏洞,并且针对那些漏洞分别已经存在两个误差提交和三个误差提交。因此,在此示例中,一段时间后,初始应用已经被标识为对应于八个不同的误差提交。
对于应用的开发者了解此类信息可能是重要的。例如,所示三个漏洞中的一个漏洞可能对于应用的用户的统计是重要的。如果开发者可以快速看到此类漏洞的本质,则开发者可能能够对其快速校正并且向已经下载该应用的所用用户(但用户可以被给予拒绝此类更新的机会)提供针对代码的“补丁”(并且该补丁可以自动推出)。
在操作132和操作134,此类开发者已经选择用于查看关于所有该开发者的漏洞提交的报告。在此示例中,整个系统中存在三个漏洞正被跟踪,但是如操作134中所示,所述漏洞中只有两个漏洞与操作120的应用相关联。在此示例中,移动应用市场或类似子系统因此可以有准备地生成如下报告,该报告示出了关于特定误差的信息以及向开发者标识正被系统跟踪的漏洞的本质的信息。
在某些实例中,最终报告中提供的数据可以与提交中从移动设备上传的数据本质上不同。例如,个人可标识信息可以从上传数据中剥离,使得开发者无法进行关于设备用户的特定确定。在一个示例中,仅可以提供崩溃时关于设备的堆栈跟踪以及类似信息,但其他信息(例如,可以反映当问题出现时用户正在操纵的数据的信息)将不会被传递。同样,详细程度可以与中央系统相关,但是可以与大多数开发者无关,并且因此可以在操纵134从报告中剥离。
图2是用于从计算设备跟踪关于所述设备上软件应用的操作的提交的系统200的示意图。该系统200可以用于实现如上文针对图1A和图1B描述的动作。为了清楚起见,系统200以高度简化形式示出,并且在特定物理实现中可以包括大量附加组件。
现在参考附图,示出了由使用膝上型计算机和台式计算机示出的系统200,通过该系统200各个开发者212可以向应用服务器系统202提交应用,并且可以接收返回的金钱以及关于其特定相应提交应用的操作的反馈。此类应用可以由这里所示各用户210经由能够下载并执行应用的无线移动设备来购买或以其他方式获得。
开发者212和用户210(或者更技术上是指其设备)通常彼此之间不直接进行通信,而是可以使用网络204(诸如因特网)通过应用服务器系统202进行通信。此类开放式通信可以允许广泛开发者类型以及用户使用系统200。
应用服务器系统202中的特定组件可以在通过系统200部署并跟踪软件应用使用方面提供功能。例如,市场前端214可以生成向用户210显示可用应用以及允许用户查看、尝试并下载此类应用的用户接口。市场管理器218可以向市场前端214提供后端支持,诸如通过跟踪购买、向用户210生成账单并汇款给开发者212、以及应用商店实现的其他已知功能。
开发者前端216可以生成允许开发者向系统200注册、上传应用、管理其应用(例如,更新、添加和删除应用,并且查看通过销售应用赚到多少钱)、以及接收关于其应用操作的反馈(如上下文所述)的用户接口。在提供此类反馈方面,前端216可以访问漏洞报告生成器220,其可以管理从其上已经出现漏洞(例如,由崩溃、冻结和手动用户报告所标识)的移动设备上传的数据。例如,漏洞报告生成器可以负责从用户设备接收漏洞报告数据、将其适当格式化以便存储(诸如存储在漏洞库222中),继而当开发者请求查看关于其特定应用的报告时获取所存储数据的所有或部分数据。
漏洞报告生成器220或开发者前端216或两者的组合可以适当地将此类数据进行过滤并格式化以便向开发者递送。例如,两个组件可以响应于开发者对报告的请求协作生成网页并向开发者发送该网页。同样,数据可以高效地流传输至请求数据聚合馈送的开发者,使得开发者可以在漏洞报告到达系统200的同时看到所述漏洞报告。此类实时报告可以通过各种方式出现,诸如向开发者发送SMS消息、XML转变(以便例如开发者可以使用其自己系统中的分析工具来组织各种漏洞报告)以及其他此类机制。
附图中还示出了各种数据存储用于例示可以由系统200存储、访问和管理的数据形式。例如,如上文所指出的,漏洞库可以存储关于来自用户210的漏洞报告的信息。漏洞信息可以包括允许开发者或其他技术人员推断(至少一部分以及至少某些时候,或者与其他漏洞报告组合)当漏洞事件出现时的出错原因。在某些情况下,漏洞库还可以包括内部可访问系统200但不访问开发者212的信息。此类信息可以通过适当的方式(例如通过漏洞报告生成器220和/或开发者前端216)进行过滤。
证书数据库224可以存储针对开发者212和用户210的证书信息。证书可以允许各种人员访问与其账号相关联的相关信息,以及通过系统200支付或接收用于购买应用或销售应用的钱。同样,证书可以用于确定特定用户对某些数据的适当访问级别。例如,第三方开发者可以具有其与限制访问级别相关联的证书,使得当其请求关于其应用漏洞的报告时,个人信息被过滤以便保持应用用户的匿名。相反,内部用户可以具有对关于用户设备故障的数据更大程度上的访问。
最终,应用数据存储226存储用户210可获得的应用,包括已经由开发者212上传的应用,以及可能已经由系统200的操作者最初放置在市场上的应用。
在服务器系统202外部,在此示例中还示出了本地开发者206,其可以在相同域中作为应用服务器202,并且通过私有网络208与应用服务器系统202通信。本地开发者是应用服务器系统202的操作者信任的程序员,诸如运行应用服务器系统的组织的员工。此类用户可以通过各种方法由应用服务器系统202标识,并且开发者前端216因此可以向开发者206提供更大程度上对误差数据的访问以及对更强大工具的访问用于分析数据。换言之,开发者206可以由系统200看作开发者,但是与其他开发者212不同。
作为一个示例,某些用户210可能已经同意向提供应用服务器系统202的组织提供某些个人可标识数据,但是可能拒绝与第三方共享此类信息。本地开发者206在此情况下能够访问比开发者212更多的信息。此类情况从用户210的视角尤其期望,这是因为本地开发者206频繁生成系统中最有用并且普遍部署的应用(例如,文字处理和电子邮件)中的某些应用,并且用户可能期望向此类开发者给予其需要改进程序的任何事物。
图3是用于管理软件问题报告的处理的流程图。通常,该处理涉及从应用的开发者接收针对各计算机应用的计算机代码,以及使得应用可用于在应用市场由公众的成员下载并且有可能购买。在各种应用安装到系统注册用户的各种计算机上之后,应用可以开始生成警报(例如,当出现崩溃或其他问题时),关于此类警报的信息可以被中继回到应用市场的操作者,并且该信息可用于提交具有事件的特定应用的对应开发者,使得该开发者可以改进并编辑针对其应用的代码。
该处理从框302开始,其中该处理接收由开发者上传的应用。该开发者例如可以是在其家外工作的个体程序员,其已经编写了用于解决特定领域中特定小范围(niche)问题的简单应用,诸如针对木匠的计算器、针对特定职业的搜索工具或者可以在移动计算设备上执行的其他类似应用。开发者可以备选地包括一组个体,诸如以开发应用(诸如在应用市场上销售的应用)为业务的小软件公司。通常,开发者是具有权利要求通过销售应用生成的收入,或者通过其他方式向各用户分发应用得到的收益。
在框304,使得应用在市场上可获得。此类操作可以通过常见方式出现,并且可以包括应用的文本描述以及图标布置,其均由开发者提供给市场。该应用可以通过支付购买获得,或者可以免费下载获得,其也是在本领域已知的方式。
在框306,应用的实例被递送至表示有兴趣接收应用拷贝的购买者。因此,应用的拷贝可以被下载到与访问应用商店或市场的用户的用户账号相关联的移动设备。用户继而可以采取适当的动作来安装应用并且使该应用在其购买应用的同时或者稍后在其设备上运行。因此,已经下载特定应用的设备的用户以及已经下载该应用的其他用户可以访问该应用并且以其认为合适的方式与应用交互。
此类与应用的交互随着应用的操作可能产生问题。一个此类问题包括可能导致应用(或者其中应用正在执行的过程)崩溃或挂起的应用故障。另一问题可能是用户对应用不满意,这是因为该应用没有正确执行或者用户认为应用通过某些改进可以更好地执行。在此类情况下,针对用户的特定客户端设备可以从设备自动或者从用户手动收集数据用于特征化事件的参数。在某些实现中,上文所述各种数据可以通过操作系统或应用的组件收集,并且包括如上文所述的信息,以及诸如在事件发生时设备的当前截图之类的其他数据,还包括可能由设备的用户向设备输入的信息,诸如指示用户期望向应用添加的特征类型的文字。一旦收集到此类诊断信息,其可以从客户端设备传输到服务器系统,该服务器系统继而可以将关于警报以及从其他客户端设备接收的其他警报(框310)格式化并保存。
在执行此类格式化和过滤方面,中央服务器系统还可以标识针对不同事件的数据之间的共同参数以试图标识表示应用出现相同漏洞的事件。例如,如果针对两个不同事件的跟踪信息彼此非常接近,则系统可以推断事件是共同漏洞的结果。用于确定两个事件是否由于相同漏洞的某些参数可以被加权,而其他参数可以确定事件被分类到的漏洞是否关于特定参数。此类经标识漏洞中的每个漏洞可以被指派标号,该标号随后可以用于在确定具有共同漏洞的不同警报数据之间创建关联,并且向系统中的软件开发者提供警报和漏洞的分组记录。
在框312,处理将关于特定一个或多个应用的开发者对应的一个或多个应用的漏洞信息格式化并向所述开发者递送。如上文所述,报告可以采取各种形式,包括网页上的打印报告、数据块(诸如以XML格式)或者数据流(其涉及每次事件或一组事件通过运行应用的各种客户端设备向处理报告的数据传输)。通过此方式,开发者可以获得与用户设备上出现的漏洞产生事件有关的信息,并且用户和/或用户设备可以提供所述信息。
图4是用于管理多个开发者软件问题提交的处理的泳道图,其中软件安装在多个移动计算设备上。该处理类似于图3的处理,但是示出了关于可以由系统中特定组件执行的特定示例操作的更多细节。该处理从框402开始,其中开发者开发软件应用。此类开发可以包括架构应用、起草针对应用的代码以及分组或通过其他方式布置针对应用的代码的多个部分。一旦应用准备好使用,开发者可以通过常见方式注册并登录(框404)到应用商店服务器系统,并且服务器系统可以通过此方式开始于开发者进行交互会话(框406)。在提供关于应用的元数据的适当形式(诸如,应用的标题、购买应用的价格、应用的文本描述、应用待在用户设备上以及应用商店上呈现的图标以及其他适当数据)之后,用户或开发者可以将其一个或多个应用随必要元数据一起上传(框408)。
在框410,应用商店服务器注册应用,创建用于存储应用以及描述该应用参数的数据的空间,以及通过可用方式将该应用主控在应用商店中。
稍后,正在浏览应用商店的用户找到该应用并且期望购买。在框414,用户注册并登录应用商店,其反过来与用户开始会话(框416)。
在框418,用户提供命令用于下载应用,诸如通过点击该应用的图标,继而选择特定屏幕上可选择控件用于确认用户期望购买并获得该应用。在框420,应用商店检验用户的证书来保证用户具有该应用商店的账号,并且如果用户具有所述账号则向用户提供该应用。备选地,服务器可用确定用户不具有账号,并且可用通过常规方式向用户请求此类信息,包括通过向用户请求信用卡信息用于将来支付下载的应用。
一旦用户下载了应用,用户可以开始使用该应用,在某些情况下,这种使用可以生成误差或问题事件,如在框422所示。误差事件的示例上文已经提供,并且可以包括设备的冻结、设备的崩溃或者来自用户关于建议改进或应用问题的手动报告。用户的设备继而在框424将此类事件以及针对该事件的诊断信息向漏洞服务器报告,其中数据可以被接收并记录。来自客户端设备的此类传输可以由经受该事件的特定应用或者驻留在设备上的不同应用经由操作系统组件产生。设备与漏洞服务器之间的特定交互可以通过API标准建立,并且可以遵照该标准使得该数据可以被适当地传输。
过程继而可以等待一段时间,而其他用户可以执行其设备上的应用,这可以反过来报告关于那些设备上问题的数据。然而,开发者接着可以期望查看该应用是否被正确操作,并且因此可以最终登录(框226),尽管此时,开发者可以提供有来自漏洞服务器的信息,该漏洞服务器可以在框428开始会话。一个常见交互可以包括针对由开发者操作的计算设备产生的一个或多个报告的请求(块430),并且在框432漏洞服务器可以向开发者提供回所请求的报告。此类服务可以包括根据漏洞服务器标识的特定帖子来组织误差事件数据,并且过滤数据使得开发者只接收其需要的数据以便进行信息决策,因此开发者不接收其没有访问的数据。最后,在框434,开发者设备显示记录或报告(诸如在网页上),使得开发者可以进行查看并且决定是否以及如何更新其软件以便解决可能已经在一个或多个设备上出现的误差。
图5A和图5B是经历软件应用操作问题的移动计算设备的示例截图。通常,这些截图示出了当误差事件出现时诸如通过操作系统组件或应用可以在客户端设备上生成的屏幕的两个示例。图5A中的截图示出了已经生成的警告屏幕,这是因为特定处理意外停止。该截图向用户指出了发生了什么,并且向用户给出用于响应的两个选项。具体地,用户可以选择“强行关闭”来停止该处理,但停止该处理意味着这样做可能丢失数据。用户还可以选择报告关于该问题的信息,其中用户是思想开放的并且期望帮助应用或操作系统的开发者改进该软件以便类似的非期望停止在将来不再发生。
用户选择“报告”选项使得显示图5B的截图。这里,向用户示出控制问题将如何向中央服务器系统报告的参数。具体地,待应用于传输的适当隐私策略可以显示供用户查看,并且用户可以提供有用于校正或更新该隐私策略的适当控件。另外,用户提供有空白文本框,其中用户可以选择描述问题的上下文-例如,“我正将xyz录入abc应用,同时进行电话通话,通过Handbrake转换视频,进行针对SETI的数值运算以及玩全细节第一人称射击,不知什么原因,应用将我挂起。”此类文本可以被当作具有关于该问题的其他诊断信息的字段。在某些情况下,如果漏洞特别棘手并且开发者需要向用户发送电子邮件或呼叫用户,用户可以被给予将其联系信息提供给开发者的机会。备选地,用户可以最初不被要求提供任何联系信息,但是开发者在查看评论之后可以请求联系信息,并且系统继而可以生成用户可以响应的消息。
用户继而可以选择“预览”按钮来给出将上传的关于该问题的所有数据的示图,或者选择“发送”来使得上传所述信息。
图6A至图6C是软件跟踪系统生成的开发者报告的示例截图。图6A示出了关于应用com.android.launcher2的漏洞的概要统计。例如,示出了来自客户端设备的报告或提交的总数,正如针对冻结和崩溃的提交的当前比率。
在另一实例中,关于设备电池功率以及使用的信息可以随关于执行应用的信息一起报告。例如,如果电池在功率方面突然下降,则诊断信息可以从设备上传使得中央研究员可以确定需要电源。例如,如果每当此类事件出现时特定应用频繁被示为正在活动,则中央系统可以推断该应用是电池耗竭的根源。
图6B示出了针对多个不同应用或代码文件的类似概要报告。例如,当代码失败时,该代码的名字连同其上下文、针对此类失败的报告数目以及此类事件的当前比率示出。
图6C示出了关于特定应用的特定故障的更详细报告,并且示出了关于故障背景更多的信息。例如,报告中示出了针对设备的堆栈跟踪,正如某些其他有用的信息。某些信息可以被超链接使得用户可以看到这里所显示的附加源数据。
图7示出了可以与这里描述的技术一起使用的通用计算机设备700和通用移动计算机设备750的示例。计算设备700旨在于代表各种形式的数字计算机(诸如膝上型计算机、桌面型计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其他适当计算机)。计算设备750旨在于代表各种形式的移动设备(诸如个人数字助理、蜂窝电话、智能电话和其他相似计算设备)。这里所示部件、他们的连接和关系以及他们的功能仅用来举例而并非用来限制本文献中描述和/或要求保护的本发明的实施方式。
计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和高速扩展端口710的高速接口708以及连接到低速总线714和存储设备706的低速接口712。部件702、704、706、710和712中的每个部件使用各种总线来互连并且可以装配于共同母板上或者以如适合的其他方式来装配。处理器702可以处理用于在计算设备700内执行的指令(包括存储于存储器704中或者存储设备706上用于在外部输入/输出设备(诸如耦合到高速接口708的显示器716)上显示用于GUI的图形信息的指令)。在其他实施方式中,可以如适合的那样与多个存储器和多个存储器类型一起使用多个处理器和/或多个总线。也可以连接多个计算设备700(例如作为服务器组或者刀片服务器群或者多处理器系统)而每个设备提供所需操作的部分。
存储器704存储计算设备700内的信息。在一个实施方式中,存储器704是一个或者多个易失性存储器单元。在另一实施方式中,存储器704是一个或者多个非易失性存储器单元。存储器704也可以是另一形式的计算机可读介质(诸如磁盘或者光盘)。
存储设备706能够为计算设备700提供大容量存储。在一个实施方式中,存储设备706可以是或者包含计算机可读介质(诸如软盘设备、硬盘设备、光盘设备或者磁带设备、闪存或者其他相似固态存储器设备或者设备阵列(包括在存储区域网络或者其他配置中的设备))。计算机程序产品可以有形实施于信息载体中。计算机程序产品也可以包含在被执行时执行一种或者多种方法(诸如上文描述的方法)的指令。信息载体是计算机或者机器可读介质(诸如存储器704、存储设备706、在处理器702上的存储器或者传播的信号)。
高速控制器708管理用于计算设备700的带宽密集操作,而低速控制器712管理更低带宽密集操作。这样的功能分配仅为举例。在一个实施方式中,高速控制器708耦合到存储器704、显示器716(例如通过图形处理器或者加速器)或者耦合到可以接受各种扩展卡(未示出)的高速扩展端口710。在该实施方式中,低速控制器712耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或者多个输入/输出设备(诸如键盘、指示设备、扫描仪)或者例如通过网络适配器耦合到联网设备(诸如交换机或者路由器)。
如图中所示可以用多个不同形式实施计算设备700。例如,它可以实施为标准服务器720或者多次实施于一组这样的服务器中。它也可以实施为架式服务器系统724的部分。此外,它还可以实施于个人计算机(诸如膝上型计算机722)中。取而代之,来自计算设备700的部件可以与移动设备(未示出)(诸如设备750)中的其他部件组合。这样的设备中的每个设备可以包含计算设备700、750中的一个或者多个计算设备,并且整个系统可以由相互通信的多个计算设备700、750组成。
计算设备750包括处理器752、存储器764、输入/输出设备(诸如显示器754)、通信接口766和收发器768以及其他部件。设备750也可以具有用于提供附加存储的存储设备(诸如微驱动或者其他设备)。使用各种总线来互连部件750、752、764、754、766和768中的每个部件,并且部件中的若干部件可以装配于共同母板上或者以如适当的其他方式来装配。
处理器752可以执行计算设备750内的指令(包括存储于存储器764中的指令)。处理器可以实施为芯片的芯片组,这些芯片包括单独以及多个模拟和数字处理器。处理器例如可以提供设备750的其他部件的协调(诸如控制用户接口、设备750运行的应用和设备750的无线通信)。
处理器752可以通过控制接口758和耦合到显示器754的显示器接口756来与用户通信。显示器754例如可以是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器或者其他适当显示器技术。显示器接口756可以包括用于驱动显示器754以向用户呈现图形和其他信息的适当电路。控制接口758可以从用户接收命令并且转换他们用于向处理器752提交。此外,外部接口762可以提供与处理器752的通信以便实现设备750与其他设备的近区域通信。外部接口762例如可以在一些实施方式中提供有线通信或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器764存储计算设备750内的信息。存储器764可以实施为一个或者多个计算机可读介质、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或者多项。扩展存储器774也可以被提供并且通过例如可以包括SIMM(单输入线存储器模块)卡接口的扩展接口772连接到设备750。这样的扩展存储器774可以提供用于设备750的额外存储空间或者也可以存储用于设备750的应用或者其他信息。具体而言,扩展存储器774可以包括用于实现或者补充上文描述的过程的指令并且也可以包括安全信息。因此,例如可以提供扩展存储器774作为用于设备750的安全模块并且可以用允许安全使用设备750的指令对扩展存储器774编程。此外,还可以经由SIMM卡将安全应用与附加信息一起提供(诸如将以不可黑客方式将标识信息放置于SIMM卡上)。
如下文讨论的那样,存储器例如可以包括闪存和/或NVRAM存储器。在一个实施方式中,计算机程序产品有形实施于信息载体中。计算机程序产品包含在被执行时执行一种或者多种方法(诸如上文描述的方法)的指令。信息载体是计算机或者机器可读介质(诸如存储器764、扩展存储器774、在处理器752上的存储器或者可以接收例如在收发器768或外部接口762上传播的信号)。
设备750可以通过通信接口766无线通信,该通信接口可以在必要时包括数字信号处理电路。通信接口766可以在各种模式或者协议(诸如GSM语音呼叫、SMS、EMS或者MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPS以及其他模式或者通信)之下提供通信。这样的通信可以例如通过射频收发器768出现。此外,短程通信也可以诸如使用蓝牙、Wi-Fi或者其他这样的收发器(未示出)来出现。此外,GPS(全球定位系统)接收器模块770也可以向设备750提供附加的与导航和位置有关的无线数据,该数据可以如适当的那样由在设备750上运行的应用使用。
设备750也可以使用音频编码解码器760来可听通信,该编码解码器可以从用户接收口头信息并且将它转换成可用数字信息。音频编码解码器760可以诸如通过例如设备750的听筒中的扬声器类似地生成用于用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音、可以包括记录的声音(例如语音消息、音乐文件等)并且也可以包括在设备750上操作的应用所生成的声音。
如图中所示,可以用多种不同形式实施计算设备750。例如,它可以实施为蜂窝电话780。它也可以实施为智能电话782、个人数字助理或者其他相似移动设备的部分。
这里描述的系统和技术的各种实施方式可以实现于数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中。这些各种实施方式可以包括可编程系统上可执行和/或可解译的一个或者多个计算机程序中的实施方式,该系统包括至少一个可编程处理器(可以是专用或者通用的),该处理器被耦合成从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令并且可以用高级过程和/或面向对象编程语言和/或用汇编/机器语言来实施。如这里所用,术语“机器可读介质”、“计算机可读介质”指代用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD))(包括接收机器指令作为机器可读信号的机器可读介质)。术语“机器可读信号”指代用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以实施于计算机上,该计算机具有用于向用户显示信息的显示器设备(例如CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供给输入的键盘和指示设备(例如鼠标或者跟踪球)。其他种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
这里描述的系统和技术可以实施于计算系统中,该计算系统包括后端部件(例如作为数据服务器)或者包括中间件部件(例如应用服务器)或者包括前端部件(例如具有图形用户接口或者网上浏览器(用户可以通过该图形用户接口或者网上浏览器来与这里描述的系统和技术的一个实施方式交互)的客户端计算机)或者这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。客户端和服务器的关系借助计算机程序来出现,这些计算机程序在相应计算机上运行并且相互具有客户端-服务器关系。
多个实施方式已经进行了描述。然而,应当理解在不脱离本发明精神和范围的前提下可以进行各种修改。例如,本文档的大部分已经针对电话拨号应用进行了描述,但是还可以解决小键盘布局和应用的其他形式,诸如涉及图形图标和缩略图以及字母数字字符的小键盘。
此外,图中描绘的逻辑流程无需所示特定顺序或者依次顺序以实现所需结果。此外,可以提供其他步骤或者可以从描述的流程删除步骤,并且可以向描述的系统添加或者从描述的系统去除其他部件。因而,其他实施方式在所附权利要求的范围内。

Claims (10)

1.一种用于管理软件问题报告的计算机实现的系统,所述系统包括:
注册子系统,在计算机服务器系统中用于注册来自多个不同开发者组织的多个软件应用开发者;
应用商店,其在所述计算机服务器系统上可执行,使得来自所述多个应用开发者的多个应用可用于向公众成员分发;
应用漏洞跟踪器,被编程用于从其上运行所述应用商店分发的应用的所述公众成员的客户端设备接收第一问题报告,所述第一问题报告指示通过所述应用商店分发的所述多个应用中的应用的问题;以及报告生成器,用于针对所述多个应用开发者中的每个应用开发者并且基于所述第一问题报告生成针对相应应用开发者的一个或多个概要问题报告,所述概要问题报告包括针对所述相应应用开发者通过所述应用商店分发的每个应用对运行在多个不同型号客户端设备中的每个型号客户端设备或者多个不同客户端设备操作系统中的每个客户端设备操作系统上的所述应用的问题被报告已经发生的相应频率进行概括的信息。
2.根据权利要求1所述的系统,进一步包括漏洞分析器,被编程用于分析多个应用上的所述第一问题报告来确定所述第一问题报告是否指示特定计算设备型号或计算机操作系统的问题。
3.根据权利要求1所述的系统,其中所述报告生成器被布置为基于针对其生成所述概要问题报告中的至少一个概要问题报告的所述对应应用开发者是否为组织中管理其上出现特定问题的设备的操作系统的核心应用的开发者来限制所述概要问题报告中的所述至少一个概要问题报告中包括的信息。
4.根据权利要求1所述的系统,其中所述报告生成器被布置为在所述概要问题报告中提供指示其上出现特定问题的设备的设备类型和操作系统标识符的信息。
5.根据权利要求1所述的系统,进一步包括开发者上传接口,其接受从应用开发者上传的应用并且将所上传应用的每个应用与所述应用通过其上传的开发者账号关联。
6.根据权利要求1所述的系统,其中所述报告生成器被布置为在所述概要问题报告中向开发者呈现根据严重级别排序的列表中多个问题的表示,其中所述严重级别根据所述多个问题出现的相应比率来确定。
7.一种用于管理软件问题报告的计算机实现的方法,所述方法包括:
从操作中央服务器系统的应用商店向远离所述中央服务器系统的多个计算设备分发多个软件应用,其中所述多个软件应用由来自多个不同开发者组织的多个不同软件开发者提供用于通过所述应用商店分发;
在所述中央服务器系统接收来自所述多个计算设备的特定计算设备的多个软件应用问题报告;
在所述中央服务器系统针对所述多个不同软件开发者中的每个软件开发者并且基于所述多个软件应用问题报告生成针对相应软件开发者的一个或多个概要问题报告,所述概要问题报告包括针对所述相应软件开发者通过所述应用商店分发的每个软件应用对运行在多个不同型号计算设备中的每个型号计算设备或者多个不同计算设备操作系统中的每个计算设备操作系统上的所述软件应用的问题被报告已经发生的相应频率进行概括的信息;
从所述多个不同软件开发者接收第一软件开发者已经在所述应用商店访问所述第一软件开发者的账号的指示;以及
响应于接收所述第一软件开发者已经访问所述账号的所述指示,向所述第一软件开发者呈现所述一个或多个概要问题报告。
8.根据权利要求7所述的方法,进一步包括接收从所述多个不同软件开发者上传的软件应用,将每个上传的应用与针对所述应用的开发者账号关联,以及将所接收的问题报告与所上传应用的特定应用关联。
9.一种用于管理软件问题报告的计算机实现的设备,所述设备包括:
用于从操作中央服务器系统的应用商店向远离所述中央服务器系统的多个计算设备分发多个软件应用的装置,其中所述多个软件应用由来自多个不同开发者组织的多个不同软件开发者提供用于通过所述应用商店分发;
用于在所述中央服务器系统接收来自所述多个计算设备的特定计算设备的多个软件应用问题报告的装置;
用于在所述中央服务器系统针对所述多个不同软件开发者中的每个软件开发者并且基于所述多个软件应用问题报告生成针对相应软件开发者的一个或多个概要问题报告的装置,所述概要问题报告包括针对所述相应软件开发者通过所述应用商店分发的每个软件应用对运行在多个不同型号计算设备中的每个型号的计算设备或者多个不同计算设备操作系统中的每个计算设备操作系统上的所述软件应用的问题被报告已经发生的相应频率进行概括的信息;
用于从所述多个不同软件开发者接收第一软件开发者已经在所述应用商店访问所述第一软件开发者的账号的指示的装置;以及
用于响应于接收所述第一软件开发者已经访问所述账号的所述指示,向所述第一软件开发者呈现所述一个或多个概要问题报告的装置。
10.根据权利要求9所述的设备,其中所述操作进一步包括接收从所述多个不同软件开发者上传的软件应用,将每个上传的应用与针对所述应用的开发者账号关联,以及将所接收的问题报告与所上传应用的特定应用关联。
CN201610184580.3A 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备 Active CN105868039B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34645310P 2010-05-19 2010-05-19
US61/346,453 2010-05-19
CN201180024596.3A CN103038752B (zh) 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180024596.3A Division CN103038752B (zh) 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备

Publications (2)

Publication Number Publication Date
CN105868039A true CN105868039A (zh) 2016-08-17
CN105868039B CN105868039B (zh) 2019-09-06

Family

ID=44992344

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610184580.3A Active CN105868039B (zh) 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备
CN201180024596.3A Active CN103038752B (zh) 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180024596.3A Active CN103038752B (zh) 2010-05-19 2011-05-19 一种用于管理软件问题报告的方法、系统和设备

Country Status (8)

Country Link
US (4) US8898637B2 (zh)
EP (1) EP2572282A4 (zh)
JP (2) JP5937577B2 (zh)
KR (2) KR101789266B1 (zh)
CN (2) CN105868039B (zh)
AU (1) AU2011255477B2 (zh)
CA (1) CA2798759C (zh)
WO (1) WO2011146750A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110546619A (zh) * 2017-04-24 2019-12-06 微软技术许可有限责任公司 源自监测系统的警报的机器学习决策指导
CN110990427A (zh) * 2019-12-16 2020-04-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质
TWI767182B (zh) * 2019-05-24 2022-06-11 大陸商中國銀聯股份有限公司 基於h5的接入組件及移動終端

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5937577B2 (ja) 2010-05-19 2016-06-22 グーグル インコーポレイテッド バグクリアリングハウス
US8788944B1 (en) 2011-03-09 2014-07-22 Amazon Technologies, Inc. Personalized mobile device application presentation using photograph-based capability detection
US8516308B1 (en) * 2011-03-09 2013-08-20 Amazon Technologies, Inc. Crash based incompatibility prediction for classes of mobile devices crash data
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
US8612936B2 (en) 2011-06-02 2013-12-17 Sonatype, Inc. System and method for recommending software artifacts
US8572553B2 (en) * 2011-06-10 2013-10-29 International Business Machines Corporation Systems and methods for providing feedback for software components
US8713531B1 (en) * 2011-06-28 2014-04-29 Google Inc. Integrated bug tracking and testing
US8473894B2 (en) 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US9141378B2 (en) * 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
US9244510B1 (en) * 2011-09-23 2016-01-26 The Mathworks, Inc. Bug report checks in a modeling system
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
US9087154B1 (en) 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US20130159851A1 (en) * 2011-12-20 2013-06-20 Bewo Technologies Pvt.Ltd Method and system for providing help content to users
US8862947B1 (en) * 2011-12-29 2014-10-14 Google Inc. Application version deployment using crash reports
CN102591667B (zh) * 2012-01-16 2015-05-27 深圳市同洲电子股份有限公司 一种远程发布应用的方法及装置
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
JP6024126B2 (ja) * 2012-03-02 2016-11-09 株式会社リコー 障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラム
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9792585B2 (en) * 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9141408B2 (en) 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20140237304A1 (en) * 2013-02-20 2014-08-21 Htc Corporation Method for collecting error status information of an electronic device
US20140244516A1 (en) * 2013-02-25 2014-08-28 Carrier Iq, Inc. Mobile Wireless Customer Micro-Care Apparatus and Method
US9213622B1 (en) * 2013-03-14 2015-12-15 Square, Inc. System for exception notification and analysis
US20140279131A1 (en) * 2013-03-14 2014-09-18 Robert Edward Sullivan On-line marketplace service
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9009544B2 (en) * 2013-03-28 2015-04-14 Oracle International Corporation User operation history for web application diagnostics
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
WO2014176587A2 (en) 2013-04-26 2014-10-30 The Trustees Of Columbia University In The City Of New York Systems and methods for mobile applications
KR20140128737A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 어플리케이션 결함을 관리하기 위한 장치 및 방법
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
US20140379747A1 (en) * 2013-06-19 2014-12-25 Microsoft Corporation Identifying relevant apps in response to queries
CN105637497A (zh) * 2013-07-12 2016-06-01 谷歌公司 用于移动应用的性能监控的方法和系统
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
EP3042314B1 (en) * 2013-09-04 2018-06-27 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
US9311213B2 (en) 2013-09-04 2016-04-12 Microsoft Technology Licensing, Llc Module database with tracing options
CN104468637B (zh) * 2013-09-12 2018-08-31 阿里巴巴集团控股有限公司 一种下载以及安装客户端的方法和设备
CN105765560B (zh) 2013-11-13 2019-11-05 微软技术许可有限责任公司 基于多次跟踪执行的软件组件推荐
US10241785B2 (en) 2013-11-13 2019-03-26 Microsoft Technology Licensing, Llc Determination of production vs. development uses from tracer data
WO2015071778A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Application execution path tracing with configurable origin definition
US9626239B2 (en) * 2014-01-06 2017-04-18 Red Hat, Inc. Bug reporting and communication
KR102298562B1 (ko) * 2014-01-17 2021-09-06 에스케이플래닛 주식회사 애플리케이션 실행 품질 서비스 시스템 및 방법
US9639412B1 (en) * 2014-03-11 2017-05-02 Apteligent, Inc. Application performance management tools with a service monitor for collecting network breadcrumb data
CN103886255B (zh) * 2014-03-12 2017-11-10 可牛网络技术(北京)有限公司 应用程序的隐私权限管理方法和装置
US9836343B2 (en) 2014-03-17 2017-12-05 Microsoft Technology Licensing, Llc Framework for user-mode crash reporting
US9898189B2 (en) * 2014-03-17 2018-02-20 Htc Corporation User trial feedback method, electronic device and computer-readable medium
JP6561433B2 (ja) 2014-05-15 2019-08-21 ソニー株式会社 複数のハードウェアのエレメントを連係動作させることによって機能を実現させるための方法、システム、端末装置、およびサーバ
US9952847B1 (en) * 2014-05-20 2018-04-24 Charles E. Comer Process for user-requested acquisition of remote content
US9436533B2 (en) * 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices
JPWO2016021184A1 (ja) * 2014-08-06 2017-06-01 日本電気株式会社 情報処理システム、プロジェクトリスク検知方法およびプログラム
US20160048383A1 (en) * 2014-08-13 2016-02-18 Microsoft Technology Licensing, Llc Isv update delivery
US10114627B2 (en) * 2014-09-17 2018-10-30 Salesforce.Com, Inc. Direct build assistance
US11195162B2 (en) 2014-10-06 2021-12-07 Vmware, Inc. System for defining and tracking transactions of mobile devices
CN104281526A (zh) * 2014-10-28 2015-01-14 用友软件股份有限公司 故障反馈方法、故障反馈系统和终端
US9747152B2 (en) 2015-04-27 2017-08-29 Splunk Inc. Tracking incomplete transactions in correlation with application errors
US20160357530A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Method and apparatus for intermediate representation of applications
EP3131014B1 (en) * 2015-08-10 2021-12-29 Accenture Global Services Limited Multi-data analysis based proactive defect detection and resolution
US9785535B2 (en) 2015-08-10 2017-10-10 Accenture Global Services Limited Multi-data analysis based proactive defect detection and resolution
US10146512B1 (en) 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
GB2555026A (en) * 2015-09-02 2018-04-18 Google Llc Software development and distribution platform
US10025701B2 (en) * 2016-05-16 2018-07-17 Google Llc Application pre-release report
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
JP6944177B2 (ja) * 2017-03-01 2021-10-06 株式会社デプロイゲート コミュニケーションプログラム、情報処理装置、及びコミュニケーション方法
CN107563205A (zh) * 2017-09-20 2018-01-09 杭州安恒信息技术有限公司 典型智能设备漏洞检测方法及渗透装置
US10733040B2 (en) 2018-02-01 2020-08-04 Faro Technologies, Inc. Individual bug fixed messages for software users
CN111061410B (zh) * 2018-10-16 2021-08-13 华为技术有限公司 一种冻屏处理方法及终端
JPWO2020179833A1 (zh) * 2019-03-07 2020-09-10
KR102199247B1 (ko) * 2019-04-02 2021-01-07 넷마블 주식회사 버그 제보를 위한 게임 서비스 제공 시스템
US11182042B2 (en) * 2019-06-26 2021-11-23 Sap Se Application input and feedback system
US11443345B2 (en) 2019-06-27 2022-09-13 International Business Machines Corporation Application modification using software services
KR20210055387A (ko) 2019-11-07 2021-05-17 삼성전자주식회사 컨텍스트에 기반하여 애플리케이션을 제공하는 서버 및 그 제어 방법
US11645192B2 (en) 2020-03-11 2023-05-09 Nec Corporation Graph-based method for inductive bug localization
US20210304142A1 (en) * 2020-03-31 2021-09-30 Atlassian Pty Ltd. End-user feedback reporting framework for collaborative software development environments
CN115310099A (zh) * 2022-10-12 2022-11-08 北京盛邦赛云科技有限公司 漏洞坐标系建立方法、漏洞分析方法、装置及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168343A1 (en) * 2006-01-18 2007-07-19 Best Steven F Method and system for automatic identification and notification of relevant software defects
CN101155230A (zh) * 2006-09-29 2008-04-02 海尔集团公司 一种网络家电故障反馈系统
TW200837558A (en) * 2007-01-15 2008-09-16 Microsoft Corp Objective assessment of application crashes from a customer environment
WO2009054847A1 (en) * 2007-10-23 2009-04-30 Qualcomm Incorporated Management of failures in wireless field devices
CN103038752B (zh) * 2010-05-19 2016-04-13 谷歌公司 一种用于管理软件问题报告的方法、系统和设备

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996038733A1 (en) * 1995-06-02 1996-12-05 Pure Software, Inc. Remote monitoring of computer programs
US6725399B1 (en) * 1999-07-15 2004-04-20 Compuware Corporation Requirements based software testing method
US6665824B1 (en) * 2000-05-15 2003-12-16 Microsoft Corporation System and method for handling a failure reporting conversation
US7657872B2 (en) * 2000-10-23 2010-02-02 Nintendo Of America Inc. Product testing and bug tracking system
JP2002149855A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd ソフトウェア問題管理システム
US7234131B1 (en) 2001-02-21 2007-06-19 Raytheon Company Peer review evaluation tool
AU2002240429B2 (en) 2001-02-22 2007-12-13 Accenture Global Services Limited Distributed development environment for building internet applications by developers at remote locations
US6978441B2 (en) * 2001-10-03 2005-12-20 Sun Microsystems, Inc. Rating apparatus and method for evaluating bugs
US7401321B2 (en) 2003-04-14 2008-07-15 International Business Machines Corporation Method and apparatus for processing information on software defects during computer software development
US20050097516A1 (en) 2003-11-05 2005-05-05 Microsoft Corporation Extensible and dynamically-configurable problem-reporting client
US7603653B2 (en) 2004-03-15 2009-10-13 Ramco Systems Limited System for measuring, controlling, and validating software development projects
US20060015840A1 (en) 2004-03-31 2006-01-19 Wendall Marvel Parameter-based software development, distribution, and disaster recovery
US7509626B1 (en) 2004-03-31 2009-03-24 Sprint Communications Company Demonstrating proof of concept of a project with requirements component providing weights on importance and tracking with use cases
US20060168569A1 (en) * 2005-01-26 2006-07-27 Microsoft Corporation Beta parser
US8126760B2 (en) * 2005-03-25 2012-02-28 Microsoft Corporation Work item tracking system for projects
US7458064B2 (en) * 2005-04-11 2008-11-25 Microsoft Corporation Methods and apparatus for generating a work item in a bug tracking system
US7739653B2 (en) * 2005-07-05 2010-06-15 Microsoft Corporation Representing software development item relationships via a graph
US7743360B2 (en) * 2005-07-05 2010-06-22 Microsoft Corporation Graph browser and implicit query for software development
US7614043B2 (en) 2005-08-26 2009-11-03 Microsoft Corporation Automated product defects analysis and reporting
US7305325B2 (en) * 2006-01-12 2007-12-04 International Business Machines Corporation Method to improve requirements, design manufacturing, and transportation in mass manufacturing industries through analysis of defect data
JP2007272443A (ja) 2006-03-30 2007-10-18 Hokkaido Univ 開発支援装置、開発支援方法および開発支援プログラム
US9047164B2 (en) * 2006-09-12 2015-06-02 Opshub, Inc. Calculating defect density by file and source module
US20080141221A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Using recorder technology to find defects in software applications
US8949770B2 (en) * 2007-04-03 2015-02-03 Ldra Technology, Inc. Automated management of software requirements verification
JP2008271126A (ja) 2007-04-19 2008-11-06 Ntt Docomo Inc 移動端末装置、移動端末装置の診断方法
US7890814B2 (en) 2007-06-27 2011-02-15 Microsoft Corporation Software error report analysis
US20110010214A1 (en) * 2007-06-29 2011-01-13 Carruth J Scott Method and system for project management
US7895470B2 (en) * 2007-07-09 2011-02-22 International Business Machines Corporation Collecting and representing knowledge
US8448138B2 (en) * 2008-01-15 2013-05-21 Microsoft Corporation Recording user-driven events within a computing system
US7512933B1 (en) 2008-01-27 2009-03-31 International Business Machines Corporation Method and system for associating logs and traces to test cases
US8099332B2 (en) * 2008-06-06 2012-01-17 Apple Inc. User interface for application management for a mobile device
US8271949B2 (en) * 2008-07-31 2012-09-18 International Business Machines Corporation Self-healing factory processes in a software factory
US20100070231A1 (en) * 2008-09-05 2010-03-18 Hanumant Patil Suhas System and method for test case management
CN102257502B (zh) * 2008-12-18 2015-11-25 皇家飞利浦电子股份有限公司 软件错误和性能缺陷报告系统
US9020943B2 (en) * 2009-01-07 2015-04-28 Oracle International Corporation Methods, systems, and computer program product for automatically categorizing defects
US8745153B2 (en) * 2009-02-09 2014-06-03 Apple Inc. Intelligent download of application programs
US20100235430A1 (en) * 2009-03-13 2010-09-16 Bruce Kim Methods and systems to provide services to a mobile device
US8418147B1 (en) * 2009-05-08 2013-04-09 Versionone, Inc. Methods and systems for reporting on build runs in software development
US8438544B2 (en) * 2009-06-18 2013-05-07 International Business Machines Corporation Open systems developer portal and managing software development projects
US8332808B2 (en) * 2009-10-21 2012-12-11 Celtic Testing Expert, Inc. Systems and methods of generating a quality assurance project status
US8407724B2 (en) * 2009-12-17 2013-03-26 Oracle International Corporation Agile help, defect tracking, and support framework for composite applications
US20110252405A1 (en) 2010-04-10 2011-10-13 Ilan Meirman Detecting user interface defects in a software application
US20110321007A1 (en) * 2010-06-29 2011-12-29 International Business Machines Corporation Targeting code sections for correcting computer program product defects using records of a defect tracking system
EP2641179B1 (en) * 2010-11-21 2019-01-02 Verifyter AB Method and apparatus for automatic diagnosis of software failures
CA2773930C (en) * 2011-04-12 2017-03-07 Accenture Global Services Limited Prioritization and assignment manager for an integrated testing platform
US20130104105A1 (en) * 2011-04-18 2013-04-25 Julian M. Brown Test data supply chain manager for an integrated testing platform
US8826222B2 (en) * 2011-08-02 2014-09-02 International Business Machines Corporation Pre-merge conflict avoidance
US9491072B2 (en) * 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168343A1 (en) * 2006-01-18 2007-07-19 Best Steven F Method and system for automatic identification and notification of relevant software defects
CN101155230A (zh) * 2006-09-29 2008-04-02 海尔集团公司 一种网络家电故障反馈系统
TW200837558A (en) * 2007-01-15 2008-09-16 Microsoft Corp Objective assessment of application crashes from a customer environment
WO2009054847A1 (en) * 2007-10-23 2009-04-30 Qualcomm Incorporated Management of failures in wireless field devices
CN103038752B (zh) * 2010-05-19 2016-04-13 谷歌公司 一种用于管理软件问题报告的方法、系统和设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110546619A (zh) * 2017-04-24 2019-12-06 微软技术许可有限责任公司 源自监测系统的警报的机器学习决策指导
CN110546619B (zh) * 2017-04-24 2023-09-12 微软技术许可有限责任公司 自动确定检测到的问题是否是bug的方法、系统和介质
US11809304B2 (en) 2017-04-24 2023-11-07 Microsoft Technology Licensing, Llc Machine learned decision guidance for alerts originating from monitoring systems
TWI767182B (zh) * 2019-05-24 2022-06-11 大陸商中國銀聯股份有限公司 基於h5的接入組件及移動終端
CN110990427A (zh) * 2019-12-16 2020-04-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质

Also Published As

Publication number Publication date
US20150234699A1 (en) 2015-08-20
US9323598B2 (en) 2016-04-26
US20160299756A1 (en) 2016-10-13
CA2798759A1 (en) 2011-11-24
US8381189B2 (en) 2013-02-19
WO2011146750A3 (en) 2012-01-26
EP2572282A2 (en) 2013-03-27
CA2798759C (en) 2018-09-04
KR101789266B1 (ko) 2017-11-20
CN105868039B (zh) 2019-09-06
WO2011146750A2 (en) 2011-11-24
CN103038752A (zh) 2013-04-10
US10007512B2 (en) 2018-06-26
AU2011255477B2 (en) 2015-04-02
JP6165922B2 (ja) 2017-07-19
EP2572282A4 (en) 2017-04-26
JP2016173844A (ja) 2016-09-29
KR20170119725A (ko) 2017-10-27
JP2013531839A (ja) 2013-08-08
CN103038752B (zh) 2016-04-13
US20110314438A1 (en) 2011-12-22
KR20130114592A (ko) 2013-10-17
US8898637B2 (en) 2014-11-25
AU2011255477A1 (en) 2012-11-22
JP5937577B2 (ja) 2016-06-22
US20120023475A1 (en) 2012-01-26
KR101829406B1 (ko) 2018-02-19

Similar Documents

Publication Publication Date Title
CN105868039A (zh) 一种用于管理软件问题报告的方法、系统和设备
Tomlinson et al. The use of mobile phones as a data collection tool: a report from a household survey in South Africa
US7747494B1 (en) Non-determinative risk simulation
US7752125B1 (en) Automated enterprise risk assessment
US8423954B2 (en) Interactive container of development components and solutions
US8095911B2 (en) Method and system for utilizing development components
US20070250405A1 (en) Method and system for identifying reusable development components
US20070233681A1 (en) Method and system for managing development components
US20080172414A1 (en) Business Objects as a Service
US20090070152A1 (en) Systems and methods for dynamic quote generation
US20080295100A1 (en) System and method for diagnosing and managing information technology resources
US20070250932A1 (en) Integrated enterprise-level compliance and risk management system
JP2004527805A5 (zh)
WO2022241945A1 (zh) 一种数据处理方法、设备以及计算机可读存储介质
US20220383422A1 (en) Systems and Methods for Computerized Loss Scenario Modeling and Data Analytics
De API Developer Portal
Radeck Automated deployment of machine learning applications to the cloud
Rajapaksha Incident Management System for People’s Bank
Mgcina The enhancement of network operations centres operating models through the use of data analytics
Deepadharshini et al. Probabilistic Model Deployement for Fake URL Clicks on Designated Mobile Application
Kanarek et al. Internet data collection at the US census bureau
CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST Study of Integration Considerations for Wireless Emergency Alerts

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant