JP5845813B2 - 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法 - Google Patents
分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法 Download PDFInfo
- Publication number
- JP5845813B2 JP5845813B2 JP2011237628A JP2011237628A JP5845813B2 JP 5845813 B2 JP5845813 B2 JP 5845813B2 JP 2011237628 A JP2011237628 A JP 2011237628A JP 2011237628 A JP2011237628 A JP 2011237628A JP 5845813 B2 JP5845813 B2 JP 5845813B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- path
- state
- initialization
- execution
- 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.)
- Expired - Fee Related
Links
- 238000004458 analytical method Methods 0.000 title description 23
- 238000011423 initialization method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 114
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000012795 verification Methods 0.000 claims description 22
- 238000013514 software validation Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000007689 inspection Methods 0.000 description 13
- 230000008929 regeneration Effects 0.000 description 8
- 238000011069 regeneration method Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
本出願は、“METHOD AND SYSTEM FOR EFFICIENT PARALLELIZATION OF A SOFTWARE VERIFICATION PROBLEM THROUGH INTELLIGENT LOAD BALANCING”と題された2010年10月29日に提出された米国特許仮出願61/408167の35U.S.C§119(e)の下での利益を特許請求するものである。本出願は、2010年11月30日に提出された米国特許出願第12/957,387号の継続出願である。
(2)所与のサブツリーの実行に費やされる時間−y;
(3)所与のサブツリーで調査される判定ノードの数−z;
(4)利用可能なリソースのリストにおいて使用されていないフリーのリソースの数−w;及び
(5)(a)ある経路上の平均時間−u及び(b)終了された経路−vの平均の深さ、のようなグローバルなレベルでの計算の履歴及び/又は統計量。
a*x+b*y+c*z+d*w+e*u+f*v>T
境界関数は、たとえば1以上の上述されたパラメータを使用して閾値を超えているかを判定するため、適切な計算又は判定を使用する。たとえば、複雑な論理式、2変数関数、非線形関数、又はファジー計算が境界関数として使用される。たとえば、待機しているワーカノードの数が10を超えた場合、ジョブの可用性の閾値は、他の要素に係らず、自動的に超えられる。別の例では、ジョブは、シンプルに終了され、全ての発見された新たなジョブを解放する。更に別の例では、待機しているワーカノードに対応する要素の重み付け値が増加される。係る例は、ジョブのキュー又は利用可能なリソースのリストがある最大値を超えたか、又はある最小量よりも下回ったかを調べることでトリガされる。
この閾値関数を超えて、ワーカノード106により遭遇される調査されていない分岐は、新たなジョブとして作成される。制約の値は、唯一の例を反映しており、特定のソフトウェアの解析で遭遇される特定の状況に依存して変化する。相対的な重み及びそれぞれの極性の議論は、例について以下に与えられる。
“x”は、実行が行われている計算ツリーの深さである。深さは、それぞれの記号による分岐のレベルで1だけ増加する。従って、計算が行われているツリーの深さが増加するときに、再生の非常に高いコストが、閾値に到達して新たなジョブを開始することが困難となることを意味するとき、定数“a”は、負である可能性がある。
“y”は、ワーカノード106が現在のジョブに関して計算している時間(秒)である。係る解析により費やされる時間が多くなると、解析を終了して、新たなジョブを生じる傾向が高くなることを意味する。従って、定数“b”は、典型的に正の値である。
“z”は、サブツリーで既に遭遇された判定ノードの数である。判定のサブツリーが余りに大きくなり過ぎた場合、ジョブを終了し及び/又は新たなジョブを生じる傾向が増加する。従って、定数“c”は、典型的に正である。サブツリーにおいて既に遭遇した非常に多くの判定ノードが、動的にバランスを取る必要がある作業負荷の程度に関して重要ではないとき、“c”の値は、比較的低い。
“w”は、利用可能なリソースのキューにおける使用されていないワーカノード106の数である。使用されていないワーカノードは、有すべき非常に悪い問題であり、係るように、定数“d”は、正であって且つ大きい。大きな数は、既存のジョブをすぐに終了すると同様に、より積極的に新たなジョブに広がる。新たなジョブは、現在実行しているジョブの終了までジョブのキューに追加されないリソースの可用性のポリシーの文脈では、係る定数は、ジョブのキューへの追加のために新たなジョブを解放するように非常に高い。係る状況では、ワーカノード106により発見される未解決の新たなジョブの数は、この要素を考慮する。
“u”は、ある経路に関する平均時間(秒)である。これは、現在のジョブ内の経路の平均時間であるか、又はスケジューラノード104により集められた全てのジョブにわたる平均時間である。この要素は、幾つかの有効な作業を完了するための最少の時間量を確定するか、又は、新たなジョブの頻繁な非生産的な発生を防止するために使用される。係るように、定数“e”は、負であり、分散ネットワークシステム100の速度に従って比較的小さい。この要素は、ジョブをワーカノード106に割り当てるオーバヘッド、及びワーカノード106とスケジュールノード104との間の通信のために性能が低下する、リソースの過剰なチャーニング(churning)、又は過剰な小さく且つ実体のないジョブの過剰な発生を防止するために使用される。
“v”は、ワーカノード106によりこれまでの遭遇した解析及び実行の経路の平均の深さである。これは、現在のジョブ内の経路の平均、又はスケジューラノード104により集められる全てのジョブの平均である。この要素は、所定の深さに到達したかを判定するために使用され、所定に深さに到達した場合に、新たなジョブを生じる。幾つかのケースでは、この要素は、深い実行のレベルを促進するために使用される。従って、定数“f”は、正又は負である。
上述されたように、ジョブの可用性及びリソースの可用性の閾値は、それぞれ、個別に又は一緒に決定される。スケジューラノード104は、ワーカノード106の使用を比較的最適にする要件に依存して、ワーカノード106について何れかの閾値を調節する。ジョブの可用性及びリソースの可用性の閾値は、互いに関して調節される。
(付記1)
ソフトウェアを検証する方法であって、
受信されたソフトウェアの検証のジョブの初期化の経路の状態を決定するステップと、前記初期化の経路の状態は、検証されるべきソフトウェアの開始の状態に到達するためのプログラムのプレディケートのシーケンスを含み、前記受信されたソフトウェアの検証のジョブは、検証されるべきソフトウェアの一部の指示を含み、
計算ノードの終了の経路の状態を決定するステップと、前記終了の経路の状態は、前記計算ノードでの前のソフトウェアの検証のジョブの実行の間に到達される最後の状態の指示を含み、前記計算ノードは、前記受信されたソフトウェアの検証のジョブを実行するために割り当てられ、
前記初期化の経路の状態と前記終了の経路の状態とに基づいて計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップと、
を含むことを特徴とする方法。
(付記2)
前記ソフトウェアを検証することは、コードに記号的実行を施すことを含む、
付記1記載の方法。
(付記3)
引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップを更に含み、
前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含む、
を含む付記1記載の方法。
(付記4)
引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含み、
再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記再生手法は、前記初期化の経路の状態のプレディケートステップを再生することを含み、
前記計算されたコストのうちの低い方のコストをもつ初期化の手法を選択するステップと、
を更に含む付記1記載の方法。
(付記5)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、平均の前方向の計算コストを使用することを含み、前記平均の前方向の計算コストは、前記ソフトウェアの検証の間に次のプレディケートに検証の経路に沿って前方向に計算する平均のコストを含む、
付記4記載の方法。
(付記6)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、平均の引き返しの計算コストを使用することを含み、前記平均の引き返しの計算コストは、前記ソフトウェアの検証の間に前のプレディケートに検証の経路に沿って引き返す平均のコストを含む、
付記4記載の方法。
(付記7)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、所与の手法により前記受信されたソフトウェアの検証のジョブの実行を初期化するために必要とされる前方向のステップと引き返しのステップとを使用することを含む、
付記4記載の方法。
(付記8)
コンピュータ読み取り可能な記録媒体と、
前記コンピュータ読み取り可能な記録媒体に担持されるコンピュータ実行可能な命令とを備える製品であって、前記コンピュータ実行可能な命令は、プロセッサにより読取り可能であり、
前記コンピュータ実行可能な命令は、読み取られて実行されたときに、前記プロセッサに、
受信されたソフトウェアの検証のジョブの初期化の経路の状態を決定させ、前記初期化の経路の状態は、検証されるべきソフトウェアの開始の状態に到達するためのプログラムのプレディケートのシーケンスを含み、前記受信されたソフトウェアの検証のジョブは、検証されるべきソフトウェアの一部の指示を含み、
計算ノードの終了の経路の状態を決定させ、前記終了の経路の状態は、前記計算ノードでの前のソフトウェアの検証のジョブの実行の間に到達される最後の状態の指示を含み、前記計算ノードは、前記受信されたソフトウェアの検証のジョブを実行するために割り当てられ、
前記初期化の経路の状態と前記終了の経路の状態とに基づいて計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化させる、
ことを特徴とする製品。
(付記9)
前記ソフトウェアを検証することは、コードに記号的実行を施すことを含む、
付記8記載の製品。
(付記10)
前記コンピュータ実行可能な命令は、前記プロセッサに、更に、
引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化させ、
前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含む、
を含む付記8記載の製品。
(付記11)
前記コンピュータ実行可能な命令は、前記プロセッサに、更に、
引き返し及び再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算させ、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含み、
再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算させ、前記再生手法は、前記初期化の経路の状態のプレディケートステップを再生することを含み、
前記計算されたコストのうちの低い方のコストをもつ初期化の手法を選択させる、
付記8記載の製品。
(付記12)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、平均の前方向の計算コストを使用することを含み、前記平均の前方向の計算コストは、前記ソフトウェアの検証の間に次のプレディケートに検証の経路に沿って前方向に計算する平均のコストを含む、
付記11記載の製品。
(付記13)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、平均の引き返しの計算コストを使用することを含み、前記平均の引き返しの計算コストは、前記ソフトウェアの検証の間に前のプレディケートに検証の経路に沿って引き返す平均のコストを含む、
付記11記載の製品。
(付記14)
前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、所与の手法により前記受信されたソフトウェアの検証のジョブの実行を初期化するために必要とされる前方向のステップ数と引き返しのステップ数とを使用することを含む、
付記11記載の製品。
102:ネットワーク
104:スケジューラノード
106:ワーカノード
108:検証のウェブサービス
Claims (14)
- ソフトウェアを検証する方法であって、
受信されたソフトウェアの検証のジョブの初期化の経路の状態を決定するステップと、
前記初期化の経路の状態は、検証されるべきソフトウェアの開始の状態に到達するためのプレディケートの順序付けされたシーケンスを含み、前記受信されたソフトウェアの検証のジョブの中に、検証されるべきソフトウェアの一部が指示され、
計算ノードの終了の経路の状態を決定するステップと、前記終了の経路の状態は、前記計算ノードでの前のソフトウェアの検証のジョブの実行の間に到達される最後の状態の指示を含み、前記計算ノードは、前記受信されたソフトウェアの検証のジョブを実行するために割り当てられ、
前記初期化の経路の状態と前記終了の経路の状態とに基づいて計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップと、
を含むことを特徴とする方法。 - 前記ソフトウェアを検証することは、コードに記号的実行を施すことを含む、
請求項1記載の方法。 - 引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップを更に含み、
前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含む、
を含む請求項1記載の方法。 - 引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含み、
再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記再生手法は、前記初期化の経路の状態のプレディケートを再生することを含み、
前記計算されたコストのうちの低い方のコストをもつ初期化の手法を選択するステップと、
を更に含む請求項1記載の方法。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、平均の前方向の計算コストを使用することを含み、前記平均の前方向の計算コストは、前記ソフトウェアの検証の間に次のプレディケートに検証の経路に沿って前方向に計算する平均のコストを含む、
請求項4記載の方法。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、平均の引き返しの計算コストを使用することを含み、前記平均の引き返しの計算コストは、前記ソフトウェアの検証の間に前のプレディケートに検証の経路に沿って引き返す平均のコストを含む、
請求項4記載の方法。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップは、所与の手法により前記受信されたソフトウェアの検証のジョブの実行を初期化するために必要とされる前方向のステップと引き返しのステップとを使用することを含む、
請求項4記載の方法。 - コンピュータに、
受信されたソフトウェアの検証のジョブの初期化の経路の状態を決定するステップと、
前記初期化の経路の状態は、検証されるべきソフトウェアの開始の状態に到達するためのプレディケートの順序付けされたシーケンスを含み、前記受信されたソフトウェアの検証のジョブの中に、検証されるべきソフトウェアの一部が指示され、
計算ノードの終了の経路の状態を決定するステップと、前記終了の経路の状態は、前記計算ノードでの前のソフトウェアの検証のジョブの実行の間に到達される最後の状態の指示を含み、前記計算ノードは、前記受信されたソフトウェアの検証のジョブを実行するために割り当てられ、
前記初期化の経路の状態と前記終了の経路の状態とに基づいて計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップと、
を含むソフトウェアを検証する方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記ソフトウェアを検証することは、コードに記号的実行を施すことを含む、
請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記方法は、
引き返し及び再生手法を使用して、前記計算ノードでの前記受信されたソフトウェアの検証のジョブの実行を初期化するステップを更に含み、
前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含む、
を含む請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記方法は、
引き返し及び再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含み、
再生手法を使用して、前記受信されたソフトウェアの検証のジョブの実行を初期化するコストを計算するステップと、前記再生手法は、前記初期化の経路の状態のプレディケートを再生することを含み、
前記計算されたコストのうちの低い方のコストをもつ初期化の手法を選択するステップと、
を更に含む請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、平均の前方向の計算コストを使用することを含み、前記平均の前方向の計算コストは、前記ソフトウェアの検証の間に次のプレディケートに検証の経路に沿って前方向に計算する平均のコストを含む、
請求項11記載のコンピュータ読み取り可能な記録媒体。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、平均の引き返しの計算コストを使用することを含み、前記平均の引き返しの計算コストは、前記ソフトウェアの検証の間に前のプレディケートに検証の経路に沿って引き返す平均のコストを含む、
請求項11記載のコンピュータ読み取り可能な記録媒体。 - 前記受信されたソフトウェアの検証のジョブの実行を初期化するコストの計算は、所与の手法により前記受信されたソフトウェアの検証のジョブの実行を初期化するために必要とされる前方向のステップ数と引き返しのステップ数とを使用することを含む、
請求項11記載のコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40816710P | 2010-10-29 | 2010-10-29 | |
US61/408,167 | 2010-10-29 | ||
US12/957,387 | 2010-11-30 | ||
US12/957,387 US8763001B2 (en) | 2010-10-29 | 2010-11-30 | Technique for efficient parallelization of software analysis in a distributed computing environment through intelligent dynamic load balancing |
US12/957,393 | 2010-12-01 | ||
US12/957,393 US8769500B2 (en) | 2010-10-29 | 2010-12-01 | Node computation initialization technique for efficient parallelization of software analysis in a distributed computing environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012099111A JP2012099111A (ja) | 2012-05-24 |
JP5845813B2 true JP5845813B2 (ja) | 2016-01-20 |
Family
ID=44925352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011237628A Expired - Fee Related JP5845813B2 (ja) | 2010-10-29 | 2011-10-28 | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8769500B2 (ja) |
EP (1) | EP2447848A1 (ja) |
JP (1) | JP5845813B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645924B2 (en) * | 2011-06-06 | 2014-02-04 | Fujitsu Limited | Lossless path reduction for efficient symbolic execution and automatic test generation |
US8874751B2 (en) * | 2011-12-01 | 2014-10-28 | International Business Machines Corporation | Candidate set solver with user advice |
US8898505B2 (en) | 2011-12-01 | 2014-11-25 | International Business Machines Corporation | Dynamically configureable placement engine |
US10554782B2 (en) | 2011-12-01 | 2020-02-04 | International Business Machines Corporation | Agile hostpool allocator |
US9727447B1 (en) * | 2015-01-16 | 2017-08-08 | Amdocs Software Systems Limited | System, method, and computer program for automated exploratory testing |
JP6232470B2 (ja) * | 2015-06-16 | 2017-11-15 | 株式会社日立製作所 | 分散コンピューティング環境でシステムのプロセスの検証を行うための方法 |
US10733023B1 (en) * | 2015-08-06 | 2020-08-04 | D2Iq, Inc. | Oversubscription scheduling |
JP7230186B2 (ja) * | 2018-09-28 | 2023-02-28 | シーメンス インダストリー ソフトウェア インコーポレイテッド | ソフトウェアシステムを検証するための方法および装置 |
KR102378377B1 (ko) * | 2020-11-13 | 2022-03-24 | 고려대학교 산학협력단 | 스마트 컨트랙트 내의 취약 트랜잭션 시퀀스 획득 장치 및 방법 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442563A (en) * | 1992-08-28 | 1995-08-15 | The United States Of America As Represented By The Adminstrator Of The National Aeronautics And Space Administration | Backward assembly planning with DFA analysis |
US5870607A (en) * | 1996-09-11 | 1999-02-09 | Brown University Research Foundation | Method and apparatus for selective replay of computer programs |
US6289502B1 (en) * | 1997-09-26 | 2001-09-11 | Massachusetts Institute Of Technology | Model-based software design and validation |
US6594783B1 (en) * | 1999-08-27 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Code verification by tree reconstruction |
CA2297994A1 (en) * | 2000-02-04 | 2001-08-04 | Ibm Canada Limited-Ibm Canada Limitee | Automated testing computer system components |
GB2363480B (en) * | 2000-06-13 | 2002-05-08 | Siroyan Ltd | Predicated execution of instructions in processors |
US6553362B2 (en) * | 2000-07-14 | 2003-04-22 | Hewlett-Packard Development Company, L.P. | Case-reduced verification condition generation system and method using weakest precondition operator expressed using strongest postcondition operators |
US7130783B1 (en) * | 2001-01-12 | 2006-10-31 | Synopsys, Inc. | Simulation-based functional verification of microcircuit designs |
US20030196076A1 (en) * | 2001-07-02 | 2003-10-16 | Globespan Virata Incorporated | Communications system using rings architecture |
US7159211B2 (en) * | 2002-08-29 | 2007-01-02 | Indian Institute Of Information Technology | Method for executing a sequential program in parallel with automatic fault tolerance |
US7584455B2 (en) * | 2003-10-23 | 2009-09-01 | Microsoft Corporation | Predicate-based test coverage and generation |
JP2006139729A (ja) * | 2004-11-15 | 2006-06-01 | Sharp Corp | ハードウェア検証用プログラミング言語モデル生成装置、ハードウェア検証用プログラミング言語モデル生成方法、コンピュータシステム、ハードウェアシミュレーション方法、制御プログラムおよび可読記憶媒体 |
US7797687B2 (en) * | 2005-08-04 | 2010-09-14 | Microsoft Corporation | Parameterized unit tests with behavioral purity axioms |
US8046746B2 (en) * | 2005-08-04 | 2011-10-25 | Microsoft Corporation | Symbolic execution of object oriented programs with axiomatic summaries |
US8209667B2 (en) * | 2006-01-11 | 2012-06-26 | International Business Machines Corporation | Software verification using hybrid explicit and symbolic model checking |
US20080082969A1 (en) * | 2006-04-04 | 2008-04-03 | The Board Of Trustees Of The University Of Illinois | Software Testing Technique Supporting Dynamic Data Structures |
US7945416B2 (en) | 2006-04-12 | 2011-05-17 | Ati Technologies, Ulc | Software or hardware test apparatus and method |
US20090025004A1 (en) * | 2007-07-16 | 2009-01-22 | Microsoft Corporation | Scheduling by Growing and Shrinking Resource Allocation |
US8302080B2 (en) * | 2007-11-08 | 2012-10-30 | Ntt Docomo, Inc. | Automated test input generation for web applications |
US8122436B2 (en) * | 2007-11-16 | 2012-02-21 | Microsoft Corporation | Privacy enhanced error reports |
US7933759B2 (en) * | 2008-03-28 | 2011-04-26 | Microsoft Corporation | Predicate checking for distributed systems |
US8549486B2 (en) * | 2008-04-21 | 2013-10-01 | Microsoft Corporation | Active property checking |
US8131768B2 (en) * | 2008-05-08 | 2012-03-06 | Nec Laboratories America, Inc. | Symbolic program analysis using term rewriting and generalization |
US8387021B2 (en) * | 2008-09-26 | 2013-02-26 | Microsoft Corporation | Symbolic runtime checking of quantified contracts |
US8359578B2 (en) * | 2008-10-01 | 2013-01-22 | Nec Laboratories America, Inc. | Symbolic reduction of dynamic executions of concurrent programs |
US7979844B2 (en) * | 2008-10-14 | 2011-07-12 | Edss, Inc. | TICC-paradigm to build formally verified parallel software for multi-core chips |
US8359576B2 (en) | 2008-11-14 | 2013-01-22 | Fujitsu Limited | Using symbolic execution to check global temporal requirements in an application |
US8141097B2 (en) * | 2008-12-10 | 2012-03-20 | International Business Machines Corporation | Test management system and method |
US8826238B2 (en) * | 2009-01-22 | 2014-09-02 | Microsoft Corporation | Per group verification |
US20100251204A1 (en) * | 2009-03-30 | 2010-09-30 | Michael Peterson | System and method for determining software test cycle effectiveness |
US8336034B2 (en) * | 2009-04-30 | 2012-12-18 | Nec Laboratories America, Inc. | Modular bug detection with inertial refinement |
US20110078666A1 (en) * | 2009-05-26 | 2011-03-31 | University Of California | System and Method for Reproducing Device Program Execution |
-
2010
- 2010-12-01 US US12/957,393 patent/US8769500B2/en active Active
-
2011
- 2011-10-27 EP EP11186997A patent/EP2447848A1/en not_active Ceased
- 2011-10-28 JP JP2011237628A patent/JP5845813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012099111A (ja) | 2012-05-24 |
EP2447848A1 (en) | 2012-05-02 |
US8769500B2 (en) | 2014-07-01 |
US20120110550A1 (en) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5845809B2 (ja) | 知的且つ動的なロードバランシングによる、分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化の手法 | |
JP5845812B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング | |
JP5845813B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法 | |
JP5845811B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のための動的且つ知的な部分的計算管理 | |
JP5845810B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の並列化のための効率的な部分計算 | |
JP4781089B2 (ja) | タスク割り当て方法およびタスク割り当て装置 | |
Gibilisco et al. | Stage aware performance modeling of dag based in memory analytic platforms | |
US20060112388A1 (en) | Method for dynamic scheduling in a distributed environment | |
US8127032B2 (en) | Performance sampling in distributed systems | |
BR112015019167B1 (pt) | Método realizado por um processador de computador e sistema | |
US20090083717A1 (en) | Benchmark profiling for distributed systems | |
CN108459966B (zh) | 测试组件的调度方法、装置、设备和计算机可读存储介质 | |
Lattuada et al. | Optimal resource allocation of cloud-based spark applications | |
Foroni et al. | Moira: A goal-oriented incremental machine learning approach to dynamic resource cost estimation in distributed stream processing systems | |
Antonescu et al. | Improving management of distributed services using correlations and predictions in SLA-driven cloud computing systems | |
Martinec et al. | Constructing performance model of JMS middleware platform | |
Wu et al. | Latency modeling and minimization for large-scale scientific workflows in distributed network environments | |
US7797692B1 (en) | Estimating a dominant resource used by a computer program | |
Jin | Virtualization technology for computing system: Opportunities and challenges | |
Wang et al. | Reliability-driven reputation based scheduling for public-resource computing using ga | |
US20240160979A1 (en) | Circuit cutting for quantum simulation with resource usage prediction | |
Bardhan et al. | A contention aware hybrid evaluator for schedulers of big data applications in computer clusters | |
KR100856468B1 (ko) | 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법 | |
Antoniu et al. | Letter of the program chairs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150416 |
|
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: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5845813 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |