JP2009104342A - データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム - Google Patents
データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム Download PDFInfo
- Publication number
- JP2009104342A JP2009104342A JP2007274365A JP2007274365A JP2009104342A JP 2009104342 A JP2009104342 A JP 2009104342A JP 2007274365 A JP2007274365 A JP 2007274365A JP 2007274365 A JP2007274365 A JP 2007274365A JP 2009104342 A JP2009104342 A JP 2009104342A
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- data flow
- procedure
- analysis rule
- rule
- 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.)
- Granted
Links
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/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】データフロー解析装置は、解析対象プログラムと解析規則から検出箇所を抽出する。そして、データフロー解析装置は、抽出された検出箇所に基づいて、追加規則候補を生成する。具体的には、データフロー解析装置は、検出箇所の手続きの制御フローグラフを作成し、検出箇所の位置から制御フローグラフを逆順に到達可能なノードのうち、手続き呼び出しを抽出し、重複しているもの、すでに解析規則に安全化手続き定義として存在するもの、返値がないものを全て除外し、残った手続き群を追加規則候補として生成する。その後、データフロー解析装置は、生成された追加規則候補を表示する。
【選択図】 図1
Description
まず最初に、図1を用いて、実施例1に係るデータフロー解析装置の概要および特徴を説明する。図1は、実施例1に係るデータフロー解析装置の概要および特徴を説明するための図である。なお、以下では、主に安全化手続きの追加規則候補を生成する場合を説明する。
次に、図2を用いて、図1に示したデータフロー解析装置10の構成を説明する。図2は、実施例1に係るデータフロー解析装置10の構成を示すブロック図である。同図に示すように、このデータフロー解析装置10は、入力部11、出力部12、制御部13、記憶部14を備える。以下にこれらの各部の処理を説明する。
次に、図11および図12を用いて、実施例1に係るデータフロー解析装置10による処理を説明する。図11は、実施例1に係るデータフロー解析装置10の処理動作を示すフローチャートであり、図12は、実施例1に係るデータフロー解析装置の追加規則候補生成処理の手順を説明するためのフローチャートである。
上述してきたように、データフロー解析装置10は、検出箇所に基づいて、解析規則の候補を生成し、生成された解析規則候補を出力部12に出力するので、解析規則の追加案を自動提案する結果、解析規則の作成の手間を軽減することが可能である。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、プログラム解析部13aおよび追加規則候補生成部13bを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、データフロー解析プログラムを実行するコンピュータを示す図である。
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成手段と、
前記解析規則候補生成手段によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力手段と、
を備えることを特徴とするデータフロー解析装置。
前記解析規則追加受付手段によって受け付けられた前記解析規則候補を解析規則として追加するように設定する追加規則設定手段と、
をさらに備えることを特徴とする付記1〜4のいずれか一つに記載のデータフロー解析装置。
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成工程と、
前記解析規則候補生成工程によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力工程と、
を含んだことを特徴とするデータフロー解析方法。
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成手順と、
前記解析規則候補生成手順によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力手順と、
をコンピュータに実行させることを特徴とするデータフロー解析プログラム。
11 入力部
12 出力部
13 制御部
13a プログラム解析部
13b 追加規則候補生成部
13c 追加規則提案部
13d 追加規則設定部
14 記憶部
14a 解析対象記憶部
14b 解析規則記憶部
Claims (7)
- データの性質を定義した解析規則を用いて、解析の対象となる解析対象プログラムのデータフロー解析を行い、安全でないデータが含まれる手続きを検出箇所として出力するデータフロー解析装置であって、
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成手段と、
前記解析規則候補生成手段によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力手段と、
を備えることを特徴とするデータフロー解析装置。 - 前記解析規則候補生成手段は、前記検出箇所の制御フローグラフを作成し、当該検出箇所の位置より前に呼ばれている手続きを解析規則の候補として生成することを特徴とする請求項1に記載のデータフロー解析装置。
- 前記解析規則候補生成手段は、前記検出箇所の位置より前に呼ばれている手続きから返値がないものを除外し、残った手続きを解析規則の候補として生成することを特徴とする請求項2に記載のデータフロー解析装置。
- 前記解析規則候補生成手段は、前記解析規則の候補として、安全化手続き定義候補、要注意手続き候補、無視手続き定義候補のいずれか一つまたは複数を生成することを特徴とする請求項1〜3のいずれか一つに記載のデータフロー解析装置。
- 前記解析規則候補出力手段によって出力された前記解析規則候補のうち、解析規則として追加する解析規則候補を受け付ける解析規則追加受付手段と、
前記解析規則追加受付手段によって受け付けられた前記解析規則候補を解析規則として追加するように設定する追加規則設定手段と、
をさらに備えることを特徴とする請求項1〜4のいずれか一つに記載のデータフロー解析装置。 - データの性質を定義した解析規則を用いて、解析の対象となる解析対象プログラムのデータフロー解析を行い、安全でないデータが含まれる手続きを検出箇所として出力するデータフロー解析方法であって、
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成工程と、
前記解析規則候補生成工程によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力工程と、
を含んだことを特徴とするデータフロー解析方法。 - データの性質を定義した解析規則を用いて、解析の対象となる解析対象プログラムのデータフロー解析を行い、安全でないデータが含まれる手続きを検出箇所として出力するデータフロー解析方法をコンピュータに実行させるデータフロー解析プログラムであって、
前記検出箇所に基づいて、解析規則の候補を生成する解析規則候補生成手順と、
前記解析規則候補生成手順によって生成された解析規則候補を所定の出力部に出力する解析規則候補出力手順と、
をコンピュータに実行させることを特徴とするデータフロー解析プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007274365A JP5176478B2 (ja) | 2007-10-22 | 2007-10-22 | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム |
US12/255,098 US8296254B2 (en) | 2007-10-22 | 2008-10-21 | Data flow analyzing apparatus, data flow analyzing method and data flow analyzing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007274365A JP5176478B2 (ja) | 2007-10-22 | 2007-10-22 | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009104342A true JP2009104342A (ja) | 2009-05-14 |
JP5176478B2 JP5176478B2 (ja) | 2013-04-03 |
Family
ID=40564466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007274365A Expired - Fee Related JP5176478B2 (ja) | 2007-10-22 | 2007-10-22 | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8296254B2 (ja) |
JP (1) | JP5176478B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833504B (zh) * | 2010-04-19 | 2015-04-15 | 张翀斌 | 一种基于模型检验的时序软件质量缺陷检测方法及系统 |
TWI446163B (zh) * | 2010-09-27 | 2014-07-21 | Etron Technology Inc | 同時分析效能與錯誤的電路及其方法 |
US8806464B2 (en) | 2012-04-26 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | Process flow optimized directed graph traversal |
EP2778925A3 (en) * | 2013-03-15 | 2014-10-08 | Aetherpal Inc. | Dashboard notifications on management console during a remote control session |
US9824214B2 (en) | 2014-08-15 | 2017-11-21 | Securisea, Inc. | High performance software vulnerabilities detection system and methods |
US9454659B1 (en) | 2014-08-15 | 2016-09-27 | Securisea, Inc. | Software vulnerabilities detection system and methods |
US10599852B2 (en) | 2014-08-15 | 2020-03-24 | Securisea, Inc. | High performance software vulnerabilities detection system and methods |
US10956134B2 (en) * | 2019-08-02 | 2021-03-23 | Sap Se | Itemization of rule branch condition expressions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
JP2006523898A (ja) * | 2003-04-18 | 2006-10-19 | オンス ラブス,インク | ソースコードの脆弱点の検出法および検出システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2809048B2 (ja) | 1993-05-24 | 1998-10-08 | 日本電気株式会社 | 対画面デバッグ方式 |
US7114185B2 (en) * | 2001-12-26 | 2006-09-26 | Mcafee, Inc. | Identifying malware containing computer files using embedded text |
US8584239B2 (en) * | 2004-04-01 | 2013-11-12 | Fireeye, Inc. | Virtual machine with dynamic data flow analysis |
-
2007
- 2007-10-22 JP JP2007274365A patent/JP5176478B2/ja not_active Expired - Fee Related
-
2008
- 2008-10-21 US US12/255,098 patent/US8296254B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006523898A (ja) * | 2003-04-18 | 2006-10-19 | オンス ラブス,インク | ソースコードの脆弱点の検出法および検出システム |
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
Non-Patent Citations (2)
Title |
---|
CSNB200800377001; Viega,J.&McGraw,G.著、齋藤孝道監訳: Building Secure Software 第1版, 20060725, 第139-140頁, 株式会社オーム社 * |
JPN6012028201; Viega,J.&McGraw,G.著、齋藤孝道監訳: Building Secure Software 第1版, 20060725, 第139-140頁, 株式会社オーム社 * |
Also Published As
Publication number | Publication date |
---|---|
US20090106182A1 (en) | 2009-04-23 |
US8296254B2 (en) | 2012-10-23 |
JP5176478B2 (ja) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5176478B2 (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
US9389849B2 (en) | Test case pattern matching | |
US20160357519A1 (en) | Natural Language Engine for Coding and Debugging | |
US10176270B2 (en) | Performance of template based javascript widgets | |
US20130297579A1 (en) | Code regeneration determination from selected metadata fingerprints | |
JP6354457B2 (ja) | アプリケーション開発支援装置、そのデータ処理方法、およびプログラム | |
JP2013156786A (ja) | ソフトウェアの構造可視化プログラムおよびシステム | |
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
JP5303795B2 (ja) | アプリケーションの解析方法、解析システム及び解析プログラム | |
JP5845888B2 (ja) | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム | |
Stocco et al. | PESTO: A tool for migrating DOM-based to visual web tests | |
US20210389977A1 (en) | System migration support apparatus, system migration support method and program | |
WO2012036304A1 (ja) | 動作検証支援装置、動作検証支援方法、及び動作検証支援プログラム | |
JP6107455B2 (ja) | テストスケジュール決定装置、プログラム | |
US20100275183A1 (en) | Source code auditor with a customized rules builder | |
Luckow et al. | Symbolic pathfinder v7 | |
WO2021100156A1 (ja) | テストデータ生成装置、テストデータ生成方法、及びプログラム | |
JP2009211622A (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
JP2008165342A (ja) | ソースコード生成方法及び装置並びにプログラム | |
JP6866270B2 (ja) | Sql文抽出装置、sql文抽出方法及びプログラム | |
Ko et al. | Feedlack detects missing feedback in web applications | |
CN115688108A (zh) | 一种webshell静态检测方法及系统 | |
JP5720531B2 (ja) | ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法 | |
JP2009134360A (ja) | モデル検査システム、モデル検査方法およびモデル検査用プログラム | |
JP6116983B2 (ja) | エントリーポイント抽出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120802 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121119 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121126 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121224 |
|
LAPS | Cancellation because of no payment of annual fees |