JP5403362B2 - パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム - Google Patents
パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム Download PDFInfo
- Publication number
- JP5403362B2 JP5403362B2 JP2009525465A JP2009525465A JP5403362B2 JP 5403362 B2 JP5403362 B2 JP 5403362B2 JP 2009525465 A JP2009525465 A JP 2009525465A JP 2009525465 A JP2009525465 A JP 2009525465A JP 5403362 B2 JP5403362 B2 JP 5403362B2
- Authority
- JP
- Japan
- Prior art keywords
- call
- pattern
- pointer analysis
- graph
- abstract
- 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
- 238000000034 method Methods 0.000 title claims description 360
- 238000007689 inspection Methods 0.000 title claims description 180
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000004458 analytical method Methods 0.000 claims description 179
- 230000006870 function Effects 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 50
- 238000012360 testing method Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 15
- 238000011161 development Methods 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 6
- 238000005206 flow analysis Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000004071 soot Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
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)
- Stored Programmes (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Description
p は1行目で生成されたR型のオブジェクトを指し、経路3からfuncが呼出される場合は p は3行目で生成されたR型のオブジェクトを指すことを検査システムが発見できる必要がある。
本発明の目的は、オブジェクト指向型言語で記述されたプログラムを対象に、当該プログラムを実行する際に生成されるオブジェクトに対して発行されるメソッド呼出パターンを、プログラムを実行することなしに、関数間に跨って検査できるパターン検査システムを提供することにある。
その理由は、プログラム中に登場する参照変数が、プログラム実行時にどの抽象オブジェクトを参照するかを考慮して、検査対象となる特定の抽象オブジェクトに対して発行されるメソッド呼出の呼出パターンを検査するためである。
その理由は、展開したコールグラフ中の各メソッドに登場する参照変数が検査対象の抽象オブジェクトを参照するか否かを、コンテキストを考慮したポインタ解析結果を用いて判定し、実際に参照する場合にのみ、そのメソッド呼出が発生するものとして扱うためである。
図1を参照すると、本発明の第1の実施の形態によるパターン検査システムは、プログラム制御により動作するパターン検査装置11と、情報を記憶する記憶装置12と、キーボードなどの入力装置13と、ディスプレイ装置や印刷装置などの出力装置14と、オブジェクト指向言語で記述されたプログラムを格納するファイルなどの検査対象プログラム15を記憶するプログラム記憶部20と、検査パターンを格納したファイルなどのパターン定義16を記憶するパターン定義記憶部21とを含む。
Connected Component(SCC)を1つのノードに縮退した非循環有向グラフに変換し、各ノードへの入力辺が1つになるようにノードを複製する。
Lhotak著、Program Analysis Using Binary Decision Diagrams、米国、2006年、McGill大学、博士論文、104-106頁(online:
http://plg.uwaterloo.ca/~olhotak/pubs/thesis-olhotak-phd.ps)に記載されており、当該技術分野の専門家には広く知られている。
(1)展開したコールグラフの各ノードを構成する各メソッドの関数内制御フローグラフをプログラム情報記録装置121から読み込む。
(2)展開したコールグラフのすべての有向辺(ノードA,ノードB)について、Aを構成するメソッドの関数内制御フローグラフ内に登場する全てのBを構成するメソッドのメソッド呼出場所からBを構成するメソッドの関数内制御フローグラフのエントリノードに有向辺を引く。
(3)Bを構成するメソッドの関数内制御フローグラフのすべての終端ノードからAを構成するメソッドの関数内制御フローグラフの対応するBを構成するメソッドのメソッド呼出の戻り場所への有向辺を引く。
sensitive)と呼ばれる種類のポインタ解析を利用する。この種のポインタ解析は、例えば、非特許文献:アナ・ミラノバ(Ana Milanova)、他2名、“パラメタライズド
オブジェクト センシティビティ フォー ポインツ・トゥー アナリシス フォー ジャヴァ”(Parameterized Object Sensitivity
for Points-to Analysis for Java)、米国、2005年、エーシーエム トランザクション オン ソフトウェア エンジニアリング アンド メソドロジー(ACM
Transaction on Software Engineering and Methodology)、14巻、1号、1−41頁に記載されている。
を再帰的に本関数に適用し、その結果が真ならば真を返し、偽ならばステップSA4に戻る。
次に、本実施の形態の効果について説明する。
本実施の形態では、ポインタ解析結果を用いてメソッド呼出場所に登場する変数がどの抽象オブジェクトを参照するかを調査するように構成されているため、特定の場所で生成されるオブジェクトに対して発行されるメソッド呼出のパターンを検査できる。
また、本実施の形態では、さらに、展開したコールグラフ上のノード中に登場する変数が検査対象の抽象オブジェクトを参照するか否かを、コンテキストを考慮したポインタ解析結果を用いて判定するように構成されているため、より精度良くパターンを検査できる。
次に、本発明の第2の実施の形態について詳細に説明する。
(2)前記ポインタ解析結果56に含まれる抽象オブジェクトとコンテキスト2の組み合わせが前記コンテキスト抽象オブジェクトと等しいこと。
上記のような条件を満たすポインタ解析結果56が存在すればメソッド呼出場所54は検査に関係する。
当該メソッド呼出場所54に含まれる変数と同じ変数を含むポインタ解析結果56に含まれる抽象オブジェクト53の集合を算出する。
に含まれる抽象オブジェクトと、引数として与えられたコンテキスト抽象オブジェクトa に含まれるコンテキストの4つ組が、ポインタ解析結果56に含まれるかを判定し、含まれるならば、varはaを参照すると判定する。
次に、第2の実施の形態による効果について説明する。
背景技術において説明した関連するパターン検査システムでは、特定の経路で生成されたオブジェクトを、特定の経路に登場する参照変数が参照するかどうかを判定できないため、異なる実行経路で生成されるオブジェクトを区別してパターンを検査できないという問題があったが、本第2の実施の形態では、同じ場所で生成されるオブジェクトであっても、コンテキストが異なるものを異なる検査対象オブジェクトとして検査するように構成されているため、異なる実行経路で生成されるオブジェクトを区別してパターンを検査できる。
node とnull との組み合わせが履歴historyに含まれるか否かを判定し、含まれる場合はステップSA4に戻り、含まれない場合は、履歴hisotryに前記nodeとnullとの組を追加してステップSA8の処理に移る。
Claims (16)
- オブジェクト指向型言語で記述された検査対象のプログラムに対してコンテキストを考慮したポインタ解析を実行して、前記プログラム中でメソッドの呼出しが発生する場所を記録したメソッド呼出場所、オブジェクトの生成場所と生成される前記オブジェクトの型とを関係付けて記録した抽象オブジェクト、および前記メソッド呼出しの関係を記録したコールグラフから構成されるプログラム情報を取得してプログラム情報記憶装置に保存し、変数とコンテキストと前記抽象オブジェクトの3つ組から構成されるポインタ解析結果を生成してポインタ解析結果記憶装置に保存する前処理部と、
前記プログラム情報記憶装置に格納された、前記オブジェクトに対して発行される前記メソッド呼出しのパターン規則を記述し、呼出しパターンを守るべきオブジェクトのクラスを示す検査対象クラス名と、前記パターンに関係するメソッドの集合を示す検査対象メソッドと、前記メソッドが前記オブジェクトに対して発行される際に守られるべき検査パターンから構成されるパターン定義を読み出し、前記プログラム情報記憶装置から前記オブジェクトの生成場所を読み込み、前記検査対象クラス名と一致する検査対象となる前記抽象オブジェクトの生成場所の集合を検査対象として抽出するリソース識別部と、
前記プログラム情報記憶装置から前記メソッド呼出場所の集合を読み込み、ポインタ解析結果記憶装置から前記ポインタ解析結果の集合を読み込むと、前記メソッド呼出場所の集合から、前記抽象オブジェクトに関係する前記メソッド呼出場所を抽出し、前記コールグラフから前記関係する前記メソッド呼出場所からなる展開したコールグラフを生成するコールグラフ展開部と、
前記コールグラフ展開部より前記展開したコールグラフと、前記抽象オブジェクトと、前記抽象オブジェクトの検査に関係する前記メソッド呼出場所の集合とを受け付けると、前記ポインタ解析結果記憶装置から前記ポインタ解析結果を読み込み、前記展開したコールグラフの各ノードにより与えられる前記コンテキストで前記メソッド呼出場所に含まれる変数が前記オブジェクトを参照するか否かを判定し、参照すると判定した場合、当該ノードと当該メソッド呼出場所のペアをリソース利用箇所と呼ぶ集合に追加する検査用グラフ生成部と、
前記リソース利用箇所と前記展開したコールグラフとに基づいて関数間制御フローグラフを構築し、検査対象である前記抽象オブジェクトを参照する可能性がある前記メソッド呼出場所の前記変数が、前記展開したコールグラフにおけるノードにより与えられる前記コンテキストにおいて前記抽象オブジェクトを参照するか否かを、前記ポインタ解析結果を用いて判定するパターン検査部とを備え、
前記コールグラフ展開部は、
前記メソッド呼出場所に含まれる変数と前記抽象オブジェクトの組み合わせが前記ポインタ解析結果の集合に含まれているか判定し、含まれている場合に、当該メソッド呼出場所に含まれるメソッド名が、前記抽象オブジェクトに対応する前記パターン定義の検査対象メソッドの集合に含まれていれば、当該メソッド呼出場所は前記抽象オブジェクトに関係すると判定する
ことを特徴とするパターン検査システム。 - オブジェクト・センシティブなポインタ解析によって得られる前記ポインタ解析結果を利用することを特徴とする請求項1に記載のパターン検査システム。
- CFA型のポインタ解析による前記ポインタ解析結果を利用することを特徴とする請求項1に記載のパターン検査システム。
- 前記前処理部が、抽象オブジェクトに対してもコンテキストを考慮したポインタ解析を行い、
前記パターン検査部が、関数間に跨った制御フローグラフを生成後に、検査対象オブジェクトを生成する場所を識別することを特徴とする請求項1に記載のパターン検査システム。 - オブジェクト指向型言語で記述された検査対象のプログラムに対してコンテキストを考慮したポインタ解析を実行して、前記プログラム中でメソッドの呼出しが発生する場所を記録したメソッド呼出場所、オブジェクトの生成場所と生成される前記オブジェクトの型とを関係付けて記録した抽象オブジェクト、および前記メソッド呼出しの関係を記録したコールグラフから構成されるプログラム情報を取得してプログラム情報記憶装置に保存し、変数とコンテキストと前記抽象オブジェクトの3つ組から構成されるポインタ解析結果を生成してポインタ解析結果記憶装置に保存する前処理部と、
前記プログラム情報記憶装置に格納された、前記オブジェクトに対して発行される前記メソッド呼出しのパターン規則を記述し、呼出しパターンを守るべきオブジェクトのクラスを示す検査対象クラス名と、前記パターンに関係するメソッドの集合を示す検査対象メソッドと、前記メソッドが前記オブジェクトに対して発行される際に守られるべき検査パターンから構成されるパターン定義を読み出し、前記プログラム情報記憶装置から前記オブジェクトの生成場所を読み込み、前記検査対象クラス名と一致する検査対象となる前記抽象オブジェクトの生成場所の集合を検査対象として抽出するリソース識別部と、
前記プログラム情報記憶装置から前記メソッド呼出場所の集合を読み込み、ポインタ解析結果記憶装置から前記ポインタ解析結果の集合を読み込むと、前記メソッド呼出場所の集合から、前記抽象オブジェクトに関係する前記メソッド呼出場所を抽出し、前記コールグラフから前記関係する前記メソッド呼出場所からなる展開したコールグラフを生成するコールグラフ展開部と、
前記コールグラフ展開部より前記展開したコールグラフと、前記抽象オブジェクトと、前記抽象オブジェクトの検査に関係する前記メソッド呼出場所の集合とを受け付けると、前記ポインタ解析結果記憶装置から前記ポインタ解析結果を読み込み、前記展開したコールグラフの各ノードにより与えられる前記コンテキストで前記メソッド呼出場所に含まれる変数が前記オブジェクトを参照するか否かを判定し、参照すると判定した場合、当該ノードと当該メソッド呼出場所のペアをリソース利用箇所と呼ぶ集合に追加する検査用グラフ生成部と、
前記リソース利用箇所と前記展開したコールグラフとに基づいて関数間制御フローグラフを構築し、検査対象である前記抽象オブジェクトを参照する可能性がある前記メソッド呼出場所の前記変数が、前記展開したコールグラフにおけるノードにより与えられる前記コンテキストにおいて前記抽象オブジェクトを参照するか否かを、前記ポインタ解析結果を用いて判定するパターン検査部とを備え、
前記コールグラフ展開部は、
前記メソッド呼出場所に含まれる変数と前記抽象オブジェクトの組み合わせが前記ポインタ解析結果の集合に含まれているか判定し、含まれている場合に、当該メソッド呼出場所に含まれるメソッド名が、前記抽象オブジェクトに対応する前記パターン定義の検査対象メソッドの集合に含まれていれば、当該メソッド呼出場所は前記抽象オブジェクトに関係すると判定する
ことを特徴とするパターン検査装置。 - オブジェクト・センシティブなポインタ解析によって得られる前記ポインタ解析結果を利用することを特徴とする請求項5に記載のパターン検査装置。
- CFA型のポインタ解析による前記ポインタ解析結果を利用することを特徴とする請求項5に記載のパターン検査装置。
- 前記前処理部が、抽象オブジェクトに対してもコンテキストを考慮したポインタ解析を行い、
前記パターン検査部が、関数間に跨った制御フローグラフを生成後に、検査対象オブジェクトを生成する場所を識別することを特徴とする請求項5に記載のパターン検査装置。 - パターン検査装置によるパターン検査方法であって、
前記パターン検査装置が、
オブジェクト指向型言語で記述された検査対象のプログラムに対してコンテキストを考慮したポインタ解析を実行して、前記プログラム中でメソッドの呼出しが発生する場所を記録したメソッド呼出場所、オブジェクトの生成場所と生成される前記オブジェクトの型とを関係付けて記録した抽象オブジェクト、および前記メソッド呼出しの関係を記録したコールグラフから構成されるプログラム情報を取得してプログラム情報記憶装置に保存し、変数とコンテキストと前記抽象オブジェクトの3つ組から構成されるポインタ解析結果を生成してポインタ解析結果記憶装置に保存する前処理ステップと、
前記プログラム情報記憶装置に格納された、前記オブジェクトに対して発行される前記メソッド呼出しのパターン規則を記述し、呼出しパターンを守るべきオブジェクトのクラスを示す検査対象クラス名と、前記パターンに関係するメソッドの集合を示す検査対象メソッドと、前記メソッドが前記オブジェクトに対して発行される際に守られるべき検査パターンから構成されるパターン定義を読み出し、前記プログラム情報記憶装置から前記オブジェクトの生成場所を読み込み、前記検査対象クラス名と一致する検査対象となる前記抽象オブジェクトの生成場所の集合を検査対象として抽出するリソース識別ステップと、
前記プログラム情報記憶装置から前記メソッド呼出場所の集合を読み込み、ポインタ解析結果記憶装置から前記ポインタ解析結果の集合を読み込むと、前記メソッド呼出場所の集合から、前記抽象オブジェクトに関係する前記メソッド呼出場所を抽出し、前記コールグラフから前記関係する前記メソッド呼出場所からなる展開したコールグラフを生成するコールグラフ展開ステップと、
前記コールグラフ展開ステップより前記展開したコールグラフと、前記抽象オブジェクトと、前記抽象オブジェクトの検査に関係する前記メソッド呼出場所の集合とを受け付けると、前記ポインタ解析結果記憶装置から前記ポインタ解析結果を読み込み、前記展開したコールグラフの各ノードにより与えられる前記コンテキストで前記メソッド呼出場所に含まれる変数が前記オブジェクトを参照するか否かを判定し、参照すると判定した場合、当該ノードと当該メソッド呼出場所のペアをリソース利用箇所と呼ぶ集合に追加する検査用グラフ生成ステップと、
前記リソース利用箇所と前記展開したコールグラフとに基づいて関数間制御フローグラフを構築し、検査対象である前記抽象オブジェクトを参照する可能性がある前記メソッド呼出場所の前記変数が、前記展開したコールグラフにおけるノードにより与えられる前記コンテキストにおいて前記抽象オブジェクトを参照するか否かを、前記ポインタ解析結果を用いて判定するパターン検査ステップとを実行し、
前記コールグラフ展開ステップで、
前記メソッド呼出場所に含まれる変数と前記抽象オブジェクトの組み合わせが前記ポインタ解析結果の集合に含まれているか判定し、含まれている場合に、当該メソッド呼出場所に含まれるメソッド名が、前記抽象オブジェクトに対応する前記パターン定義の検査対象メソッドの集合に含まれていれば、当該メソッド呼出場所は前記抽象オブジェクトに関係すると判定する
ことを特徴とするパターン検査方法。 - オブジェクト・センシティブなポインタ解析によって得られる前記ポインタ解析結果を利用することを特徴とする請求項9に記載のパターン検査方法。
- CFA型のポインタ解析による前記ポインタ解析結果を利用することを特徴とする請求項9に記載のパターン検査方法。
- 抽象オブジェクトに対してもコンテキストを考慮したポインタ解析を行い、
関数間に跨った制御フローグラフを生成後に、検査対象オブジェクトを生成する場所を識別することを特徴とする請求項9に記載のパターン検査方法。 - パターン検査装置を構成するコンピュータ上で動作するパターン検査プログラムであって、
前記コンピュータに、
オブジェクト指向型言語で記述された検査対象のプログラムに対してコンテキストを考慮したポインタ解析を実行して、前記プログラム中でメソッドの呼出しが発生する場所を記録したメソッド呼出場所、オブジェクトの生成場所と生成される前記オブジェクトの型とを関係付けて記録した抽象オブジェクト、および前記メソッド呼出しの関係を記録したコールグラフから構成されるプログラム情報を取得してプログラム情報記憶装置に保存し、変数とコンテキストと前記抽象オブジェクトの3つ組から構成されるポインタ解析結果を生成してポインタ解析結果記憶装置に保存する前処理と、
前記プログラム情報記憶装置に格納された、前記オブジェクトに対して発行される前記メソッド呼出しのパターン規則を記述し、呼出しパターンを守るべきオブジェクトのクラスを示す検査対象クラス名と、前記パターンに関係するメソッドの集合を示す検査対象メソッドと、前記メソッドが前記オブジェクトに対して発行される際に守られるべき検査パターンから構成されるパターン定義を読み出し、前記プログラム情報記憶装置から前記オブジェクトの生成場所を読み込み、前記検査対象クラス名と一致する検査対象となる前記抽象オブジェクトの生成場所の集合を検査対象として抽出するリソース識別処理と、
前記プログラム情報記憶装置から前記メソッド呼出場所の集合を読み込み、ポインタ解析結果記憶装置から前記ポインタ解析結果の集合を読み込むと、前記メソッド呼出場所の集合から、前記抽象オブジェクトに関係する前記メソッド呼出場所を抽出し、前記コールグラフから前記関係する前記メソッド呼出場所からなる展開したコールグラフを生成するコールグラフ展開処理と、
前記コールグラフ展開処理より前記展開したコールグラフと、前記抽象オブジェクトと、前記抽象オブジェクトの検査に関係する前記メソッド呼出場所の集合とを受け付けると、前記ポインタ解析結果記憶装置から前記ポインタ解析結果を読み込み、前記展開したコールグラフの各ノードにより与えられる前記コンテキストで前記メソッド呼出場所に含まれる変数が前記オブジェクトを参照するか否かを判定し、参照すると判定した場合、当該ノードと当該メソッド呼出場所のペアをリソース利用箇所と呼ぶ集合に追加する検査用グラフ生成処理と、
前記リソース利用箇所と前記展開したコールグラフとに基づいて関数間制御フローグラフを構築し、検査対象である前記抽象オブジェクトを参照する可能性がある前記メソッド呼出場所の前記変数が、前記展開したコールグラフにおけるノードにより与えられる前記コンテキストにおいて前記抽象オブジェクトを参照するか否かを、前記ポインタ解析結果を用いて判定するパターン検査処理とを実行させ、
前記コールグラフ展開処理で、
前記メソッド呼出場所に含まれる変数と前記抽象オブジェクトの組み合わせが前記ポインタ解析結果の集合に含まれているか判定し、含まれている場合に、当該メソッド呼出場所に含まれるメソッド名が、前記抽象オブジェクトに対応する前記パターン定義の検査対象メソッドの集合に含まれていれば、当該メソッド呼出場所は前記抽象オブジェクトに関係すると判定する
ことを特徴とするパターン検査プログラム。 - オブジェクト・センシティブなポインタ解析によって得られる前記ポインタ解析結果を利用することを特徴とする請求項13に記載のパターン検査プログラム。
- CFA型のポインタ解析による前記ポインタ解析結果を利用することを特徴とする請求項13に記載のパターン検査プログラム。
- 抽象オブジェクトに対してもコンテキストを考慮したポインタ解析を行い、
関数間に跨った制御フローグラフを生成後に、検査対象オブジェクトを生成する場所を識別することを特徴とする請求項13に記載のパターン検査プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009525465A JP5403362B2 (ja) | 2007-08-02 | 2008-08-01 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007201584 | 2007-08-02 | ||
JP2007201584 | 2007-08-02 | ||
PCT/JP2008/063895 WO2009017231A2 (ja) | 2007-08-02 | 2008-08-01 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
JP2009525465A JP5403362B2 (ja) | 2007-08-02 | 2008-08-01 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009017231A1 JPWO2009017231A1 (ja) | 2010-10-28 |
JP5403362B2 true JP5403362B2 (ja) | 2014-01-29 |
Family
ID=40305025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009525465A Expired - Fee Related JP5403362B2 (ja) | 2007-08-02 | 2008-08-01 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100199264A1 (ja) |
JP (1) | JP5403362B2 (ja) |
WO (1) | WO2009017231A2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8776027B2 (en) * | 2009-03-06 | 2014-07-08 | Microsoft Corporation | Extracting and collecting platform use data |
US8689180B2 (en) * | 2009-11-03 | 2014-04-01 | International Business Machines Corporation | Systems and methods for resource leak detection |
US9535663B2 (en) * | 2010-09-17 | 2017-01-03 | Oracle International Corporation | Pattern-based construction and extension of enterprise applications in a cloud computing environment |
JP5656602B2 (ja) * | 2010-12-14 | 2015-01-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ポインタを解析する方法、並びにそのコンピュータ及びコンピュータ・プログラム |
US9003371B2 (en) | 2010-12-30 | 2015-04-07 | International Business Machines Corporation | Recursive method call representation in a plot view of method execution performance |
CN102323906B (zh) * | 2011-09-08 | 2014-01-08 | 哈尔滨工程大学 | 一种基于遗传算法的mc/dc测试数据自动生成方法 |
US9202047B2 (en) | 2012-05-14 | 2015-12-01 | Qualcomm Incorporated | System, apparatus, and method for adaptive observation of mobile device behavior |
US9690635B2 (en) | 2012-05-14 | 2017-06-27 | Qualcomm Incorporated | Communicating behavior information in a mobile computing device |
US9747440B2 (en) | 2012-08-15 | 2017-08-29 | Qualcomm Incorporated | On-line behavioral analysis engine in mobile device with multiple analyzer model providers |
US9319897B2 (en) | 2012-08-15 | 2016-04-19 | Qualcomm Incorporated | Secure behavior analysis over trusted execution environment |
US9686023B2 (en) | 2013-01-02 | 2017-06-20 | Qualcomm Incorporated | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors |
US10089582B2 (en) | 2013-01-02 | 2018-10-02 | Qualcomm Incorporated | Using normalized confidence values for classifying mobile device behaviors |
US9684870B2 (en) | 2013-01-02 | 2017-06-20 | Qualcomm Incorporated | Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors |
US9742559B2 (en) | 2013-01-22 | 2017-08-22 | Qualcomm Incorporated | Inter-module authentication for securing application execution integrity within a computing device |
US9501382B2 (en) * | 2013-06-25 | 2016-11-22 | Purdue Research Foundation | Systems and methods of detecting power bugs |
WO2015060832A1 (en) * | 2013-10-22 | 2015-04-30 | Mcafee, Inc. | Control flow graph representation and classification |
US10296737B2 (en) * | 2015-12-09 | 2019-05-21 | International Business Machines Corporation | Security enforcement in the presence of dynamic code loading |
CN105608003B (zh) * | 2015-12-17 | 2018-04-17 | 西安电子科技大学 | 基于控制流分析和数据流分析的Java程序静态分析方法 |
US20240045662A1 (en) * | 2022-08-02 | 2024-02-08 | Nvidia Corporation | Software code verification using call graphs for autonomous systems and applications |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348475A (ja) * | 1993-06-14 | 1994-12-22 | Nec Corp | ポインタ解析システム |
JPH07262044A (ja) * | 1994-03-25 | 1995-10-13 | Hitachi Ltd | イベントトレース解析方法 |
WO2002046921A1 (fr) * | 2000-12-08 | 2002-06-13 | Fujitsu Limited | Procede et dispositif pour l'analyse de sequences |
JP2003036186A (ja) * | 2001-07-25 | 2003-02-07 | Toshiba Corp | 別名検索装置、別名検索方法及び別名検索用プログラム |
JP2005100402A (ja) * | 2003-09-23 | 2005-04-14 | Microsoft Corp | オブジェクト指向プログラムのための領域ベースのメモリ管理 |
JP2005258944A (ja) * | 2004-03-12 | 2005-09-22 | Internatl Business Mach Corp <Ibm> | プログラム解析装置、その解析方法及びプログラム |
JP2006146613A (ja) * | 2004-11-19 | 2006-06-08 | Matsushita Electric Ind Co Ltd | プログラム変換方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526755B2 (en) * | 2003-10-08 | 2009-04-28 | Microsoft Corporation | Plug-in pre- and postconditions for static program analysis |
US8332939B2 (en) * | 2007-02-21 | 2012-12-11 | International Business Machines Corporation | System and method for the automatic identification of subject-executed code and subject-granted access rights |
-
2008
- 2008-08-01 WO PCT/JP2008/063895 patent/WO2009017231A2/ja active Application Filing
- 2008-08-01 US US12/671,010 patent/US20100199264A1/en not_active Abandoned
- 2008-08-01 JP JP2009525465A patent/JP5403362B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348475A (ja) * | 1993-06-14 | 1994-12-22 | Nec Corp | ポインタ解析システム |
JPH07262044A (ja) * | 1994-03-25 | 1995-10-13 | Hitachi Ltd | イベントトレース解析方法 |
WO2002046921A1 (fr) * | 2000-12-08 | 2002-06-13 | Fujitsu Limited | Procede et dispositif pour l'analyse de sequences |
JP2003036186A (ja) * | 2001-07-25 | 2003-02-07 | Toshiba Corp | 別名検索装置、別名検索方法及び別名検索用プログラム |
JP2005100402A (ja) * | 2003-09-23 | 2005-04-14 | Microsoft Corp | オブジェクト指向プログラムのための領域ベースのメモリ管理 |
JP2005258944A (ja) * | 2004-03-12 | 2005-09-22 | Internatl Business Mach Corp <Ibm> | プログラム解析装置、その解析方法及びプログラム |
JP2006146613A (ja) * | 2004-11-19 | 2006-06-08 | Matsushita Electric Ind Co Ltd | プログラム変換方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009017231A1 (ja) | 2010-10-28 |
WO2009017231A2 (ja) | 2009-02-05 |
US20100199264A1 (en) | 2010-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5403362B2 (ja) | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム | |
US8762970B2 (en) | Method, computer program and computer system for assisting in analyzing program | |
US7890808B2 (en) | Testing software applications based on multiple data sources | |
CN111104335B (zh) | 一种基于多层次分析的c语言缺陷检测方法及装置 | |
CN112035359B (zh) | 程序测试方法、装置、电子设备及存储介质 | |
US20090319246A1 (en) | Detection program, detecting device, and detecting method | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
CN115146282A (zh) | 基于ast的源代码异常检测方法及其装置 | |
US20100036981A1 (en) | Finding Hot Call Paths | |
KR102114547B1 (ko) | 대상 프로그램에 포함된 대상 함수를 테스트하는 방법 및 장치 | |
CN108874656A (zh) | 代码测试方法、装置、可读存储介质及计算机设备 | |
JP6723483B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
US8359579B2 (en) | Monitoring dynamic aspect oriented applications at execution time | |
CN103559127A (zh) | 一种缺陷处理方法及缺陷处理器 | |
CN116483888A (zh) | 程序评估方法及装置、电子设备和计算机可读存储介质 | |
JP2006259820A (ja) | 故障検出改善装置、故障検出改善プログラム、故障検出改善方法 | |
CN112286802B (zh) | 一种测试程序性能方法、装置和电子设备 | |
JP7331681B2 (ja) | テスト実行プログラム、テスト実行方法、およびテスト実行装置 | |
CN112699376A (zh) | 源代码逻辑漏洞检测方法、装置、计算机设备及存储介质 | |
US7689399B1 (en) | Automatic extraction of design properties | |
Zeng et al. | A unified framework for evaluating test criteria in model-checking-assisted test case generation | |
JP4869581B2 (ja) | カバレッジ計測システム及びそのプログラム | |
JP6369102B2 (ja) | ソフトウェア試験支援システム | |
JPH08272623A (ja) | プログラム解析装置及びプログラム解析方法 | |
US11782682B2 (en) | Providing metric data for patterns usable in a modeling environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130909 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131016 |
|
LAPS | Cancellation because of no payment of annual fees |