JP6165922B2 - バグクリアリングハウス - Google Patents

バグクリアリングハウス Download PDF

Info

Publication number
JP6165922B2
JP6165922B2 JP2016095944A JP2016095944A JP6165922B2 JP 6165922 B2 JP6165922 B2 JP 6165922B2 JP 2016095944 A JP2016095944 A JP 2016095944A JP 2016095944 A JP2016095944 A JP 2016095944A JP 6165922 B2 JP6165922 B2 JP 6165922B2
Authority
JP
Japan
Prior art keywords
application
developer
store
online
reported
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.)
Active
Application number
JP2016095944A
Other languages
English (en)
Other versions
JP2016173844A (ja
Inventor
ヤセク・スラシュスキー
ジェイソン・ビー・パークス
ダビド・ドゥダ
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 JP2016173844A publication Critical patent/JP2016173844A/ja
Application granted granted Critical
Publication of JP6165922B2 publication Critical patent/JP6165922B2/ja
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/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/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/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

Description

この出願は、2010年5月19日に出願された米国仮出願シリアルNo.61/34
6453、発明の名称が“バグクリアリングハウス”の優先権を主張し、その全内容が参
照によってここに組み込まれる。
この出願は、ソフトウェアアプリケーションに対する問題に関する情報の管理および分
散に関する。
ソフトウェア開発は、困難なビジネスである。将来のソフトウェア開発者は先ず、ソフ
トウェアのアーキテクチャリングおよびプログラミングについて訓練する必要がある。そ
の後、絶え間なく変わるプログラミング言語および技術を最新のものに維持する必要があ
る。そして、アイデアを有する必要がある。開発者は次いで、対象のコンピューティング
プラットフォーム上で利用可能なリソース内で、および自分の時間ないしは資金的制約内
で、プログラミングを介してどのようにアイデアを実装するかを考え出す必要がある。ま
た、異なる設定でプログラムを人々に対して検証して、プログラムのバグを修正するよう
に訂正を行う必要がある。次いで、開発者はどのように、ソフトウェアの値段を付けて、
分散(distribute)して、人々にその興味を持たせるかを考え出す必要がある。
高度なプログラミング環境は、これらの問題の一部を解決するのに役立ち、即ち組織を
設立し、コードのタイピングをより自動化することである。また、スマートフォンおよび
ネットブックのようなワイヤレスコンピューティングデバイスに関するオンラインアプリ
ケーションストアの最近の到来は、規模の小さい開発者にとってより簡単にソフトウェア
を市場に出して販売することを可能にした。これらの開発の両方によって、ソフトウェア
開発者およびそのソフトウェアを購入する人々の生活をより良いものにした。一方で、ソ
フトウェア開発者の生活が辛い一面もある。例えば、プログラムのユーザからフィードバ
ックを取得して、効果的な方法でそのフィードバックを分析するのが困難なことがある。
例えば、多数の開発者は、消費者がフィードバックを提供できるアプリケーションを電子
メールリンクに提供する。
本明細書は、ソフトウェア開発者に対して、特にスマートフォン等のワイヤレス携帯コ
ンピューティングデバイスのユーザのための第三者オンラインアプリケーションストアを
介してアプリケーションを販売および分散するソフトウェア開発者に対して、問題、即ち
バグの報告を管理するためのシステムおよび技法を検討する。例えば、開発者は、一般の
アプリケーションストアを提供するシステムで登録される個人のプログラマでもよく、そ
れにより開発者は、全て精通した周知の方法で、アプリケーションストアから購入を行う
ために登録されている一般のメンバーに対するアプリケーションの分散のために、アプリ
ケーションストアにアプリケーションをアップロードできる。特定のソフトウェアアプリ
ケーション、および/または1つまたは複数の携帯コンピューティングデバイス上で実行
するオペレーティングシステムは、問題、即ちバグ(例えば、アプリケーションクラッシ
ュまたはフリーズ、過度の電力消費量、またはデバイスのユーザがアプリケーションを改
善するための問題またはアイデアを手動で報告すること)がある時、情報を収集するよう
にプログラムされてもよく、アプリケーションストアに関連付けられ、アプリケーション
ストアを経営する同一の組織によって経営される報告サブシステムに、問題に関するデー
タを送信してもよい。
報告サブシステムは、(デバイスによって自動的に生成されるか、またはデバイスのユ
ーザによって手動で生成される)そのような入力バグ報告の提供の各々を、問題の対象に
なったコンピュータアプリケーション(例えば、開かれたアプリケーションおよび/また
はフリーズまたはクラッシュが生じた時のオペレーティングシステムの焦点)に関連付け
ることができ、問題を特徴付ける情報を格納できる。情報は、アプリケーションに対して
、および拡張によりアプリケーションの開発者に対して関連付けられるような方法で格納
されてもよい。開発者(アプリケーションストアにソフトウェアを提供した個人またはそ
の個人のエージェントでもよい)は、次にシステムにログオンする時、開発者は、自分が
アップロードしたソフトウェアアプリケーションに関する報告を引き出すことができ、こ
こで報告は、そのようなソフトウェアアプリケーションの各々に関する全ての報告された
問題に対する全データを集約し、またアプリケーションに関する問題の種類および程度を
示す。
そのような報告は、例えば携帯コンピューティングデバイスが問題を経験して対応する
データを生成したユーザに関するプライバシーを維持するために、報告サブシステムによ
ってそこから除去された特定の情報を有することがある。サブシステムによって開発者に
提供される情報のレベルはまた、サブシステムが開発者に対して有する信用のレベルに依
存することができる。また、ユーザは、共有されうる情報のレベルに関して通知されても
よく、そのような情報の使用を許可または不許可するかを選択してもよい。
報告は、アプリケーションまたは複数のアプリケーションに関する問題の発生の頻度を
示す要約報告、アプリケーションに関する特定タイプの全問題をリストし、問題(例えば
、どのコード部分に問題が生じたか)を記述するデータを提供するエラー報告、および問
題がデバイス上で生じた時に各コンピューティングデバイスの状態に関する情報を示すス
タックトレース等、各種精通した形式を取ってもよい。
また、システムは、多数のアプリケーションにわたって第三者プロバイダにより広く役
立つデータを生成してもよい。例えば、アプリケーションストアを経営する組織は、アプ
リケーションストアにアクセスする携帯デバイスにオペレーティングシステムを提供し、
多数のアプリケーションに関する問題データは、各種方法で“ロールアップ(roll up)
”されて集約データおよび結果報告を生成し、オペレーティングシステムに関する問題が
あるかを判断してもよい。例えば、そのようなデータは、特定のオペレーティングシステ
ムまたはインタフェースにアクセスする時に多数の異なるアプリケーションがフリーズを
経験していることを示す場合、第三者プロバイダは、サービスまたはインタフェースに関
するコードに問題の可能性があることを警告されうる。
そのようなシステムおよび技法は、特定の実施形態で1つまたは複数の利点を提供しう
る。例えば、開発者は、単に特定の開発環境を使用して、自分の持つバグ追跡システムを
設定する高度な会社にのみ利用可能な診断機能を備えてよい。デバイスのユーザは、各種
開発者から改善されたアプリケーションを受信でき、多数の異なる開発者からの多数の異
なるアプリケーションにわたって一貫している都合の良い方法でバグ報告を可能にする。
そしてオペレーティングシステムおよび/または関連アプリケーションストアのようなプ
ラットフォームのプロバイダは、開発者およびデバイスのユーザに対するそのプラットフ
ォームの望ましさ(desirability)を改善しうる。
1つの実施形態では、ソフトウェア問題報告を管理するためのコンピュータ実装された
システムが検討される。システムは、多数の異なる開発者組織からのソフトウェア開発者
を登録するために登録サブシステムを含む。システムはまた、複数のアプリケーション開
発者からの複数のアプリケーションを一般のメンバーが獲得できるようにするアプリケー
ションストアを含む。システムはまた、アプリケーションストアを使用して分散されたア
プリケーションに関する問題の報告を受信し、問題に関するデータを受信し、特定の開発
者または特定のアプリケーションの開発者にデータを関連付けるようにプログラムされた
アプリケーションバグ追跡装置を含む。また、システムは、1つまたは複数のアプリケー
ションを提供した開発者に関する1つまたは複数の問題報告を生成するために報告生成装
置を含み、問題報告は、開発者によってアプリケーションストアに提供された特定のアプ
リケーションに関する問題に関するデータについての情報を含む。
実施形態は、以下の特徴の全てを含むかまたは含まなくてもよい。問題の報告は、アプ
リケーションクラッシュ、アプリケーションフリーズ、過度のバッテリ使用、および手動
で起動されたコンピューティングデバイスのユーザコメントからなるグループから選択さ
れた問題を含むことができる。システムはまた、問題の報告が特定のコンピューティング
デバイスモデルまたはコンピュータオペレーティングシステムに関する問題を示すか否か
を特定するために多数のアプリケーションにわたって問題の報告を分析するようにプログ
ラムされたバグ分析装置を含むことができる。バグ分析装置はまた、特定のデバイスモデ
ルまたはオペレーティングシステムバージョンに関して統計的に比較的高い報告頻度を特
定することによって、問題の報告が特定のコンピューティングデバイスモデルまたはコン
ピュータオペレーティングシステムに関する問題を示すことを特定できる。システムは、
開発者が取得する権利を有する特定のアプリケーションのユーザに関する情報がどれくら
いあるかを特定する信用レベルに基づき、開発者に提供される情報を制限するように配列
されうる。システムはまた、開発者が、特定の問題が生じた装置に対するオペレーティン
グシステムを管理する組織からのコアアプリケーションの開発者であるか否かに基づき、
開発者に提供される情報を制限するようにプログラムされうる。
また、システムは、問題のタイプに従って、問題に関する情報をグループ化するように
配列されうる。システムは、特定の問題が生じたデバイスに対するオペレーティングシス
テム識別子およびデバイスタイプを示す情報を提供するように配列されうる。システムは
また、開発者からのアプリケーションのアップロードを受け入れ、アプリケーションがア
ップロードされた開発者アカウントに各アプリケーションを関連付ける、開発者アップロ
ードインタフェースを含みうる。システムは、特定の開発者に対する異なるバグの割合か
ら判断される深刻レベルによってソートされるバグを、開発者に提供するようにプログラ
ムされうる。
1つの局面では、ソフトウェア問題を管理するためのコンピュータ実装された方法は、
中央サーバシステムから離れた複数の異なるコンピューティングデバイスから複数のソフ
トウェアアプリケーション問題報告を中央サーバシステムで受信することを含む。システ
ムはまた、特定のソフトウェア開発者によって提供された特定のアプリケーションに、問
題報告の特定の1つを関連付けることを含む。また、システムは、特定の開発者の1人か
ら識別情報を受信することを含む。システムはまた、識別情報の受信に応じて、1人の開
発者によって中央サーバシステムで管理される特定のアプリケーションに関する問題報告
を記述する情報を、特定の開発者の1人に提供することを含む。
実施形態は、以下の特徴の全てを含むか、または含まなくてもよい。ソフトウェアアプ
リケーション問題報告は、フリーズ、クラッシュ、およびユーザにより生成されたコメン
トに関する報告を含みうる。また、ソフトウェアアプリケーション問題報告は、特定の問
題報告を生成したデバイスに関するトレースデータ、およびデバイスの構成に関する情報
を含みうる。システムはまた、複数のソフトウェア開発者からソフトウェアアプリケーシ
ョンアップロードを受信し、アプリケーションに関する開発者アカウントに各アプリケー
ションを関連付けることを含みうる。
図1Aは、多数の開発者からのソフトウェアを分散し、ソフトウェアの動作に関する情報を集めるためのシステム100を示す概念図である。 図1Bは、ソフトウェアアプリケーションの動作上のフィードバックを提供するための動作を示すフロー図である。 図2は、それらデバイス上のソフトウェアアプリケーションの動作に関するコンピューティングデバイスからの提供を追跡するためのシステム200の概略図である。 図3は、ソフトウェア問題報告を管理するためのプロセスのフローチャートである。 図4は、多数の開発者からのソフトウェアに関する問題の提供を管理するためのプロセスのスイムレーン図である。 図5Aは、ソフトウェアアプリケーションに関して動作上の問題を受けた携帯コンピューティングデバイスの例示的なスクリーンショットである。 図5Bは、ソフトウェアアプリケーションに関して動作上の問題を受けた携帯コンピューティングデバイスの例示的なスクリーンショットである。 図6Aは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図6Bは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図6Cは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図7は、包括的なコンピュータデバイス700および包括的な携帯コンピュータデバイス750の例を示す。
本明細書は、ソフトウェアアプリケーションの動作上のフィードバックを提供するため
に使用されうる各種技術および技法を開示する。具体的な例では、互いに独立している(
例えば、同じ会社で働いていない、同じドメインから働いていない、または共通のソフト
ウェア開発システムを共有していない)ソフトウェア開発者の分散したグループは、コン
ピューティングデバイスの各種ユーザがアプリケーションをレビューおよびダウンロード
し、しばしばアプリケーションを購入またはライセンスの料金を払うことができる(各開
発者が支払いの割り当てを受け取る)アプリケーションストアにそのソフトウェアアプリ
ケーションをアップロードすることがある。デバイス上のオペレーティングシステムは、
スタックトレースを維持し、そのような情報を、デバイスに問題、即ちバグがある時、中
央サーバシステムにそのような情報を報告することを含む、デバイス上の問題の一般的な
エラー処理を実行することができる。そのような情報は、改善策を取ることができ、関連
するソフトウェアコードが訂正および更新できるように、問題の原因を診断しようと試み
る訓練された個人によって共通に使用される。
ここに開示される例では、各種コンピューティングデバイスから提供されるデータの一
部はまた、問題を起こしたか、または問題が生じた時にアクティブだったコードを提供し
た開発者がレビューできるように作成されうる。そのような動作は、問題が生じた時に関
連するアプリケーションまたは複数のアプリケーションを特定し、問題に関する情報をア
プリケーションまたは複数のアプリケーションを特定する情報とともに、中央サーバシス
テムに提供するオペレーティングシステムによって生じうる。中央サーバシステムは次い
で、ソフトウェアアプリケーション識別子に関連してデータを格納でき、そのような識別
子はまた、アプリケーションの開発者を特定するために使用されうる。(アプリケーショ
ンストアまたはオペレーティングシステムの経営者と比較して全く異なる個人または組織
でありうる)そのような開発者がシステムにログインし、自分のコードに関する問題の報
告を要求する時、システムは、問題データが格納されているデータベースに問合せて特定
の開発者に関する全データを発見し、各種方法でデータをフィルタ処理してグループ化す
る1つまたは複数の報告を生成できる。一例として、個人的に特定可能な情報は、報告に
提供されるデータから除去されうるか、または曖昧(obscure)にされうる。また、データ
は、各アプリケーションに従って格納できるので、開発者は、多数のそのようなアプリケ
ーションを有する場合に、自分の各アプリケーションの相対的な動作に関する理解を素早
く得ることができる。
図1Aは、多数の開発者からのソフトウェアを分散し、ソフトウェアの動作に関する情
報を集めるためのシステム100を示す概念図である。一般に、システム100は、開発
者のグループとユーザのグループ(勿論、開発者の一部がユーザでもよく、その逆でもよ
い)との間に位置する中央サーバシステムを含む。中央サーバシステムは、開発者からソ
フトウェアコードアップロードを受信し、ユーザにコードダウンロードを提供し、ユーザ
からエラーまたは問題データを受信し、開発者への提示のためにそのようなデータをフィ
ルタ処理および整理(organize)する。
図をさらに詳細に参照すると、中央サーバシステムは、アプリケーションセンター10
2の形式でここに示される。アプリケーションセンター102は、ユーザセンター108
および開発者センター110をなす物理的構成要素および論理的構成要素を含む。そのよ
うな構成要素は例えば、それぞれユーザおよび開発者にサービスを提供するためのユーザ
インタフェースを生成するフロントエンドまたはウェブサーバを含むことができる。ユー
ザセンター108はこの例では、アプリケーションセンター102の経営者によって開発
された特定のソフトウェアオペレーティングシステムを動作させる携帯電話またはアプリ
ケーション電話(app phone)を獲得しているそれぞれ個人であるユーザ104と通信す
る。オペレーティングシステムを備えた全サービスの一部として、経営者は、携帯デバイ
スに関するソフトウェアアプリケーションのレビューおよび購入にアプリケーションセン
ター102が利用できるようにする。故に例えば、ユーザA(例えば、10代)は、複数
のビデオゲームをダウンロードした可能性があり、ユーザB(例えば、女性社員)は、ホ
ストされたクラウドベースのコンピューティングプラットフォームを利用する各種ビジネ
スアプリケーションをダウンロードした可能性があり、ユーザC(例えば、大学生)は、
(複数の電子書籍教科書と共に)電子書籍リーダアプリケーションおよび各種テスト準備
アプリケーションを、数学モデル化アプリケーションと共にダウンロードした可能性があ
る。各状況では、関連するユーザは、(自分の電話と共に出荷されたアプリケーションを
補足しうる)自分のダウンロードしたアプリケーションの各々を立ち上げ、類似の方法で
それと対話しうる。ユーザはまた、必要が生じる時、追加アプリケーションを発見してダ
ウンロードするために、アプリケーションセンター102を再訪問することができる。
時々、問題は、ユーザの104デバイスの各々上で生じることがある。例えば、ユーザ
は、複数のアプリケーションを同時に動作していることがあり、アプリケーションの1つ
にクラッシュを引起こすメモリオーバフロー条件を作り出すことがある。代わりに、アプ
リケーションは、それを閉じさせる動作を実行することにより、ユーザは、アプリケーシ
ョンが実行しているプロセスを終了する必要がある。代わりに、デバイスのユーザは、問
題提供プロセスを呼び出すことができ、それによりユーザは、アプリケーションのエラー
を特定するために、またはアプリケーションに対して改善された機能を提供するために、
フォームに書き込むことができる。これらのインスタンスおよび類似のインスタンスの各
々は、バグとしてここに集められて記載され、その点では、フィードバックがアプリケー
ションの開発者に与えられる必要があるソフトウェアアプリケーションに関する問題を示
す(但し、問題は結局、オペレーティングシステム、デバイスハードウェア、または別の
アプリケーションに起因すると判断されることがある)。
ここで示す通り、アプリケーションは、アプリケーションストア112から獲得でき、
それは、(アプリケーションストア112の経営者によって提供される最上位アプリケー
ションの一部に追加して)第三者によって提供されるアプリケーションが、ウェブページ
の一部として表示可能なウェブサイト等の類似の形式を取ることができ、そのウェブペー
ジ上には、ユーザによって選択された時、システム100でユーザのアカウントにログイ
ンされるデバイスに、特定の選択されたアプリケーションを供給またはダウンロードさせ
る制御が表示される。
ユーザセンター108はまた、バグ収集装置116を含み、それは、直接、またはアプ
リケーションのインスタンスの動作に関して報告するオペレーティングシステム構成要素
を介して、ユーザの104デバイスに分散されるアプリケーションのインスタンスと自動
的に通信するための構成要素を含む。バグ収集装置はまた、提供の時間および日付、デバ
イスに関するオペレーティングシステムおよびバージョン、デバイスの製造およびモデル
、問題イベントが生じた時にデバイス上で実行していた他のアプリケーション、最近のデ
バイスアクティビティのトレース、デバイスの構成データ、および他の類似の情報等の情
報を含む1つまたは複数のデータベースにデータを配列する等により、永続ストレージ(
persistent storage)に集められた情報を再フォーマットすることができる。
アプリケーションセンター102の他の“サイド”には、開発者106が示され、それ
は、ユーザ104のように、かなり多数存在し、地理的に分布されてもよい。特に、ユー
ザ104および開発者106は、世界中に広がっていてもよく、インターネットを含む各
種ネットワークを介してアプリケーションセンター102にアクセスできる。一例として
、システム100は、何千または何万ものアクティブな開発者106および何十万または
何百万(または一億)ものアクティブなユーザ104を有することができる。ここで示す
技法は特に、比較的大きなユーザのデータが各開発者に供給され、そのようなシステムの
開発者は、比較的小規模であり、独自のバグ報告システムを開発できないような、大きな
開発者の基盤を備えたシステムで、都合よく作動する。
開発者センター110の第1のメイン構成要素は、アプリケーションマネージャ114
である。この構成要素は、ユーザに関するアプリケーションストア112の反対側でもよ
い。特に、アプリケーションマネージャ114は、システム100の正当な開発者メンバ
ーとして登録するために、および自分が開発したアプリケーションに関するコードまたは
自分が商品流通を管理しているコードを後でアップロードするために、開発者がアクセス
または対話しうるウェブサーバおよび関連するソフトウェアを含むことができる。アプリ
ケーションマネージャ114はまた、複数の追加サービスを提供でき、それは一般に、開
発者と対話することで周知であり、開発者が自分のアプリケーションを都合よく管理でき
るようにする。
バグ報告装置118は、バグ収集装置116に対する開発者サイドのものとして機能し
、(楽観的な開発者は、問題を機会としてみなすかもしれないが)問題がソフトウェアに
関して生じる時、ソフトウェア分散を達成し、および開発者106で開始し、アプリケー
ションマネージャ114およびアプリケーションストア112に移動し、次いでアプリケ
ーションを獲得および実行するユーザ104に移動し、バグ収集装置116、バグ報告装
置118、および開発者106に戻るフィードバックサイクルを達成する。
バグ報告装置118は特に、開発者106との対話のためのウェブサーバシステムと、
各開発者に対応するアプリケーションに関して、ユーザの104デバイスによって経験さ
れた問題に関するデータを提供するための報告生成機能とを提供する。報告は、標準(st
andard)またはカスタムフォーマットでもよい。標準報告は、(ここでは単一のエンティ
ティとして示されるが、互いに協働する多数の異なる組織によって経営されうる)アプリ
ケーションセンター102の経営者によって開発されてもよく、どのように自分の各アプ
リケーションが実行しているかを見ている開発者によって簡単にアクセスおよび生成され
てもよい。カスタム報告は、各個人の開発者によって形成されてもよく、周知のグラフィ
カル報告開発ツールを使用してもよい。例えば、開発者は、自分の報告で見たいデータの
特定のフィールドを選択することがあり、自分の報告の視覚的様子を定義してもよい。開
発者はまた、生データの形式で(報告行為がユーザ104間で生じた時にバッチ形式およ
びリアルタイムの両方で)報告を受信し、自分の機器を使用してデータに関して操作およ
び報告してもよい。また、開発者106は、自分が見たい集約報告を定義してもよい。例
えば、開発者が一式の製品(例えば、業績の一式)を開発した場合、開発者は、一式の各
構成要素に共通なパラメータに関するセクションと、各構成要素および特定の構成要素に
固有なデータに関する分離セクションとを含む報告を望むことができる。
これらの方法では、システム100は、注意を必要としうる開発者のソフトウェア内の
バグに関する拡張した役立つフォーマットデータを開発者106に提供できる。特定の開
発者は、(オペレーティングシステムが、実行している時にアプリケーションを特定でき
るメカニズムを提供するのではなく、)特定のデータを得るために、自分のソフトウェア
に関して何もしないでよい。特定のインスタンスでは、開発者は、APIを介して等、追加
のデータを報告させてもよいが、再び、開発者は、バグ提供(bug submission)を受信
するために、クライアントデバイス上のデータを収集するために、および全アプリケーシ
ョンメンテナンスシステムをも実装するために、全システムを実装する必要がない。結果
として、入門レベルの開発者は、自分のアプリケーションを改善するためにプログラムの
利益を得ることができ、アプリケーションの消費者は、同様に利益になる。
図1Bは、ソフトウェアアプリケーションの動作上のフィードバックを提供するための
動作を示すフロー図である。一般に、アプリケーション開発者が自分のソフトウェアアプ
リケーションを一般の人に利用可能にして、アプリケーションの動作上のフィードバック
を受信し、それによりアプリケーションを容易に、および迅速に改善できる例を説明する
ために、グラフィカルな時系列がここで示され、左上の角で開始し、右下の方で終了する
動作120では、アプリケーション開発者は、携帯アプリケーションマーケットにアプ
リケーションを提供する。提供は、各種適切な方法でもよく、開発者は、アプリケーショ
ンを正当化するのを助ける自己署名証明書をアプリケーションに提供し、システムにセキ
ュリティを提供できる。動作122は、同じ開発者によって、または他の開発者によって
先にアップロードされた可能性がある3つの他のアプリケーションと共に、携帯アプリケ
ーションマーケット内のアプリケーションの存在を示す。アプリケーションの“所有権”
は、アプリケーションをアップロードした、通常は実際の開発者か、または開発者の代わ
りに働く者でありうるユーザのアカウントにアプリケーションを関連付けることによって
維持できる。
動作124では、携帯コンピューティングデバイス(例えば、スマートフォンまたはア
プリケーション電話)のユーザは、携帯アプリケーションマーケットを訪問し、自分のア
カウント下でシステムにログインすることにより自分自身を特定している。ユーザは次い
で、動作120でアップロードされたアプリケーションを選択し、アプリケーションは、
インストールされ、周知の方法で、携帯デバイスのユーザによる実行に備えている。
動作126では、爆発のアイコンは、アプリケーションが携帯デバイス上で動作してい
る間、エラーの発生を示す。エラーは、クラッシュまたは動かなくなる状況を含んでよく
、またはアプリケーションに関するフィードバックを提供する意図を手動で示すデバイス
のユーザに起因することがある。そのようなイベントは、装置上で実行するオペレーティ
ングシステムの構成要素によって等、イベントに関する診断情報を装置上に収集させうる
動作128では、エラーに関する報告は、携帯デバイス128上に収集され、それは、
携帯デバイスの動作およびデバイス上の各種アプリケーションを管理したオペレーティン
グシステムの制御下で生じうる行為である。例えば、オペレーティングシステムは、プロ
セスがデバイス上で終了するのに失敗した時を認識するためにプログラムされてもよく、
そのようなイベントは、オペレーティングシステムによって動作を収集およびフォーマッ
トする複数のデータをトリガしうる。例えば、トレース、スタック、レジスタ、または他
のエンティティの現在のコンテンツは、エラーが生じた時にデバイス上で実行していた全
ソフトウェア構成要素に関する識別子として判断されてもよい。そのような情報は次いで
、合意標準(agree-upon standard)に従って、情報の所定パケットへ共に収集されても
よい。
動作130では、報告または提供は、少なくとも概念的に、そのような報告に関して追
跡および報告のタスクを行う中央サーバシステム上で存在するかのように示される。この
例では、報告は、アプリケーションに対する特定のバグに対応するとして分類されており
、そこでは、3つの異なるバグが特定されている。そのような分類は例えば、関連するエ
ラーが生じた時にどの部分のコードが実行していたかを特定して、そのコード部分に関す
る識別子を提供することによって生じることがあり、それにより特定の報告は、バグ報告
の生成で共に加えられうる。特定のエラー提供(error submission)に割り当てられる
べきバグの特定は、バグトレースシステムのユーザの手動分類によることを含む、他の方
法でも実行できる。ここで示す通り、2つの他のバグは、特定されており、それらのバグ
に関して、それぞれ2および3つのエラー提案がある。故に、この例では、長期にわたり
、初期アプリケーションは、8つの異なるエラー提案に対応するとして特定されている。
そのような情報は、アプリケーションの開発者が知るのに重要なことがある。例えば、
3つのバグのうち1つは、アプリケーションのユーザの満足度に重要なことがある。開発
者がそのようなバグの種類を迅速に確認できた場合、開発者は、それを迅速に訂正して、
コードに関する“パッチ”を供給できる(パッチは、アプリケーションをダウンロードし
た全ユーザへ自動的に押し出されるが、ユーザには、そのような更新を拒絶するための機
会が与えられうる)。
動作132および134では、そのような開発者は、全てのその開発者のバグ提供に関
する報告を見ることを選択している。この例では、3つのバグが全システムで追跡されて
いるが、動作134に示す通り、バグのうち2つは、動作120からのアプリケーション
に関連付けられた。携帯アプリケーションマーケットまたは類似のサブシステムは、この
例では故に、特定のエラーに関する情報と、システムによって追跡されているバグの種類
を開発者に特定する情報とを示す報告を容易に生成しうる。
特定のインスタンスでは、最終報告で提供されるデータは、携帯デバイスからの提供で
アップロードされるデータとは実質的に異なることがある。例えば、個人的に識別可能な
情報は、アップロードされたデータから引き離されてもよく、それにより開発者は、デバ
イスのユーザに関して特定の判断を行えない。一例では、スタックトレースおよびクラッ
シュ時のデバイスに関する類似の情報は、提供されるが、他の情報(例えば、問題が生じ
た時にユーザが操作していたデータを反映しうる情報)が渡されないことがある。また、
詳細の特定レベルは、中央システムに関連するが、ほとんどの開発者に無関係であり、故
に動作134で報告から引き離されてもよい。
図2は、それらデバイス上のソフトウェアアプリケーションの動作に関するコンピュー
ティングデバイスからの提供を追跡するためのシステム200の概略図である。システム
200は、図1Aおよび1Bに関して上記で検討したそれらのように行為を実行するため
に使用されうる。システム200は、かなり単純な形式で明確性のために示され、特定の
物理的実装では、かなり多数の追加の構成要素を含みうる。
図を参照すると、システム200が示され、例えばラップトップおよびデスクトップコ
ンピュータを使用しているとして示される各種開発者212は、アプリケーションサーバ
システム202にアプリケーションを提供でき、見返りにお金と、その特定の各提供され
たアプリケーションの動作に関するフィードバックとを受け取る。そのようなアプリケー
ションは、ここではアプリケーションをダウンロードおよび実行可能なワイヤレス携帯デ
バイスを介して示される、各種ユーザ210によって購入または取得されうる。
開発者212およびユーザ210(またはより技術的には、そのデバイス)は一般に、
直接互いに通信しないが、代わりにインターネット等のネットワーク204を使用して、
アプリケーションサーバシステム202を介して通信しうる。そのようなオープン通信(
open communication)により、広範囲の各種開発者タイプおよびユーザは、システム2
00を使用できるようになる。
アプリケーションサーバシステム202の特定の構成要素は、システム200によって
ソフトウェアアプリケーションの使用を配置および追跡する機能を提供することができる
。例えば、マーケットプレースフロントエンド214は、ユーザ210に利用可能なアプ
リケーションを表示するユーザインタフェースを生成でき、それによりユーザは、そのよ
うなアプリケーションをレビュー、試行(try)、およびダウンロード可能になる。マー
ケットプレースマネージャ218は、購入を追跡し、ユーザ210への請求および開発者
212への送金額を生成し、およびアプリケーションストア実装の他の周知の機能により
等、マーケットプレースフロントエンド214に対してバックエンドサポートを提供する
ことができる。
開発者フロントエンド216は、上記および下記で説明する通り、開発者がシステム2
00に登録し、アプリケーションをアップロードし、自分のアプリケーションを管理し(
例えば、アプリケーションをアップデート、追加、削除し、自分のアプリケーションの売
上額を確認し)、自分のアプリケーションの動作上のフィードバックを受信できるように
するユーザインタフェースを生成できる。そのようなフィードバックを提供するにおいて
、フロントエンド216は、(例えば、クラッシュ、フリーズ、おおび手動のユーザ報告
によって特定されるような)バグが生じた携帯デバイスからのデータのアップロードを管
理しうるバグ報告生成装置220にアクセスできる。例えば、バグ報告生成装置は、ユー
ザデバイスからバグ報告データを受信する機能を持つことができ、バグレポジトリ222
のようなストレージに適するようにそれをフォーマットし、次いで開発者が自分の特定の
アプリケーションに関する報告確認を要求する時、格納されたデータの全部または一部を
読み出す。
バグ報告生成装置220または開発者フロントエンド216、またはその2つの組み合
わせは、開発者への配信に適するようにそのようなデータをフィルタ処理し、およびフォ
ーマットしうる。例えば、2つの構成要素は、ウェブページを生成するために協働し、報
告に対する開発者の要求に応じて開発者にページを送信できる。同様に、データは、デー
タの配給されたフィードを要求した開発者に効率的にストリームされうるので、開発者は
、自分がシステム200に到達するとリアルタイムでバグ報告を確認できる。そのような
リアルタイム報告は、開発者へのSMSメッセージ、XML転送(それにより例えば、開発者は
、独自のシステムで分析ツールを使用して、各種バグ報告を整理できる)、および他のそ
のようなメカニズム等、各種方法で生じることができる。
各種データストアはまた、システム200によって格納、アクセス、および管理されう
るデータの例示的形式で図示される。例えば、上記の通り、バグレポジトリは、ユーザ2
10から生じたバグ報告に関する情報を格納できる。バグ情報は、バグイベントが生じた
時に何が問題だったかを開発者または他の技術者が(少なくとも一部、少なくとも時々、
または他のバグ報告と組み合わせて)推測できるようにする診断情報を含みうる。バグレ
ポジトリはまた、特定の環境では、開発者212ではなくシステム200の内部にアクセ
ス可能であるべき情報を含みうる。そのような情報は、例えばバグ報告生成装置220お
よび/または開発者フロントエンド216によって、適切な方法でフィルタ処理されうる
認証データベース224は、開発者212およびユーザ210に関する認証情報を格納
できる。認証により、各種人々は、自分のアカウントに関連付けられた関連情報にアクセ
スし、システム200を介してアプリケーションの売買においてお金を支払い、または受
け取ることができるようになる。また、認証は、特定のデータに対する特定のユーザによ
るアクセスの適切なレベルを判断するために使用されうる。例えば、第三者の開発者は、
制限されたアクセスレベルに関連付けられた自分の認証を有することがあるので、自分の
アプリケーションに対するバグの報告を要求する時、個人情報は、アプリケーションのユ
ーザに対して匿名性を維持するためにフィルタ処理される。これに対し、内部のユーザは
、ユーザデバイス上の欠陥に関するデータへ比較的アクセスしやすい。
最後に、アプリケーションデータストア226は、開発者212によってアップロード
されたアプリケーション、およびシステム200の経営者によって初期にマーケットプレ
ース上に置かれたアプリケーションを含む、ユーザ210に利用可能に作成されるアプリ
ケーションを格納する。
サーバシステム202の外側では、ローカル開発者206がこの例でさらに示され、ア
プリケーションサーバシステム202と同じドメイン内でもよく、アプリケーションサー
バシステム202に対してプライベートネットワーク208上で通信しうる。ローカル開
発者は、アプリケーションサーバシステムを動作させる組織の従業員等、アプリケーショ
ンサーバシステム202の経営者によって信用されているプログラマでもよい。そのよう
なユーザは、各種方法でアプリケーションサーバシステム202によって特定されてもよ
く、開発者フロントエンド216は故に、開発者206がエラーデータへ比較的アクセス
しやすくし、データを分析するためのより強固なツールへアクセスできる。即ち、開発者
206は、開発者としてシステム200によって扱われるが、他の開発者212とは異な
って扱われる。
一例として、ユーザ210の一部は、アプリケーションサーバシステム202を提供し
た組織に提供される特定の個人識別可能なデータを有することに同意しているが、そのよ
うな情報を第三者と共有することを拒否している。ローカル開発者206は、開発者21
2よりもそのような状況で多くの情報にアクセスできる。そのような状況は、ユーザ21
0の視点から特に好ましいことがあり、その理由は、しばしばローカル開発者206は、
システムで最も役立ち、普遍的に配置されているアプリケーションのいくつか(例えば、
ワード処理および電子メール)を生成し、ユーザは、自分がプログラムを改善する必要が
ある全ての事項をそのような開発者に与えたいからである。
図3は、ソフトウェア問題報告を管理するためのプロセスのフローチャートである。一
般に、プロセスは、アプリケーションの開発者から各種コンピュータアプリケーションに
関するコンピュータコードを受信し、アプリケーションマーケットプレースの一般のメン
バーによってダウンロードおよび将来的に購入させるために利用可能なアプリケーション
を作成することを含む。各種アプリケーションがシステムの登録ユーザに関する各種コン
ピュータ上にインストールされた後、アプリケーションは、(例えば、クラッシュまたは
他の問題がある時に)警告を生成し始め、そのような警告の情報は、アプリケーションマ
ーケットプレースの経営者に中継して返されることができ、情報は、イベントを有した特
定のアプリケーションを提供した対応する開発者に利用可能に作成できるので、その開発
者は、自分のアプリケーションに関するコードを改善および編集できる。
プロセスは、ボックス302で開始し、プロセスは、開発者によるアプリケーションの
アップロードを受信する。開発者は例えば、大工のための計算器、特定の専門職に対する
検索ツール、または携帯コンピューティングデバイス上で実行できる他の類似のアプリケ
ーション等、特定分野の特定のニッチ問題(niche problem)を解決するために単一のア
プリケーションを書いた、自分の家で仕事をする個人のプログラマでもよい。開発者は代
わりに、アプリケーションマーケットプレース上で販売されるようなアプリケーションの
開発を事業とする小さなソフトウェア会社のような、個人のグループを含んでもよい。一
般に、開発者は、アプリケーションの販売によって生まれる収入、または各種ユーザにア
プリケーションを分散することからもたらされる利益に対して正当な権利を主張する団体
である。
ボックス304では、アプリケーションは、マーケットプレース上で利用可能に作成さ
れる。そのような動作は、類似の方法で生じることができ、アプリケーションのアイコン
およびテキスト記述のポスティングを含んでもよく、その両方は、開発者によってマーケ
ットプレースに提供される。アプリケーションは、支払いにより購入できるように作成さ
れ、または周知技術のフリーダウンロードができるように作成されうる。
ボックス306で、アプリケーションのインスタンスは、アプリケーションのコピーを
受信する権利(interest)を通信する購入者に配信される。結果として、アプリケーショ
ンのコピーは、アプリケーションストアまたはマーケットプレースにアクセスしているユ
ーザのユーザアカウントに関連付けられた携帯デバイスにダウンロードされうる。ユーザ
は次いで、自分がアプリケーションを購入したのと同時に、またはその後か、しばらく経
った後、アプリケーションをインストールし、自分のデバイス上でそれを実行するために
、適切な行為をとりうる。故に、特定のアプリケーションをダウンロードしたデバイスの
ユーザ、およびアプリケーションをダウンロードした他のユーザは、アプリケーションに
アクセスし、自由にアプリケーションと対話しうる。
アプリケーションのそのような対話は、アプリケーションの動作に対して問題のある結
果をもたらすことがある。1つのそのような結果は、クラッシュをもたらすことがあるア
プリケーションの故障、またはアプリケーションのハングアップ(またはアプリケーショ
ンが実行しているプロセス)を含む。もう1つの結果は、ユーザによるアプリケーション
に対する不満足であり、その理由は、アプリケーションが不正確に実行されているからで
あり、またはアプリケーションが特定の改善で良好に実行するとユーザが思うからである
。そのような状況では、ユーザの特定のクライアントデバイスは、デバイスから自動的に
、またはユーザから手動でデータを収集し、イベントのパラメータを特徴づけることがで
きる。上記説明した各種データは、オペレーティングシステムの構成要素またはアプリケ
ーションによって特定の実装で収集でき、イベント時におけるデバイスの現在のスクリー
ンショットのような他のデータに追加して、上記検討したような情報と、ユーザがアプリ
ケーションに追加したい一部の機能を示すワードのような、デバイスのユーザによってデ
バイスに入力されうる情報とを含むことができる。1度そのような診断情報が収集される
と、それは、クライアントデバイスからサーバシステムに送信でき、サーバシステムは次
いで、警告および他のクライアントデバイスから受信した他の警告に関する情報をフォー
マットおよび保存できる(ボックス310)。
そのようなフォーマットおよびフィルタ処理の実行では、中央サーバシステムはまた、
アプリケーションに対して生じる同じバグを示すイベントを特定するために、異なるイベ
ントのデータ間で共通のパラメータを特定できる。例えば、2つの異なるイベントに対す
るトレース情報が互いにかなり近く一致する場合、システムは、両方のイベントが共通の
バグの結果だったと推測できる。2つのイベントが同じバグから生じたかどうかを判断す
るための特定のパラメータは、重み付けされてもよく、その一方で他のパラメータは、イ
ベントが分類されるバグが特定のパラメータに関連するかどうかを判断するものでもよい
。そのように特定されるバグの各々には、識別番号が割り当てられてもよく、その番号は
、共通のバグを有すると判断される異なる警告データ間の相関関係を生成し、システムの
ソフトウェアの開発者に対して警告およびバグを記録するグループを提供するために後で
使用されてもよい。
ボックス312では、プロセスは、自分の対応するアプリケーションまたは複数のアプ
リケーションに関するバグ情報を、特定のアプリケーションまたは複数のアプリケーショ
ンの開発者に対してフォーマットおよび配信する。上記検討した通り、報告は、ウェブペ
ージの印刷報告、XLM形式のようなデータのブロック、またはイベント若しくはイベント
のグループがアプリケーションを動作している各種クライアントデバイスによってプロセ
スに報告される毎にデータ送信することを含むデータのストリームを含む、各種形式を取
ることができる。このように、開発者は、ユーザのデバイス上に生じるバグ生成イベント
に関する情報を取得でき、およびユーザおよび/またはユーザのデバイスがその情報を提
供できる。
図4は、多数の開発者からのソフトウェアに関する問題の提供を管理するためのプロセ
スのスイムレーン図であり、ソフトウェアは、多数の携帯コンピューティングデバイスに
わたってインストールされる。このプロセスは、図3のプロセスに類似するが、システム
の特定の構成要素によって実行されうる特定の例示的動作に関して詳述される。プロセス
は、ボックス402で開始し、開発者は、ソフトウェアアプリケーションを開発する。そ
のような開発は、アプリケーションのアーキテクチャ、アプリケーションに対するコード
のドラフト、およびアプリケーションに対するコードの一部をパッケージおよび配列する
ことを含みうる。一度アプリケーションが直ちに使用できるようになると、開発者は、類
似の方法でアプリケーション格納サーバシステムに登録およびログインし(ボックス40
4)、サーバシステムは、この方法で開発者に対する対話型セッションを開始しうる(ボ
ックス406)。アプリケーションのタイトル、アプリケーションに課せられる価格、ア
プリケーションのテキスト記述、ユーザのデバイスおよびアプリケーションストア上で提
供されるべきアプリケーションのアイコン、および他の適切なデータ等、アプリケーショ
ンに関するメタデータの適切な形式を提供した後、ユーザまたは開発者は、必要なメタデ
ータで自分のアプリケーションまたは複数のアプリケーションをアップロードしうる。
ボックス410では、アプリケーションストアサーバは、アプリケーションを登録し、
アプリケーションのパラメータを記述するデータとともにそれを格納するためのスペース
を生成し、アプリケーションストア上で利用可能な方法でアプリケーションをホストする
しばらく経ったある時点で、アプリケーションストアを閲覧しているユーザは、アプリ
ケーションを発見し、それを購入したいと思う。ボックス414では、ユーザは、アプリ
ケーションストアに対して登録およびログインし、その後ユーザとのセッションを開始す
る(ボックス416)。
ボックス418では、ユーザは、アプリケーションのアイコン上をクリックする等、ア
プリケーションをダウンロードするコマンドを供給し、次いでユーザがアプリケーション
を購入および取得したいことを確認するために特定のスクリーン上の選択可能な制御を選
択する。ボックス420では、アプリケーションストアは、ユーザの認証をチェックし、
ユーザがアプリケーションストアに対するアカウントを有することを確かめ、次いでユー
ザがそのようなアカウントを有する場合、ユーザにアプリケーションを提供する。代わり
に、サーバは、ユーザがアカウントを有さないと判断することがあり、将来ダウンロード
したアプリケーションに対して支払うユーザからクレジットカード情報を要求することを
含む、従来の方法でユーザからのそのような情報を要求しうる。
一度ユーザがアプリケーションをダウンロードすると、ユーザがそれの使用を開始し、
そのような使用は、特定の環境では、ボックス422に示す通り、エラーまたは問題とな
るイベントを生成することがある。エラーイベントの例は、上記にて提供され、デバイス
のフリーズ、デバイスのクラッシュ、またはアプリケーションに関して提供された改善ま
たは問題に関するユーザからの手動の報告を含んでもよい。ユーザのデバイスは次いで、
ボックス424でバグサーバに対して、イベントに関する診断情報と共にそのようなイベ
ントを報告し、データは、受信および記録されうる。クライアントデバイスからのそのよ
うな送信は、イベントを被る特定のアプリケーションによって、またはデバイス上に常駐
する異なるアプリケーションによって、オペレーティングシステム構成要素を介して生じ
うる。デバイスおよびバグサーバ間の特定の対話は、API標準によって確立されてもよく
、データが適切に送信されるような標準に従ってもよい。
プロセスは次いで、しばらく待機してもよく、他のユーザは、自分のデバイス上でアプ
リケーションを実行してもよく、その後それらデバイス上の問題に関するデータを報告し
てもよい。しかし、しばらく経ったある時点で、開発者は、アプリケーションが適切に開
いているかを確認したいと望むことがあり、故に最後にログインし(ボックス226)、
この時でも、開発者は、バグサーバからの情報を備えることができ、ボックス428でセ
ッションを開始しうる。1つの共通の対話は、開発者によって動作されるコンピューティ
ングデバイスによって作成される1つまたは複数の報告の要求(ボックス430)を含ん
でもよく、バグサーバはボックス432で、要求された報告を開発者に戻す機能があって
もよい。そのような機能は、バグサーバによって特定された特定のポストに従ってエラー
イベントデータを整理すること、および開発者が知らされた判断を作成するために必要な
データのみを受信し、アクセスする必要のないデータを受信しないように、データをフィ
ルタ処理することを含む。最後に、ボックス434では、開発者のデバイスは、ウェブペ
ージ等の上に記録または報告を表示し、それにより開発者は、1つまたは複数のデバイス
上で生じうるエラーに対処するために、それらをレビューでき、自分のソフトウェアを更
新するか否かおよびその方法に関する判断を行うことができる。
図5Aおよび5Bは、ソフトウェアアプリケーションに関して動作上の問題を受けた携
帯コンピューティングデバイスの例示的なスクリーンショットである。一般に、これらの
スクリーンショットは、エラーイベントが生じた時、オペレーティングシステム構成要素
によって、またはアプリケーションによって等、クライアントデバイス上で生成されうる
スクリーンの2つの例を示す。図5Aのスクリーンショットは、特定のプロセスが予想外
に停止したことによって、生成されている警告スクリーンを示す。スクリーンショットは
、何が発生したかについてユーザに示し、次いで対応するための2つのオプションをユー
ザに与える。特に、“強制終了(force close)”を選択して、ユーザは、プロセスをシ
ャットダウンするか、ひいてはユーザがデータを失うかもしれないことを理解した上でア
プリケーションをシャットダウンできる。ユーザはまた、問題に関する情報を報告するこ
とを選択でき、ユーザは、偏見がなく、アプリケーションの開発者を援助したいと思うか
、またはオペレーティングシステムがソフトウェアを改善することで、類似の予想外の停
止が将来発生しないようにする。
ユーザが“報告”オプションを選択すると、図5Bのスクリーンショットを表示させる
。ここで、ユーザは、どのように問題が中央サーバシステムに報告されるのかを制御する
パラメータが示される。特に、送信に適用される適切な個人情報保護(privacy policy
)は、ユーザレビューのために表示されることがあり、ユーザは、個人情報保護を訂正ま
たは更新するために適切な制御を行うことができる。また、ユーザには、空テキストボッ
クスが提示され、問題のコンテキストをオプションとして記述でき、例えば、“私は、ab
cアプリケーションにxyzをタイプし、一方同時に電話で話をして、Handbrakeでビデオ
を変換し、SETIに関してナンバークランチングを行い、フルレス(full res)一人称シ
ューティングゲームをプレイしていて、これといった理由もなく、アプリケーションが私
の前で停止した。”そのようなテキストは、問題に関する他の診断情報を備えるフィール
ドとしてやり過ごされてもよい。特定の環境では、ユーザは、バグが特に処理しにくく、
開発者がユーザへの電子メールまたは電話を必要とする場合、自分の連絡先を開発者に提
供する機会が与えられてもよい。代わりに、ユーザは、初めから任意の連絡先を提供する
ように尋ねられないが、開発者は、コメントをレビューする時、連絡先に関する要求を置
くことができ、システムは次いで、(thew)ユーザが応答しうるメッセージを生成する。
ユーザは次いで、問題に関してアップロードされる全データのビューが与えられる“プ
レビュー”ボタン、または情報のそのようなアップロードを引き起こす“送信”を選択で
きる。
図6A〜6Cは、ソフトウェア追跡システムによって生成される開発者報告の例示的な
スクリーンショットである。図6Aは、application com.android.launcher2のバグに関
する要約統計である。例えば、クライアントデバイスからの報告または提供の全数が、フ
リーズおよびクラッシュの両方に対する提供の現在比率として示される。
もう1つのインスタンスでは、デバイスのバッテリ電力および使用量に関する情報は、
実行アプリケーションに関する情報と共に報告されうる。例えば、バッテリの電力が突然
下がる場合、診断情報は、デバイスからアップロードできるので、中央の研究者(centra
l researcher)は、選挙需要(electoral demand)の原因を判断できる。例えば、特定
のアプリケーションは、そのようなイベントが生じた時はいつでもアクティブであるとし
てしばしば示される場合、中央システムは、アプリケーションがバッテリ消耗の原因であ
ると推測しうる。
図6Bは、複数の異なるアプリケーションまたはコードファイルに関するが、類似する
要約報告である。例えば、コード名は、それが失敗した時にそのコンテキストと、そのよ
うな失敗に関する報告数と、そのようなイベントの現在比率と共に示される。
図6Cは、特定のアプリケーションの特定の失敗に関する詳細報告を示し、そして失敗
のコンテキストに関するさらなる情報を示す。例えば、デバイスに関するスタックトレー
スは、特定の他の有益な情報として報告で示される。情報の一部は、ハイパーリンクされ
てもよく、それによりユーザは、何がここで表示されているかに関する追加のソースデー
タを確認できる。
図7は、包括的なコンピュータデバイス700および包括的な携帯コンピュータデバイ
ス750の例を示し、ここで説明される技術に使用されうる。コンピューティングデバイ
ス700は、ラップトップ、デスクトップ、ワークステーション、個人デジタル補助装置
、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ等、デジタ
ルコンピュータの各種形式を示すことを意図する。コンピューティングデバイス750は
、個人デジタル補助装置、セルラー電話、スマートフォン、および他の類似のコンピュー
ティングデバイス等、携帯デバイスの各種形式を示すことを意図する。ここに示す構成要
素、その接続および関係、およびその機能は、単に例示目的であって、本明細書で説明お
よび/または請求される発明の実施形態を限定することを目的としない。
コンピューティングデバイス700は、プロセッサ702、メモリ704、格納デバイ
ス706、メモリ704と高速拡張ポート710とに接続する高速インタフェース708
、および低速バス714と格納デバイス706とに接続する低速インタフェース712を
含む。構成要素702、704、706、708、710、および712の各々は、各種
バスを使用して相互接続され、共通のマザーボード上または他の適切な方法で搭載されう
る。プロセッサ702は、メモリ704内または格納デバイス706上に格納される命令
を含む、コンピューティングデバイス700内で実行に関する命令を処理し、高速インタ
フェース708に連結されるディスプレイ716のような外部入/出力デバイス上にGUI
に関するグラフィカル情報を表示することができる。他の実施形態では、多数のメモリお
よびメモリの種類と共に、多数のプロセッサおよび/または多数のバスを適切に使用でき
る。また、多数のコンピューティングデバイス700は、必要な動作の一部を提供する各
デバイス(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサ
システム)に接続されてもよい。
メモリ704はコンピューティングデバイス700内に情報を格納する。1つの実施形
態では、メモリ704は、揮発性メモリユニットまたは複数のユニットである。もう1つ
の実施形態では、メモリ704は、不揮発性メモリユニットまたは複数のユニットである
。メモリ704はまた、磁気または光学ディスク等、コンピュータ読取可能な媒体の他の
形式でもよい。
格納デバイス706は、コンピューティングデバイス700に大容量ストレージを提供
できる。1つの実施形態では、格納デバイス706は、フロッピー(登録商標)ディスク
デバイス、ハードディスクデバイス、光学ディスクデバイス、またはテープデバイス、フ
ラッシュメモリまたは他の類似の個体メモリデバイス、またはストレージエリアネットワ
ークまたは他の構成のデバイスを含むデバイスアレイ等、コンピュータ読取可能な媒体で
あるか、または含んでもよい。コンピュータプログラム製品はまた、情報キャリアに有形
に具現されうる。コンピュータプログラム製品はまた、上記説明したような1つまたは複
数の方法を実行時に行う命令を含みうる。情報キャリアは、メモリ704、格納デバイス
706、プロセッサ702上のメモリ、または伝搬信号等、コンピュータまたは機械読取
可能な媒体である。
高速コントローラ708は、コンピューティングデバイス700に対する帯域幅集中動
作(bandwidth-intensive operation)を管理し、一方低速コントローラ712は、比較
的低い帯域幅集中動作を管理する。機能のそのような割り当ては、単なる例示である。1
つの実施形態では、高速コントローラ708は、メモリ704、(グラフィックプロセッ
サまたはアクセラレータを介して)ディスプレイ716、および高速拡張ポート710に
連結され、ポート710は、各種拡張カード(図示せず)を受け入れることができる。実
施形態では、低速コントローラ712は、格納デバイス706および低速拡張ポート71
4に連結される。各種通信ポート(例えば、USB、ブルートゥース、イーサネット(登
録商標)、ワイヤレスイーサネット(登録商標))を含みうる低速拡張ポートは、キーボ
ード、ポインティングデバイス、スキャナ、または例えばネットワークアダプタを介する
スイッチまたはルータのようなネットワークデバイス等、1つまたは複数の入/出力デバ
イスに連結できる。
コンピューティングデバイス700は、図示の通り、複数の異なる形式で実装されうる
。例えば、それは、標準サーバ720として、またはそのようなサーバのグループで複数
回実装されてもよい。それはまた、ラックサーバシステム724の一部として実装されて
もよい。また、それは、ラップトップコンピュータ722のような個人コンピュータで実
装されてもよい。代わりに、コンピューティングデバイス700からの構成要素は、デバ
イス750のような携帯デバイスの他の構成要素(図示せず)に結合されてもよい。その
ようなデバイスの各々は、1つまたは複数のコンピューティングデバイス700、750
を含んでもよく、全システムは、互いに通信する多数のコンピューティングデバイス70
0、750から構成されてもよい。
コンピューティングデバイス750は、他の構成要素の中で、プロセッサ752、メモ
リ764、ディスプレイ754のような入/出力デバイス、通信インタフェース766、
およびトランシーバ768を含む。デバイス750はまた、追加のストレージを提供する
ためにマイクロドライブまたは他のドライブのような格納デバイスを提供してもよい。各
構成要素750、752、764、754、766、および768は、各種バスを使用し
て相互接続され、いくつかの構成要素は、共通のマザーボード上、または他の適切な方法
で搭載されうる。
プロセッサ752は、メモリ764に格納される命令を含む命令を、コンピューティン
グデバイス750内で実行できる。プロセッサは、分離した多数のアナログおよびデジタ
ルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサは例えば
、ユーザインタフェース、デバイス750によって動作するアプリケーション、およびデ
バイス750によるワイヤレス通信の制御等、デバイス750他の構成要素の調整を提供
しうる。
プロセッサ752は、ディスプレイ754に連結される制御インタフェース758およ
びディスプレイインタフェース756を介してユーザと通信しうる。ディスプレイ754
は例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機
光ダイオード)ディスプレイ、または他の適切なディスプレイ技術でもよい。ディスプレ
イインタフェース756は、グラフィカルおよび他の情報をユーザに提示するために、デ
ィスプレイを駆動する適切な回路を含みうる。制御インタフェース758は、ユーザから
コマンドを受け取り、プロセッサ752へ提供するためにそれらを変換しうる。また、外
部インタフェース762は、プロセッサ752と通信するよう提供され、他のデバイスに
対するデバイス750の近接通信を可能にする。外部インタフェース762は例えば、い
くつかの実施形態でワイヤード通信を提供し、または他の実施形態でワイヤレス通信を提
供してもよく、多数のインタフェースがさらに使用されてもよい。
メモリ764は、コンピューティングデバイス750内に情報を格納する。メモリ76
4は、1つまたは複数のコンピュータ読取可能な媒体またはメディア、揮発性メモリユニ
ットまたは複数のユニット、または不揮発性メモリユニットまたは複数のユニットとして
実装されてもよい。拡張メモリ774がさらに提供され、拡張インタフェース772を介
してデバイス750に接続でき、拡張インタフェース772は例えば、SIMM(シング
ルインラインメモリモジュール)カードインタフェースを含んでもよい。そのような拡張
メモリ774は、デバイス750に対して追加の格納スペースを提供してもよく、または
さらにデバイス750に関するアプリケーションまたは他の情報を格納してもよい。特に
、拡張メモリ774は、上記説明したプロセスを実行または補足するための命令を含むこ
とができ、セキュア情報も含みうる。故に例えば、拡張メモリ774は、デバイス750
に関するセキュリティモジュールとして提供されてもよく、デバイス750の安全な使用
を可能にする命令でプログラムされてもよい。また、セキュアアプリケーションは、ハッ
キング不可能な方法でSIMMカード上に識別情報を設定する等、追加情報と共にSIM
Mカードを介して提供されてもよい。
メモリは例えば、下記の通り、フラッシュメモリおよび/またはNVRAMメモリを含
んでもよい。1つの実施形態では、コンピュータプログラム製品は、情報キャリアに有形
に具現される。コンピュータプログラム製品は実行時、上記説明したような1つまたは複
数の方法を行う命令を含む。情報キャリアは、メモリ764、拡張メモリ774、プロセ
ッサ752上のメモリ、例えばトランシーバ768または外部インタフェース762上で
受信可能な伝搬信号等、コンピュータまたは機械読取可能な媒体である。
デバイス750は、通信インタフェース766を介してワイヤレス通信でき、インタフ
ェース766は、必要に応じてデジタル信号処理回路を含みうる。通信インタフェース7
66は、GSM(登録商標)音声呼、SMS、EMS、またはMMSメッセージング、C
DMA,TDMA、PDC、WCDMA、CDMA2000またはGPRSその他等、各
種モードまたはプロトコル下の通信を提供できる。そのような通信は例えば、無線周波ト
ランシーバ768を介して生じうる。また、短距離通信は、ブルートゥース、WiFi、
または他のそのようなトランシーバ(図示せず)を使用する等で生じうる。また、GPS
(全地球測位システム)受信モジュール770は、デバイス750に追加のナビゲーショ
ンおよび位置関連ワイヤレスデータを提供でき、デバイス750上で動作するアプリケー
ションによって適切に使用されうる。
デバイス750は、音声コーデック760を使用して音声認識可能に通信でき、そのコ
ーデックは、ユーザから話された情報を受信して有益なデジタル情報にそれを変換しうる
。音声コーデック760は同様に、スピーカー、例えばデバイス750のハンドセット等
を介して、ユーザに対して音声認識可能な音を生成しうる。そのような音は、音声電話呼
からの音を含んでもよく、記録された音(例えば、音声メッセージ、音楽ファイル等)を
含んでもよく、またデバイス750上で動作するアプリケーションによって生成された音
を含んでもよい。
コンピューティングデバイス750は、図示の通り、複数の異なる形式で実装されても
よい。例えば、携帯電話780として実装されてもよい。また、スマートフォン782、
個人デジタル補助装置、または他の類似の携帯デバイスの一部として実装されてもよい。
ここに記載したシステムおよび技法の各種実装は、デジタル電子回路、集積回路、専用
に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファーム
ウェア、ソフトウェア、および/またはその組み合わせで実現できる。これら各種実装は
、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可
能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実装を含むこ
とができ、それは、専用または汎用目的でもよく、格納システム、少なくとも1つの入力
デバイス、および少なくとも1つの出力デバイスに対して、データおよび命令を受信し、
データおよび命令を送信するように結合される。
これらコンピュータプログラム(また、プログラム、ソフトウェア、ソフトウェアアプ
リケーションまたはコードとして知られる)は、プログラマブルプロセッサに対する機械
命令を含み、高レベルプロシージャおよび/またはオブジェクト指向プログラム言語、お
よび/またはアセンブリ/機械言語で実装されうる。ここで使用される通り、用語“機械
読取可能な媒体”は、機械読取可能な信号として機械命令を受信する機械読取可能な媒体
を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使
用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、
磁気ディスク、光学ディスク、メモリ、プログラマブル論理デバイス(PLD))に言及
する。用語“機械読取可能な信号”は、プログラマブルプロセッサに機械命令および/ま
たはデータを提供するために使用される任意の信号に言及する。
ユーザとの対話を提供するために、ここで説明されたシステムおよび技法は、ユーザに
情報を表示するためのディスプレイデバイス(例えば、CRT(ブラウン管)またはLC
D(液晶ディスプレイ)モニタ)、およびユーザがコンピュータに入力を提供できるポイ
ンティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で
実装されうる。他の種類のデバイスを使用してユーザとの対話を提供してもよく、例えば
、ユーザに提供されるフィードバックは、感覚フィードバックの任意形式(例えば、視覚
フィードバック、音声フィードバック、または触覚フィードバック)でもよく、ユーザか
らの入力は、音響、音声、または触覚入力を含む任意形式で受信されうる。
ここで説明されたシステムおよび技法は、コンピューティングシステムで実装でき、そ
れは、バックエンド構成要素(例えば、データサーバ)を含み、ミドルウェア構成要素(
例えば、アプリケーションサーバ)を含み、フロントエンド構成要素(例えば、ユーザが
ここで説明されたシステムおよび技法の実装と対話できるグラフィカルユーザインタフェ
ースまたはウェブブラウザを有するクライアントコンピュータ)を含み、またはそのよう
なバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせを含
む。システムの構成要素は、デジタルデータ通信の任意形式(例えば、通信ネットワーク
)または媒体によって相互接続されてもよい。通信ネットワークの例は、ローカルエリア
ネットワーク(LAN)、広域ネットワーク(WAN)、およびインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含みうる。クライアント
およびサーバは一般に、互いに離れており、通信ネットワークを介して通常、対話する。
クライアントおよびサーバの関係は、各コンピュータ上で動作し、互いにクライアント‐
サーバ関係を有するコンピュータプログラムによって生じる。
複数の実施形態が説明された。一方で、各種修正が本発明の精神および範囲から逸脱し
ないで行えることが分かる。例えば、この明細書の大部分は、電話ダイヤリングアプリケ
ーションに関して説明されているが、英数字だけでなく、グラフィカルアイコンおよびマ
クロを含むキーパッド等、他の形式のアプリケーションおよびキーパッドレイアウトも適
用できる。
また、図に示す論理フローは、所望の結果を達成するために、図示されている特定の順
番、即ち順次的順番を要しない。また、他のステップが提供されてもよく、即ちステップ
が、説明されたフローから削除されてもよく、他の構成要素が、説明されたシステムに対
して追加または除去されてもよい。従って、他の実施形態は、以下の特許請求の範囲内に
ある。
102:アプリケーションセンター
108:ユーザセンター
110:開発者センター
112:アプリケーションストア
114:アプリケーションマネージャ
116:バグ収集装置
118:バグ報告装置

Claims (20)

  1. コンピュータで実装される方法であって、
    アプリケーション開発者の第1のアプリケーションをオンラインアプリケーションストア上で分散できるようにするための第1の要求を、前記アプリケーション開発者のコンピューティングシステムから、かつ前記オンラインアプリケーションストアのコンピューティングシステムに提供することを含み、前記第1の要求は、(i)前記アプリケーション開発者を特定する情報と(ii)前記第1のアプリケーションのためのコンピュータコードとを含み、前記オンラインアプリケーションストアは、複数の独立している開発者からのアプリケーションを、前記複数の独立しているアプリケーション開発者から独立しているエンドユーザのコンピューティングデバイスに分散できるようにし、さらに、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報についての第2の要求を、前記アプリケーション開発者の前記コンピューティングシステムから、かつ前記オンラインアプリケーションストアの前記コンピューティングシステムに、後で提供することと、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報を、前記第2の要求に対する応答として前記アプリケーション開発者の前記コンピューティングシステムにおいて受信することとを含み、前記受信された情報は、1人以上のエンドユーザのコンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した問題に関する情報を含み、さらに、
    前記1人以上のエンドユーザの前記コンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した前記問題の少なくとも一部分を示す報告を、前記アプリケーション開発者の前記コンピューティングシステムにおいて表示することを含む、コンピュータで実装される方法。
  2. 前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした、前記第1のアプリケーションとは異なる1つ以上の追加的なアプリケーションの動作に関連して1人以上のエンドユーザのコンピューティングデバイスが、前記オンラインアプリケーションストアに報告した問題に関する追加的な情報を、前記アプリケーション開発者の前記コンピューティングシステムにおいて、かつ前記第2の要求に対する応答の一部として受信することを含み、
    前記報告を表示することは、前記第1のアプリケーションおよび前記1つ以上の追加的なアプリケーションのうちの複数のアプリケーションの動作に関連して1人以上のエンドユーザのコンピューティングデバイスが前記オンラインアプリケーションストアに報告した問題に関する情報を表示することを含む、請求項1に記載のコンピュータで実装される方法。
  3. 前記第1のアプリケーションは、携帯コンピューティングデバイス上で実行されるように構成される、請求項1に記載のコンピュータで実装される方法。
  4. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、複数の問題の種類のうちのそれぞれの問題の種類ごとに、前記1人以上のエンドユーザの前記コンピューティングデバイスが規定された時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度を特定する、請求項1に記載のコンピュータで実装される方法。
  5. 前記報告は、前記複数の問題の種類のうちのそれぞれの問題の種類ごとに、
    (i)前記1人以上のエンドユーザの前記コンピューティングデバイスが最近の時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度と、
    (ii)前記1人以上のエンドユーザの前記コンピューティングデバイスが前記最近の時間間隔前に生じた直前の時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度とを特定する、請求項4に記載のコンピュータで実装される方法。
  6. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、前記問題の前記少なくとも一部分のうちの各問題を、(i)前記1人以上のエンドユーザの前記コンピューティングデバイスにおいてアプリケーションをクラッシュさせた問題についての第1の問題のグループと、(ii)前記1人以上のエンドユーザの前記コンピューティングデバイスをフリーズさせた問題についての第2の問題のグループとに分類する、請求項1に記載のコンピュータで実装される方法。
  7. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、1つ以上のプラットフォームのうちのそれぞれのプラットフォームごとに、前記それぞれのプラットフォーム上で生じたことが報告される問題の頻度を特定する、請求項1に記載のコンピュータで実装される方法。
  8. 前記第2の要求に応答して受信された前記情報は、個々のエンドユーザについての情報を特定することを含まない、請求項1に記載のコンピュータで実装される方法。
  9. 前記オンラインアプリケーションストアの前記コンピューティングシステムに前記第1の要求を提供することは、前記第1のアプリケーションに関連付けられたメタデータを送信することを含み、前記メタデータは、前記第1のアプリケーションのタイトルと、指定の価格を前記第1のアプリケーションについて請求するようにとの前記オンラインアプリケーションストアへの命令と、前記第1のアプリケーションのテキスト記述と、エンドユーザのコンピューティングデバイス上にまたは前記オンラインアプリケーションストアのサイト上に提示されるべき前記第1のアプリケーションのためのアイコンと、のうち少なくとも1つを含む、請求項1に記載のコンピュータで実装される方法。
  10. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、前記アプリケーション開発者の前記コンピューティングシステムにおけるウェブページに提示される、請求項1に記載のコンピュータで実装される方法。
  11. 1つ以上のプロセッサによって実行されると動作の実行を引起す命令が格納された1つ以上の非一時的なコンピュータ読取可能な媒体であって、前記動作は、
    アプリケーション開発者の第1のアプリケーションをオンラインアプリケーションストア上で分散できるようにするための第1の要求を、前記アプリケーション開発者のコンピューティングシステムから、かつ前記オンラインアプリケーションストアのコンピューティングシステムに提供することを含み、前記第1の要求は、(i)前記アプリケーション開発者を特定する情報と(ii)前記第1のアプリケーションのためのコンピュータコードとを含み、前記オンラインアプリケーションストアは、複数の独立している開発者からのアプリケーションを、前記複数の独立しているアプリケーション開発者から独立しているエンドユーザのコンピューティングデバイスに分散できるようにし、さらに、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報についての第2の要求を、前記アプリケーション開発者の前記コンピューティングシステムから、かつ前記オンラインアプリケーションストアの前記コンピューティングシステムに、後で提供することと、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報を、前記第2の要求に対する応答として前記アプリケーション開発者の前記コンピューティングシステムにおいて受信することとを含み、前記受信された情報は、1人以上のエンドユーザのコンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した問題に関する情報を含み、さらに、
    前記1人以上のエンドユーザの前記コンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した前記問題の少なくとも一部分を示す報告を、前記アプリケーション開発者の前記コンピューティングシステムにおいて表示することを含む、1つ以上の非一時的なコンピュータ読取可能な媒体。
  12. 前記動作は、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした、前記第1のアプリケーションとは異なる1つ以上の追加的なアプリケーションの動作に関連して1人以上のエンドユーザのコンピューティングデバイスが前記オンラインアプリケーションストアに報告した問題に関する追加的な情報を、前記アプリケーション開発者の前記コンピューティングシステムにおいて、かつ前記第2の要求に対する応答の一部として受信することを含み、
    前記報告を表示することは、前記第1のアプリケーションおよび前記1つ以上の追加的なアプリケーションのうちの複数のアプリケーションの動作に関連して1人以上のエンドユーザのコンピューティングデバイスが前記オンラインアプリケーションストアに報告した問題に関する情報を表示することを含む、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  13. 前記第1のアプリケーションは、携帯コンピューティングデバイス上で実行されるように構成される、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  14. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、複数の問題の種類のうちのそれぞれの問題の種類ごとに、前記1人以上のエンドユーザの前記コンピューティングデバイスが規定された時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度を特定する、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  15. 前記報告は、前記複数の問題の種類のうちのそれぞれの問題の種類ごとに、
    (i)前記1人以上のエンドユーザの前記コンピューティングデバイスが最近の時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度と、
    (ii)前記1人以上のエンドユーザの前記コンピューティングデバイスが前記最近の時間間隔前に生じた直前の時間間隔以内に前記オンラインアプリケーションストアに報告した前記それぞれの問題の種類に関連した問題の頻度とを特定する、請求項14に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  16. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、前記問題の前記少なくとも一部分のうちの各問題を、(i)前記1人以上のエンドユーザの前記コンピューティングデバイスにおいてアプリケーションをクラッシュさせた問題についての第1の問題のグループと、(ii)前記1人以上のエンドユーザの前記コンピューティングデバイスをフリーズさせた問題についての第2の問題のグループとに分類する、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  17. 前記1人以上のエンドユーザの前記コンピューティングデバイスが前記オンラインアプリケーションストアに報告した前記問題の前記少なくとも一部分を示す前記報告は、1つ以上のプラットフォームのうちのそれぞれのプラットフォームごとに、前記それぞれのプラットフォーム上で生じたことが報告される問題の頻度を特定する、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  18. 前記第2の要求に応答して受信された前記情報は、個々のエンドユーザについての情報を特定することを含まない、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  19. 前記オンラインアプリケーションストアの前記コンピューティングシステムに前記第1の要求を提供することは、前記第1のアプリケーションに関連付けられたメタデータを送信することを含み、前記メタデータは、前記第1のアプリケーションのタイトルと、指定の価格を前記第1のアプリケーションについて請求するようにとの前記オンラインアプリケーションストアへの命令と、前記第1のアプリケーションのテキスト記述と、エンドユーザのコンピューティングデバイス上にまたは前記オンラインアプリケーションストアのサイト上に提示されるべき前記第1のアプリケーションのためのアイコンと、のうち少なくとも1つを含む、請求項11に記載の1つ以上の非一時的なコンピュータ読取可能な媒体。
  20. 第1のコンピューティングシステムであって、
    1つ以上のプロセッサと、
    1つ以上のプロセッサによって実行されると動作の実行を引起す命令が格納された1つ以上の非一時的なコンピュータ読取可能な媒体とを備え、前記動作は、
    アプリケーション開発者の第1のアプリケーションをオンラインアプリケーションストア上で分散できるようにするための第1の要求を、前記アプリケーション開発者の前記第1のコンピューティングシステムから、かつ前記オンラインアプリケーションストアのコンピューティングシステムに提供することを含み、前記第1の要求は、(i)前記アプリケーション開発者を特定する情報と(ii)前記第1のアプリケーションのためのコンピュータコードとを含み、前記オンラインアプリケーションストアは、複数の独立している開発者からのアプリケーションを前記複数の独立しているアプリケーション開発者から独立しているエンドユーザのコンピューティングデバイスに分散できるようにし、さらに、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報についての第2の要求を、前記アプリケーション開発者の前記第1のコンピューティングシステムから、かつ前記オンラインアプリケーションストアの前記コンピューティングシステムに、後で提供することと、
    前記オンラインアプリケーションストアが前記アプリケーション開発者の代わりに分散できるようにした1つ以上のアプリケーションに関する情報を、前記第2の要求に対する応答として前記アプリケーション開発者の前記第1のコンピューティングシステムにおいて受信することとを含み、前記受信された情報は、1人以上のエンドユーザのコンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した問題に関する情報を含み、さらに、
    前記1人以上のエンドユーザの前記コンピューティングデバイスが前記第1のアプリケーションの動作に関連して前記オンラインアプリケーションストアに報告した前記問題の少なくとも一部分を示す報告を、前記アプリケーション開発者の前記第1のコンピューティングシステムにおいて表示することを含む、第1のコンピューティングシステム。
