JP5176478B2 - データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム - Google Patents
データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム Download PDFInfo
- Publication number
- JP5176478B2 JP5176478B2 JP2007274365A JP2007274365A JP5176478B2 JP 5176478 B2 JP5176478 B2 JP 5176478B2 JP 2007274365 A JP2007274365 A JP 2007274365A JP 2007274365 A JP2007274365 A JP 2007274365A JP 5176478 B2 JP5176478 B2 JP 5176478B2
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- analysis rule
- procedure
- data flow
- candidate
- 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
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)
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 (5)
- データの性質を定義した解析規則を記憶する記憶部と、
データフロー解析指示を受け付けると、解析の対象となる解析対象プログラムと、前記
記憶部によって記憶された解析規則とを用いてデータフロー解析を行い、安全でないデー
タが含まれる手続きを検出箇所として抽出する検出箇所抽出手段と、
前記検出箇所抽出手段によって抽出された検出箇所の制御フローグラフを作成し、当該
検出箇所の位置から前記制御フローグラフを逆順に到達可能な手続きを解析規則の候補と
して生成する解析規則候補生成手段と、
前記解析規則候補生成手段によって生成された解析規則の候補を所定の出力部に出力す
る解析規則候補出力手段と、
前記解析規則候補出力手段によって出力された前記解析規則の候補のうち、解析規則と
して追加する解析規則の候補を受け付ける解析規則追加受付手段と、
前記解析規則追加受付手段によって受け付けられた前記解析規則の候補を解析規則とし
て前記記憶部に追加するように設定する追加規則設定手段と、
を備えることを特徴とするデータフロー解析装置。 - 前記解析規則候補生成手段は、前記検出箇所の位置より前に呼ばれている手続きから返
値がないものを除外し、残った手続きを解析規則の候補として生成することを特徴とする
請求項1に記載のデータフロー解析装置。 - 前記解析規則候補生成手段は、前記解析規則の候補として、安全化手続き定義候補、要
注意手続き候補、無視手続き定義候補のいずれか一つまたは複数を生成することを特徴と
する請求項1または請求項2に記載のデータフロー解析装置。 - コンピュータが実行するデータフロー解析方法であって、
データフロー解析指示を受け付けると、解析の対象となる解析対象プログラムと、デー
タの性質を定義した解析規則を記憶する記憶部によって記憶された解析規則とを用いてデ
ータフロー解析を行い、安全でないデータが含まれる手続きを検出箇所として抽出する検
出箇所抽出工程と、
前記検出箇所抽出工程によって抽出された検出箇所の制御フローグラフを作成し、当該
検出箇所の位置から前記制御フローグラフを逆順に到達可能な手続きを解析規則の候補と
して生成する解析規則候補生成工程と、
前記解析規則候補生成工程によって生成された解析規則の候補を所定の出力部に出力す
る解析規則候補出力工程と、
前記解析規則候補出力工程によって出力された前記解析規則の候補のうち、解析規則と
して追加する解析規則の候補を受け付ける解析規則追加受付工程と、
前記解析規則追加受付工程によって受け付けられた前記解析規則の候補を解析規則とし
て前記記憶部に追加するように設定する追加規則設定工程と、
を前記コンピュータが実行することを特徴とするデータフロー解析方法。 - データフロー解析指示を受け付けると、解析の対象となる解析対象プログラムと、デー
タの性質を定義した解析規則を記憶する記憶部によって記憶された解析規則とを用いてデ
ータフロー解析を行い、安全でないデータが含まれる手続きを検出箇所として抽出する検
出箇所抽出手順と、
前記検出箇所抽出手順によって抽出された検出箇所の制御フローグラフを作成し、当該
検出箇所の位置から前記制御フローグラフを逆順に到達可能な手続きを解析規則の候補と
して生成する解析規則候補生成手順と、
前記解析規則候補生成手順によって生成された解析規則の候補を所定の出力部に出力す
る解析規則候補出力手順と、
前記解析規則候補出力手順によって出力された前記解析規則の候補のうち、解析規則と
して追加する解析規則の候補を受け付ける解析規則追加受付手順と、
前記解析規則追加受付手順によって受け付けられた前記解析規則の候補を解析規則とし
て前記記憶部に追加するように設定する追加規則設定手順と、
をコンピュータに実行させることを特徴とするデータフロー解析プログラム。
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 JP2009104342A (ja) | 2009-05-14 |
JP5176478B2 true 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 |
US20140282046A1 (en) * | 2013-03-15 | 2014-09-18 | Aetherpal Inc. | Dashboard notifications on management console during a remote control session |
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 |
US9824214B2 (en) | 2014-08-15 | 2017-11-21 | 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 |
Family Cites Families (5)
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 |
CA2522605C (en) * | 2003-04-18 | 2014-12-09 | Ounce Labs, Inc. | Method and system for detecting vulnerabilities in source code |
US8584239B2 (en) * | 2004-04-01 | 2013-11-12 | Fireeye, Inc. | Virtual machine with dynamic data flow analysis |
JPWO2006087780A1 (ja) * | 2005-02-17 | 2008-07-03 | 富士通株式会社 | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
-
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
Also Published As
Publication number | Publication date |
---|---|
JP2009104342A (ja) | 2009-05-14 |
US20090106182A1 (en) | 2009-04-23 |
US8296254B2 (en) | 2012-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5176478B2 (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
US8768651B2 (en) | System and method for automatic standardization and verification of system design requirements | |
JP5775829B2 (ja) | ソフトウェアの構造可視化プログラムおよびシステム | |
US20130297579A1 (en) | Code regeneration determination from selected metadata fingerprints | |
US20070266378A1 (en) | Source code generation method, apparatus, and program | |
US8650532B2 (en) | Change notification and information update based on uncompiled software development project | |
JP6354457B2 (ja) | アプリケーション開発支援装置、そのデータ処理方法、およびプログラム | |
US20140068559A1 (en) | Annotation-based infrastructure for automatically generating "predictable" ids for visual components in a web-application | |
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
JP5845888B2 (ja) | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム | |
CN118176508A (zh) | 复制粘贴更新编辑自动化 | |
KR20140050323A (ko) | 라이선스 검증 방법 및 그 장치 | |
CN114443041A (zh) | 抽象语法树的解析方法及计算机程序产品 | |
US20210389977A1 (en) | System migration support apparatus, system migration support method and program | |
WO2012036304A1 (ja) | 動作検証支援装置、動作検証支援方法、及び動作検証支援プログラム | |
JP6866270B2 (ja) | Sql文抽出装置、sql文抽出方法及びプログラム | |
JP6107455B2 (ja) | テストスケジュール決定装置、プログラム | |
Luckow et al. | Symbolic pathfinder v7 | |
WO2021100156A1 (ja) | テストデータ生成装置、テストデータ生成方法、及びプログラム | |
Ko et al. | Feedlack detects missing feedback in web applications | |
CN115688108A (zh) | 一种webshell静态检测方法及系统 | |
JP5720531B2 (ja) | ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法 | |
JP2009134360A (ja) | モデル検査システム、モデル検査方法およびモデル検査用プログラム | |
KR20190123146A (ko) | 애플리케이션의 보안성 향상을 위한 애플리케이션 변환 장치 및 방법 | |
JP2009211622A (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 |