【手続補正書】
【提出日】平成28年8月10日(2016.8.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェアビルドエラーを予測するための方法であって、
ソフトウェアにおける複数の変更を検出するステップと、
複数の変更リストを識別するステップであって、前記ソフトウェアにおける前記複数の変更のそれぞれについて、１つの変更リストが識別される、ステップと、
前記複数の変更リスト内の変更リストごとに特性を識別するステップであって、前記特性は複雑性メトリクスを含み、該複雑性メトリクスは、ソフトウェアコードの変更された行を囲むネストされたループの数に部分的に基づく、ステップと、
前記複数の変更リストのそれぞれの前記特性に少なくとも部分的に基づいて、複数の確率を計算するステップであって、前記確率のそれぞれは、前記複数の変更リストのうちの１つが前記ソフトウェアビルドエラーを発生させる可能性を示し、前記ソフトウェアビルドエラーは、前記ソフトウェアが実行可能ファイルにコンパイルされることを妨げるか、又は、前記ソフトウェアが機械実行可能コードへと変換されることを妨げ、前記複数の確率は、複数の係数に基づいて計算され、各係数は、前記複数の変更リストのそれぞれの各特性に対応し、前記複数の係数は履歴データから求められた、ステップと、
前記ソフトウェアビルドエラーの前記複数の確率を報告するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、
前記ソフトウェアをビルドするステップと、
前記ソフトウェアビルドエラーを検出するステップと、
前記ソフトウェアビルドエラーをもたらした変更を、前記ソフトウェアにおける前記複数の変更から求めるステップと、
前記ソフトウェアビルドエラーをもたらした前記変更を報告するステップと
を含む方法。
【請求項３】
請求項２に記載の方法であって、前記ソフトウェアビルドエラーをもたらした前記変更に基づいて、前記ソフトウェアビルドエラーを予測するために使用される予測生成器をアップデートするステップを含む方法。
【請求項４】
請求項２に記載の方法であって、前記ソフトウェアから前記ソフトウェアビルドエラーをもたらした前記変更を除去するステップを含む方法。
【請求項５】
請求項１に記載の方法であって、前記複数の確率を計算するステップは、前記複数の確率のそれぞれが前記ソフトウェアビルドエラーもたらす可能性を示す回帰を計算するステップを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記複数の確率に基づいて、複数の高リスク変更リストを識別するステップと、
前記複数の高リスク変更リストのそれぞれを、当該高リスク変更リストに基づいて前記ソフトウェアをビルドする命令とともに別個のコンピューティングシステムに送信するステップと、
前記ソフトウェアビルドエラーを引き起こす高リスク変更リストを検出するステップと
を含む方法。
【請求項７】
請求項１に記載の方法であって、前記複数の変更リストの前記特性のうちの少なくとも１つは、前記複雑性メトリクス、ソフトウェア開発者決定、コンピューティングシステム決定、時間決定、レビュー決定、アクティビティ決定、開発者ビルド決定、及び、変更決定のある組み合わせを含み、前記開発者ビルド決定は、開発者のコンピューティングシステムが前記ソフトウェアの生成の間に同期したソースコードリポジトリの状態を含み、前記複雑性メトリクスは、ソフトウェアコードの変更された行におけるキャラクタの数に部分的に基づく、方法。
【請求項８】
請求項１に記載の方法であって、前記複数の変更リストのうちの１つにより発生した前記ソフトウェアビルドエラーは、前記ソフトウェアがリンクされることを妨げる、方法。
【請求項９】
請求項１に記載の方法であって、前記変更リストのそれぞれを、高リスク変更リスト又は低リスク変更リストとして識別するステップと、前記高リスク変更リストを、前記低リスク変更リストをビルドする前にビルドするステップとを含み、前記高リスク変更リストの前記ビルドは、前記高リスク変更リストを複数のコンピューティングシステムに、前記高リスク変更リストが並列にビルドされることを可能とするように送信することを含む、方法。
【請求項１０】
請求項１に記載の方法であって、変更リストごとの前記特性は、当該変更をレビューした個人の数を含む、方法。
【請求項１１】
請求項１に記載の方法であって、前記変更リストの前記特性を、前記複数の確率からの集約最大確率又は前記複数の確率の合計を検出することにより集約するステップを含む方法。
【請求項１２】
請求項１１に記載の方法であって、バイナリサーチ又はデルタでバッギング技法を用いて前記ソフトウェアビルドエラーを引き起こす変更リストを求めるステップと、前記変更リストを、統合開発環境（ＩＤＥ）において生成されるダイアログボックスに送信するステップとを含む方法。
【請求項１３】
請求項１に記載の方法であって、前記複数の変更のそれぞれは、前記ソフトウェアにおける複数のコメントに基づき検出される、方法。
【請求項１４】
ソフトウェアビルドエラーを予測するためのシステムであって、
複数の確率を表示するためのディスプレイデバイスと、
プロセッサ実行可能コードを実行するためのプロセッサと、
プロセッサ実行可能コードを格納する記憶デバイスであって、前記プロセッサ実行可能コードは、前記プロセッサによって実行されると、前記プロセッサに、
ソフトウェアにおける複数の変更を検出することと、
複数の変更リストを識別することであって、前記ソフトウェアにおける前記複数の変更のそれぞれについて、１つの変更リストが識別される、ことと、
前記複数の変更リスト内の変更リストごとに特性を識別することであって、前記特性は複雑性メトリクスを含み、該複雑性メトリクスは、ソフトウェアコードの変更された行を囲むネストされたループの数に部分的に基づく、ことと、
回帰を識別することと、
前記回帰を使用して、前記複数の変更リストのそれぞれの前記特性に少なくとも部分的に基づいて前記複数の確率を計算することであって、前記複数の変更リストは、前のソフトウェアビルドからの前記ソフトウェアに対する前記変更に対応し、前記確率のそれぞれは、前記複数の変更リストのうちの１つが前記ソフトウェアビルドエラーを発生させる可能性を示し、前記ソフトウェアビルドエラーは、前記ソフトウェアが実行可能ファイルにコンパイルされることを妨げるか、又は、前記ソフトウェアが機械実行可能コードへと変換されることを妨げ、前記複数の確率は、複数の係数に基づいて計算され、各係数は、前記複数の変更リストのそれぞれの各特性に対応し、前記複数の係数は履歴データから求められた、ことと、
前記ソフトウェアビルドエラーの組み合わされた確率を、前記複数の確率を集約することにより計算することであって、前記組み合わされた確率は、集約最大確率か、集約最小確率か、集約アベレージ確率か若しくは集約メジアン確率か、又は、確率の合計に対応する、ことと、
前記ソフトウェアビルドエラーの前記組み合わされた確率を報告することと、
前記ソフトウェアビルドエラーの前記組み合わされた確率を減らす動作を勧告することと
をさせる、記憶デバイスと
を備えたシステム。
【請求項１５】
請求項１４に記載のシステムであって、前記プロセッサ実行可能コードは、前記プロセッサに、
前記ソフトウェアをビルドすることと、
前記ソフトウェアビルドエラーを検出することと、
前記ソフトウェアビルドエラーをもたらした変更を、前記ソフトウェアにおける前記複数の変更から求めることと、
前記ソフトウェアビルドエラーをもたらした前記変更を報告することと
をさせる、システム。
【請求項１６】
請求項１５に記載のシステムであって、前記プロセッサ実行可能コードは、前記プロセッサに、前記ソフトウェアビルドエラーをもたらした前記変更に基づいて、前記ソフトウェアビルドエラーを予測するために使用される予測生成器をアップデートすることをさせる、システム。
【請求項１７】
請求項１５に記載のシステムであって、前記プロセッサ実行可能コードは、前記プロセッサに、前記ソフトウェアから前記ソフトウェアビルドエラーをもたらした前記変更を除去することをさせる、システム。
【請求項１８】
請求項１４に記載のシステムであって、前記プロセッサ実行可能コードは、前記プロセッサに、前記複数の確率のそれぞれが前記ソフトウェアビルドエラーもたらす可能性を示す回帰を計算することをさせる、システム。
【請求項１９】
請求項１４に記載のシステムであって、前記プロセッサ実行可能コードは、前記プロセッサに、
前記複数の確率に基づいて、複数の高リスク変更リストを識別することと、
前記複数の高リスク変更リストのそれぞれを、当該高リスク変更リストに基づいて前記ソフトウェアをビルドする命令とともに別個のコンピューティングシステムに送信することと、
前記ソフトウェアビルドエラーを引き起こす高リスク変更リストを検出することと
をさせる、システム。
【請求項２０】
請求項１４に記載のシステムであって、前記複数の変更リストの前記特性のうちの少なくとも１つは、前記複雑性メトリクス、ソフトウェア開発者決定、コンピューティングシステム決定、時間決定、レビュー決定、アクティビティ決定、開発者ビルド決定、及び、変更決定の任意の組み合わせを含み、前記開発者ビルド決定は、開発者のコンピューティングシステムが前記ソフトウェアの生成の間に同期したソースコードリポジトリの状態を含み、前記複雑性メトリクスは、ソフトウェアコードの変更された行におけるキャラクタの数に部分的に基づく、システム。