【手続補正書】
【提出日】令和2年4月3日(2020.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータにより実現される方法であって、
コンピュータが、１つ以上のスタックトレースの少なくとも一部に基づいて、線形接続されたスタックフレームのセットを参照しているスタックセグメントのフィルタ状態を決定するステップと、
スタックトレースを受信するステップと、
前記スタックトレースを受信すると、前記スタックトレースの少なくとも一部に基づいて、前記スタックセグメントの前記線形接続されたスタックフレームのセットに沿った分岐点を検出するステップと、
前記スタックセグメントの前記線形接続されたスタックフレームのセットに沿った分岐点を検出すると、前記スタックセグメントを、前記スタックフレームのサブセットを各々が含む複数の新しいスタックセグメントに分割するステップとを含み、前記複数の新しいスタックセグメントは、前記スタックセグメントによって参照され、前記方法は、さらに、
前記スタックセグメントのフィルタ状態の少なくとも一部に基づいて、前記複数の新しいスタックセグメントに対応する複数のフィルタ状態を初期化するステップと、
１つ以上の後続スタックトレースの少なくとも一部に基づいて、前記スタックセグメントのフィルタ状態および前記複数の新しいスタックセグメントに対応する前記複数のフィルタ状態の各々を別々に追跡するステップとを含む、方法。
【請求項２】
階層関係において、前記複数の新しいスタックセグメントの各々は子ノードであり、前記スタックセグメントは親ノードである、請求項１に記載の方法。
【請求項３】
前記スタックセグメントを前記複数の新しいスタックセグメントに分割するステップは、
前記線形接続されたスタックフレームのセットのうちの前記分岐点に先行する線形接続されたスタックフレームの第１サブセットを参照する第１の新しいスタックセグメント、および前記線形接続されたスタックフレームのセットのうちの前記分岐点に続く線形接続されたスタックフレームの第２サブセットを参照する第２の新しいスタックセグメントを作成するステップと、
前記第１の新しいスタックセグメントを第１の子ノードとして参照し、前記第２の新しいスタックセグメントを第２の子ノードとして参照するように、前記スタックセグメントを変更するステップとを含み、
前記第１の新しいスタックセグメントおよび前記第２の新しいスタックセグメントは、前記スタックセグメントを前記親ノードとして参照する、請求項２に記載の方法。
【請求項４】
前記１つ以上のスタックトレースの少なくとも一部に基づいて前記スタックセグメントのフィルタ状態を決定するステップは、
前記１つ以上のスタックトレースのうちの第１スタックトレースを受信するステップと、
前記１つ以上のスタックトレースのうちの前記第１スタックトレースが前記線形接続されたスタックフレームのセットの各々を含むと観測するステップと、
前記線形接続されたスタックフレームのセットを参照するように、前記スタックセグメントを作成するステップと、
前記１つ以上のスタックトレースのうちの前記第１スタックトレース以外の前記１つ以上のスタックトレースの各々について、
前記１つ以上のスタックトレースのうちの前記スタックトレースを受信するステップと、
前記１つ以上のスタックトレースのうちの前記スタックトレースが前記線形接続されたスタックフレームのセットの各々を含む、または前記線形接続されたスタックフレームのセットのいずれも含まないと観測するステップと、
前記１つ以上のスタックトレースのうちの前記スタックトレースの少なくとも一部に基づいて、前記スタックセグメントのフィルタ状態を更新するステップとを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記スタックセグメントのフィルタ状態の少なくとも一部に基づいて前記複数の新しいスタックセグメントに対応する前記複数のフィルタ状態を初期化するステップは、前記スタックセグメントのフィルタ状態を、前記複数の新しいスタックセグメントに対応する前記複数のフィルタ状態にコピーするステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記複数の新しいスタックセグメントの各々に含まれる前記スタックフレームのサブセットは、線形接続されたままである、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
少なくとも１つのスタックトレースが第１スタックフレームおよび第２スタックフレームの両方を含むと観測され、前記第１スタックフレームおよび前記第２スタックフレームの一方しか含まないと観測されるスタックトレースがなかった場合、前記第１スタックフレームは、前記第２スタックフレームに線形接続され、
別の少なくとも１つのスタックトレースが前記第１スタックフレームおよび前記第２スタックフレームの前記一方しか含まないと観測された場合、前記第１スタックフレームと前記第２スタックフレームは、線形接続されない、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記フィルタ状態は、
前記線形接続されたスタックフレームのセットが観測された回数、
期間の異なる季節に各々が関連する、前記線形接続されたスタックフレームのセットの強度の１つ以上の測定値、
前記線形接続されたスタックフレームのセットの強度の１つ以上の測定値のうちの１つに各々が関連付けられた１つ以上の季節因子、または、
それらの組合せ、を含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記１つ以上のスタックトレース、前記スタックトレース、および前記１つ以上の後続スタックトレースは、マルチスレッドプログラムの実行中に出力される１つ以上のスレッドダンプを介して取得される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
１つ以上のプロセッサと、
前記１つ以上のプロセッサにアクセス可能なメモリとを備え、前記メモリは、１つ以上の命令を格納し、前記１つ以上の命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
１つ以上のスタックトレースの少なくとも一部に基づいて、線形接続されたスタックフレームのセットを参照しているスタックセグメントのフィルタ状態を監視させ、
スタックトレースを受信させ、
前記スタックトレースを受信すると、前記スタックトレースの少なくとも一部に基づいて、前記スタックセグメントの前記線形接続されたスタックフレームのセットに沿った分岐点を検出させ、
前記スタックセグメントの前記線形接続されたスタックフレームのセットに沿った分岐点を検出すると、前記スタックセグメントを、前記スタックフレームのサブセットを各々が含む複数の新しいスタックセグメントに分割させ、前記複数の新しいスタックセグメントは、前記スタックセグメントによって参照され、前記１つ以上の命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、さらに、
前記スタックセグメントのフィルタ状態の少なくとも一部に基づいて、前記複数の新しいスタックセグメントに対応する複数のフィルタ状態を初期化させ、
１つ以上の後続スタックトレースの少なくとも一部に基づいて、前記スタックセグメントのフィルタ状態および前記複数の新しいスタックセグメントに対応する前記複数のフィルタ状態の各々を別々に追跡させる、システム。
【請求項１１】
請求項１〜９のいずれか１項に記載の方法を１つ以上のプロセッサに実行させるためのコンピュータ読み取り可能なプログラム。