JP2016095944A 2010-05-19 2016-05-12 バグクリアリングハウス Active JP6165922B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34645310P 2010-05-19 2010-05-19
US61/346,453 2010-05-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013511363A Division JP5937577B2 (ja) 2010-05-19 2011-05-19 バグクリアリングハウス

Publications (2)

Publication Number Publication Date
JP2016173844A JP2016173844A (ja) 2016-09-29
JP6165922B2 true JP6165922B2 (ja) 2017-07-19

Family

ID=44992344

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013511363A Active JP5937577B2 (ja) 2010-05-19 2011-05-19 バグクリアリングハウス
JP2016095944A Active JP6165922B2 (ja) 2010-05-19 2016-05-12 バグクリアリングハウス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013511363A Active JP5937577B2 (ja) 2010-05-19 2011-05-19 バグクリアリングハウス

Country Status (8)

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

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898637B2 (en) 2010-05-19 2014-11-25 Google Inc. Bug clearing house
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
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US8473894B2 (en) 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
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
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
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
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
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
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
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
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
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer 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
EP3019971B1 (en) * 2013-07-12 2020-05-06 Google LLC Methods and systems for performance monitoring for mobile applications
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
CN105723357B (zh) * 2013-09-04 2019-06-28 微软技术许可有限责任公司 共享模块环境中的因模块而异的跟踪
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 阿里巴巴集团控股有限公司 一种下载以及安装客户端的方法和设备
CN105765528B (zh) 2013-11-13 2019-09-24 微软技术许可有限责任公司 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质
US10241785B2 (en) 2013-11-13 2019-03-26 Microsoft Technology Licensing, Llc Determination of production vs. development uses from tracer data
EP3069267A4 (en) 2013-11-13 2017-09-27 Microsoft Technology Licensing, LLC Software component recommendation based on multiple trace runs
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 可牛网络技术(北京)有限公司 应用程序的隐私权限管理方法和装置
US9898189B2 (en) * 2014-03-17 2018-02-20 Htc Corporation User trial feedback method, electronic device and computer-readable medium
US9836343B2 (en) 2014-03-17 2017-12-05 Microsoft Technology Licensing, Llc Framework for user-mode crash reporting
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
US9785535B2 (en) * 2015-08-10 2017-10-10 Accenture Global Services Limited Multi-data analysis based proactive defect detection and resolution
EP3131014B1 (en) * 2015-08-10 2021-12-29 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
EP3286643A1 (en) * 2015-09-02 2018-02-28 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 株式会社デプロイゲート コミュニケーションプログラム、情報処理装置、及びコミュニケーション方法
US10482000B2 (en) 2017-04-24 2019-11-19 Microsoft Technology Licensing, Llc Machine learned decision guidance for alerts originating from monitoring systems
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 华为技术有限公司 一种冻屏处理方法及终端
WO2020179833A1 (ja) * 2019-03-07 2020-09-10 株式会社エネルギア・コミュニケーションズ Api提供システム及びapi提供方法
KR102199247B1 (ko) * 2019-04-02 2021-01-07 넷마블 주식회사 버그 제보를 위한 게임 서비스 제공 시스템
CN110580154A (zh) * 2019-05-24 2019-12-17 中国银联股份有限公司 基于h5接入方式的接入方法及其接入组件和移动终端
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 삼성전자주식회사 컨텍스트에 기반하여 애플리케이션을 제공하는 서버 및 그 제어 방법
CN110990427A (zh) * 2019-12-16 2020-04-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质
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 北京盛邦赛云科技有限公司 漏洞坐标系建立方法、漏洞分析方法、装置及相关设备

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2224689C (en) * 1995-06-02 2002-10-29 Rational Software Corporation 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
EP1402352A4 (en) 2001-02-22 2010-08-25 Accenture Global Services Gmbh DISTRIBUTED DEVELOPMENT ENVIRONMENT FOR BUILDING INTERNET APPLICATIONS BY DEVELOPERS AT DISCONTINUED 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
US7490081B2 (en) * 2006-01-18 2009-02-10 International Business Machines Corporation Method and system for automatic identification and notification of relevant software defects
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
CN101155230B (zh) * 2006-09-29 2010-05-26 海尔集团公司 一种网络家电故障反馈系统
US20080141221A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Using recorder technology to find defects in software applications
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
WO2008124038A1 (en) * 2007-04-03 2008-10-16 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
EP2218216A1 (en) * 2007-10-23 2010-08-18 QUALCOMM Incorporated Management of failures in wireless field devices
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
US8898637B2 (en) * 2010-05-19 2014-11-25 Google Inc. Bug clearing house
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
BR102012008540B1 (pt) * 2011-04-12 2020-11-17 Accenture Global Services Limited método e sistema de priorização e designação de scripts de teste para uma plataforma de testes integrada.
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6165922B2 (ja) バグクリアリングハウス
JP6426732B2 (ja) 自動的に生成された仮想環境を用いたユーザサポートエクスペリエンス
US8423954B2 (en) Interactive container of development components and solutions
US8175936B2 (en) Method and system for identifying reusable development components
US8745583B2 (en) Method and system for managing development components
US8095911B2 (en) Method and system for utilizing development components
JP6318266B2 (ja) ウェブページへの拡張機能変更を管理するシステム
AU2015230685A1 (en) Evaluation system and method
US20100088234A1 (en) Unified analytics across a distributed computing services infrastructure
US10540053B2 (en) Methods and systems for managing community information
CN107810509A (zh) 工作流生成和编辑
US10140667B2 (en) Social customer relationship management opportunity templating
US20140316908A1 (en) Method and system for providing real estate property information with property improvement/maintenance history
US11423487B1 (en) Dynamic assignment of personnel to location-based assignments
JP7136836B2 (ja) 情報処理方法、情報処理装置及びプログラム
TWI688920B (zh) 開發經紀人針對房產物件申請集中看屋的方法及後台系統
JP2021111392A (ja) ユーザ流入追跡方法およびシステム
WO2016157079A1 (en) Evaluation of comuting device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170621

R150 Certificate of patent or registration of utility model

Ref document number: 6165922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250