JP2014225198A - プログラム分析装置及び方法及びプログラム - Google Patents
プログラム分析装置及び方法及びプログラム Download PDFInfo
- Publication number
- JP2014225198A JP2014225198A JP2013105119A JP2013105119A JP2014225198A JP 2014225198 A JP2014225198 A JP 2014225198A JP 2013105119 A JP2013105119 A JP 2013105119A JP 2013105119 A JP2013105119 A JP 2013105119A JP 2014225198 A JP2014225198 A JP 2014225198A
- Authority
- JP
- Japan
- Prior art keywords
- concept
- program
- formal
- analysis
- scenario
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】 本発明は、プログラムへの入力操作の集合であり、該プログラムの典型的な機能を網羅するシナリオ群の実行に関するトレース情報が格納されている実行トレース記憶手段と、シナリオをオブジェクトとし、トレース情報に出現するモジュールを属性とする形式文脈を抽出する形式文脈抽出手段と、形式文脈を形式概念分析の手法で分析し、概念束を生成する概念分析手段と、概念束に含まれるモジュールを系列パターンマイニングの手法で分析し、モジュールの頻出系列を抽出する系列パターンマイニング手段と、を有する。
【選択図】 図1
Description
プログラムへの入力操作の集合であり、該プログラムの典型的な機能を網羅するシナリオ群の実行に関するトレース情報が格納されている実行トレース記憶手段と、
前記シナリオをオブジェクトとし、前記トレース情報に出現するモジュールを属性とする形式文脈を抽出する形式文脈抽出手段と、
前記形式文脈を形式概念分析の手法で分析し、概念束を生成する概念分析手段と、
前記概念束に含まれるモジュールを系列パターンマイニングの手法で分析し、モジュール間の依存関係を抽出する系列パターンマイニング手段と、を有する。
前記概念束のうち理解したい形式概念を選択し、選択した該形式概念が関連するシナリオ群のトレース情報のみを入力として、該形式概念と関係するトレース情報と該トレース情報の部分系列となるモジュールとその頻出系列を出力する手段を含む。
1) 理解の対象となるソースコード;
2) プログラムへの入力操作の集合であり、プログラムの典型的な機能を網羅するシナリオ群;
3) シナリオを起動した際に、実行されるモジュールの実行トレースを取得する手段;
4) シナリオをオブジェクトとし、シナリオにより実行されるモジュールを属性とする形式文脈を抽出する手段;
5) 形式文脈を形式概念分析の手法で分析する手段;
6) 理解したい形式概念を選択し、その形式概念に固有でない実行トレースを判別、除去する手段;
7) 系列パターンマイニングを実行するための手段;
を使用することが最良の形態である。1)に対し、2)を定義し、3)によりトレースを取得する。さらにトレースを用いて、4)としてシナリオをオブジェクト、シナリオ実行時に実行されるモジュールを属性とする形式文脈を構成する。これに対し5)を施して、6)により必要の無い情報を判別除去し、7)によりモジュール間の依存関係(実行順序)分析を行なうことで、本願発明が実施可能となる。
ステップ340)ステップ330から実行トレースが渡されると、入力された実行トレースに含まれるモジュールを順に取り出すループを実行し、モジュールをループの内側のステップ350に出力として渡す。
ステップ350)ステップ340からモジュールが渡されると、入力がnullかどうかを判断し、入力がnullでない場合ステップ360にモジュールを渡す。入力がnullである場合は、ステップ340に戻り次のモジュールを取出す。
2)対象とする情報システムがミドルウエアやプラットフォーム製品を多用している;
以上の様な情報システムをリバースエンジニアリングを用いて理解する際には、対象システムのアプリケーション部分のトレース情報を取得しても、どのような仕組み・因果関係でアプリケーションが実行されるのか判らない場合がある。例えば、Webフレームワークを用いたシステムにおいて、画面‐メソッド間の依存関係をWebフレームワークが司っており、因果関係がソースコードを読解することでは判らない場合等が挙げられる。このような場合、保守者によるプログラムの構造や処理内容の理解を支援するために従来技術や、本発明を使用することが、産業上の利用方法として想定される。
1) 設計ドキュメントに記載された機能の、プログラムにおける実装箇所を特定する;
2) 特徴として得られたモジュールの実装状況の分析にもとづき、設計ドキュメントの修正に資することができる;
という効果を求める産業上の利用可能性がある。
110 CPU
111 トレース部
112 トレース結合部
113 系列パターン抽出部
114 形式文脈抽出部
115 概念分析部
116 部分系列抽出部
120 メモリ
121 形式文脈記憶部
122 実行トレース部分系列記憶部
130 磁気ディスク
131 実行トレース記憶部
Claims (5)
- プログラムの構造や処理の理解を支援するためのプログラム分析装置であって、
プログラムへの入力操作の集合であり、該プログラムの典型的な機能を網羅するシナリオ群の実行に関するトレース情報が格納されている実行トレース記憶手段と、
前記シナリオをオブジェクトとし、前記トレース情報に出現するモジュールを属性とする形式文脈を抽出する形式文脈抽出手段と、
前記形式文脈を形式概念分析の手法で分析し、概念束を生成する概念分析手段と、
前記概念束に含まれるモジュールを系列パターンマイニングの手法で分析し、モジュール間の依存関係を抽出する系列パターンマイニング手段と、
を有することを特徴とするプログラム分析装置。 - 前記系列パターンマイニング手段は、
前記概念束のうち理解したい形式概念を選択し、選択した該形式概念が関連するシナリオ群のトレース情報のみを入力として、該形式概念と関係するトレース情報と該トレース情報の部分系列となるモジュールとその頻出系列を出力する手段を含む
請求項1記載のプログラム分析装置。 - プログラムの構造や処理の理解を支援するためのプログラム分析方法であって、
プログラムへの入力操作の集合であり、該プログラムの典型的な機能を網羅するシナリオ群の実行に関するトレース情報が格納されている実行トレース記憶手段と、
形式文脈抽出手段、概念分析手段、系列パターンマイニング手段を有する装置において、
前記形式文脈抽出手段が、前記シナリオをオブジェクトとし、前記トレース情報に出現するモジュールを属性とする形式文脈を抽出する形式文脈抽出ステップと、
前記概念分析手段が、前記形式文脈を形式概念分析の手法で分析し、概念束を生成する概念分析ステップと、
前記系列パターンマイニング手段が、前記概念束に含まれるモジュールを系列パターンマイニングの手法で分析し、モジュール間の依存関係を抽出する系列パターンマイニングステップと、
を行うことを特徴とするプログラム分析方法。 - 前記系列パターンマイニングステップにおいて、
前記形式概念のうち理解したい形式概念を選択し、選択した該形式概念が関連するシナリオ群のトレース情報のみを入力として、該形式概念と関係するトレース情報と該トレース情報の部分系列となるモジュールとその頻出系列を出力する
請求項3記載のプログラム分析方法。 - コンピュータを、
請求項1または2記載のプログラム分析装置の各手段として機能させるためのプログラム分析プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013105119A JP6021109B2 (ja) | 2013-05-17 | 2013-05-17 | プログラム分析装置及び方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013105119A JP6021109B2 (ja) | 2013-05-17 | 2013-05-17 | プログラム分析装置及び方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014225198A true JP2014225198A (ja) | 2014-12-04 |
JP6021109B2 JP6021109B2 (ja) | 2016-11-02 |
Family
ID=52123817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013105119A Active JP6021109B2 (ja) | 2013-05-17 | 2013-05-17 | プログラム分析装置及び方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6021109B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019075637A1 (zh) * | 2017-10-17 | 2019-04-25 | 深圳中兴力维技术有限公司 | 输入输出请求行为的检测方法及装置、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008096632A1 (ja) * | 2007-02-05 | 2008-08-14 | Nec Corporation | オブジェクト図表示装置、オブジェクト図表示方法、プログラム、及びコンピュータ読み取り可能な記録媒体 |
JP2009230618A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 設計書作成プログラム、該装置、及び該方法 |
-
2013
- 2013-05-17 JP JP2013105119A patent/JP6021109B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008096632A1 (ja) * | 2007-02-05 | 2008-08-14 | Nec Corporation | オブジェクト図表示装置、オブジェクト図表示方法、プログラム、及びコンピュータ読み取り可能な記録媒体 |
JP2009230618A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 設計書作成プログラム、該装置、及び該方法 |
Non-Patent Citations (4)
Title |
---|
JPN6016013826; 風戸 広史: 'ソフトウェアの機能に対応する実装構造の抽出と可視化手法の提案' 電子情報通信学会技術研究報告 第112巻, 第165号, 20120720, 第91-96頁, 一般社団法人電子情報通信学会 * |
JPN6016013827; 風戸 広史: '多層システムのための形式概念分析に基づくFeature Location手法の提案' 電子情報通信学会技術研究報告 第111巻, 第481号, 20120306, 第139-144頁, 社団法人電子情報通信学会 * |
JPN6016013828; 石尾 隆: 'シーケンシャルパターンマイニングを用いたコーディングパターン抽出' 情報処理学会論文誌 論文誌ジャーナル 第50巻, 第2号 [CD-ROM], 20090215, 第860-871頁, 社団法人情報処理学会 * |
JPN6016013829; 鈴木 治: '形式概念分析 -入門・支援ソフト・応用-' 知能と情報 第19巻, 第2号, 20070415, 第103-142頁, 日本知能情報ファジィ学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019075637A1 (zh) * | 2017-10-17 | 2019-04-25 | 深圳中兴力维技术有限公司 | 输入输出请求行为的检测方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP6021109B2 (ja) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928155B2 (en) | Automated anomaly detection service on heterogeneous log streams | |
US9189377B1 (en) | Automation testing using descriptive maps | |
Sivanandan | Agile development cycle: Approach to design an effective Model Based Testing with Behaviour driven automation framework | |
CN102236549A (zh) | 跨动态边界的运行时分析的可视化 | |
Seriai et al. | Mining features from the object-oriented source code of software variants by combining lexical and structural similarity | |
JP5725623B2 (ja) | プログラム分析装置及び方法及びプログラム | |
JP6021109B2 (ja) | プログラム分析装置及び方法及びプログラム | |
Acher et al. | Vivid: A variability-based tool for synthesizing video sequences | |
JP2013003669A (ja) | グラフ構造を有するデータから頻度の高い部分構造を抽出する方法、その装置およびプログラム | |
Lenka et al. | Comparative analysis on automated testing of web-based application | |
Malaverri et al. | A provenance–based approach to evaluate data quality in eScience | |
JP5447054B2 (ja) | データ生成方法,データ生成装置,およびデータ生成プログラム | |
Popp | Comprehensive support of the lifecycle of machine learning models in model management systems | |
CN114115831A (zh) | 数据处理方法、装置、设备和存储介质 | |
Slob et al. | The interactive narrator tool: Effective requirements exploration and discussion through visualization | |
JP6287506B2 (ja) | データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置 | |
Nen et al. | Pigeon-table: A quick prototyping tool using twitter bootstraps and AngularJS for data-driven web application development | |
Cui et al. | REMS: Recommending extract method refactoring opportunities via multi-view representation of code property graph | |
Guo et al. | A business process explorer: recovering and visualizing e-commerce business processes | |
Moosavi et al. | Indexing rich internet applications using components-based crawling | |
Li et al. | Stage-based process performance analysis | |
CN104408120A (zh) | 源代码的处理方法及装置 | |
US20130265326A1 (en) | Discovering a reporting model from an existing reporting environment | |
Smirnov et al. | Linked-data integration for workflow-based computational experiments | |
Harms et al. | Consistency of task trees generated from website usage traces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160613 |
|
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: 20160920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6021109 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |