JP6880962B2 - プログラム分析装置、プログラム分析方法および分析プログラム - Google Patents
プログラム分析装置、プログラム分析方法および分析プログラム Download PDFInfo
- Publication number
- JP6880962B2 JP6880962B2 JP2017080776A JP2017080776A JP6880962B2 JP 6880962 B2 JP6880962 B2 JP 6880962B2 JP 2017080776 A JP2017080776 A JP 2017080776A JP 2017080776 A JP2017080776 A JP 2017080776A JP 6880962 B2 JP6880962 B2 JP 6880962B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- service component
- program group
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Description
図1は、実施例1にかかる分析装置を説明する図である。分析装置10は、複数のプログラムと複数のデータとを含むプログラム資産に対して疎結合分析を実行する。つまり、分析装置10は、プログラム資産の内部構造の把握と機能やデータをサービスとして切出しやすい形への再構造化を行う。
図2は、実施例1にかかる分析装置10の機能構成を示す機能ブロック図である。図2に示すように、分析装置10は、通信部11、記憶部12、制御部20を有する。
図8は、全体的な処理の流れを示すフローチャートである。図8に示すように、分析装置10は、解析処理を実行し(S101)、解析処理による解析結果に基づいてプログラム群とデータの関係性を生成する(S102)。
次に、図8のS101で実行される解析処理について説明する。図9は、解析処理の流れを示すフローチャートである。図9に示すように、分類部21は、プログラムの呼出関係を取得する(S201)。例えば、分類部21は、各プログラムのソースコードを参照し、CALL文などの他のプログラムを呼び出す命令を検索して、プログラムの呼出関係を取得する。
次に、図8のS105で実行される解析処理について説明する。図10は、共通データ抽出処理の流れを示すフローチャートである。図10に示すように、分析部23は、サービス部品候補を取得し(S301)、サービス部品候補内のデータへの更新処理を取得する(S302)。例えば、分析部23は、サービス部品候補内の各データに対して、更新を行うプログラム群があるかないかを検出する。
上述したように、分析装置10は、部分的にシステムを切り出した部品間で、共通に使われる「共通データ」を自動的に抽出できる。このことで、共通データが自動的に明確になり、共通サービスの中心となるデータが定義できる。従来技術では、外部からデータを更新される関係等が残ってしまい、他の部品との強い関係が残ったままの部品が抽出されてしまうことでサービスを提供する自立した「部品」の要素として抽出できない。また、従来技術では、あらかじめ、omnipresent module(多くの箇所からアクセスされるモジュール)を除外してから、クラスタリングすることや重みづけすることを推奨しているが、これを実現するためには多くの調査作業が発生するので、現実的ではない。
上記実施例で説明した呼び出し関係やデータへの読み出し関係を取得する手法としては、パーサなどの公知のプログラム解析技術を採用することができる。
記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
図14は、ハードウェア構成例を示す図である。図14に示すように、分析装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。
11 通信部
12 記憶部
13 プログラム資産DB
14 分析結果DB
20 制御部
21 分類部
22 候補生成部
23 分析部
Claims (6)
- 複数のプログラムと複数のデータを含むプログラム資産における前記複数のプログラム間の呼出関係に基づいて、前記複数のプログラムを各プログラム群に分類する分類部と、
前記各プログラム群に含まれるプログラムがアクセスするデータを基に、前記各プログラム群とデータとを関連付ける複数のサービス部品候補を生成する候補生成部と、
前記複数のサービス部品候補内の各プログラム群が前記データを参照する関係にある参照関係および前記複数のサービス部品候補内の各プログラム群が前記データを更新する関係にある更新関係に基づき、前記複数のサービス部品候補に関連付けられるデータからいずれのサービス部品候補にも属さない共通データを抽出し、前記共通データを除く前記複数のサービス部品候補および前記共通データを、前記プログラム資産のサービス部品として生成する部品生成部と
を有することを特徴とするプログラム分析装置。 - 前記部品生成部は、前記複数のサービス部品候補に関連付けられるデータのうち、当該データが含まれるサービス部品候補内のプログラム群および他のサービス部品候補内のプログラム群から参照のみされるデータを前記共通データとして抽出することを特徴とする請求項1に記載のプログラム分析装置。
- 前記部品生成部は、前記共通データが外部に分類された第1のサービス部品候補について、前記第1のサービス部品候補に含まれるプログラム群が前記第1のサービス部品候補に含まれるデータへアクセスしない場合、当該プログラム群を前記第1のサービス部品候補から抽出して、別の第2のサービス部品候補に再分類することを特徴とする請求項1または2に記載のプログラム分析装置。
- 前記候補生成部は、前記データに参照するプログラム群よりも、前記データを更新するプログラム群の方が強い関係性があると判定して、前記各プログラム群とデータとを関連付ける複数のサービス部品候補を生成することを特徴とする請求項1から3のいずれか一つに記載のプログラム分析装置。
- コンピュータが
複数のプログラムと複数のデータを含むプログラム資産における前記複数のプログラム間の呼出関係に基づいて、前記複数のプログラムを各プログラム群に分類し、
前記各プログラム群に含まれるプログラムがアクセスするデータを基に、前記各プログラム群とデータとを関連付ける複数のサービス部品候補を生成し、
前記複数のサービス部品候補内の各プログラム群が前記データを参照する関係にある参照関係および前記複数のサービス部品候補内の各プログラム群が前記データを更新する関係にある更新関係に基づき、前記複数のサービス部品候補に関連付けられるデータからいずれのサービス部品候補にも属さない共通データを抽出し、前記共通データを除く前記複数のサービス部品候補および前記共通データを、前記プログラム資産のサービス部品として生成する、
処理を実行することを特徴とするプログラム分析方法。 - コンピュータに
複数のプログラムと複数のデータを含むプログラム資産における前記複数のプログラム間の呼出関係に基づいて、前記複数のプログラムを各プログラム群に分類し、
前記各プログラム群に含まれるプログラムがアクセスするデータを基に、前記各プログラム群とデータとを関連付ける複数のサービス部品候補を生成し、
前記複数のサービス部品候補内の各プログラム群が前記データを参照する関係にある参照関係および前記複数のサービス部品候補内の各プログラム群が前記データを更新する関係にある更新関係に基づき、前記複数のサービス部品候補に関連付けられるデータからいずれのサービス部品候補にも属さない共通データを抽出し、前記共通データを除く前記複数のサービス部品候補および前記共通データを、前記プログラム資産のサービス部品として生成する、
処理を実行させることを特徴とする分析プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017080776A JP6880962B2 (ja) | 2017-04-14 | 2017-04-14 | プログラム分析装置、プログラム分析方法および分析プログラム |
US15/938,475 US10514908B2 (en) | 2017-04-14 | 2018-03-28 | Program analysis device for classifying programs into program groups based on call relationship between programs, program analysis method for classifying programs into program groups based on call relationship between programs, and recording medium storing analysis program for classifying programs into program groups based on a call relationship between programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017080776A JP6880962B2 (ja) | 2017-04-14 | 2017-04-14 | プログラム分析装置、プログラム分析方法および分析プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018181005A JP2018181005A (ja) | 2018-11-15 |
JP6880962B2 true JP6880962B2 (ja) | 2021-06-02 |
Family
ID=63789998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017080776A Active JP6880962B2 (ja) | 2017-04-14 | 2017-04-14 | プログラム分析装置、プログラム分析方法および分析プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10514908B2 (ja) |
JP (1) | JP6880962B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6729742B1 (ja) * | 2019-03-27 | 2020-07-22 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
JP7255420B2 (ja) * | 2019-08-22 | 2023-04-11 | 富士通株式会社 | 資産管理装置、資産管理方法および資産管理プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002041287A (ja) * | 2000-07-26 | 2002-02-08 | Fujitsu Ltd | 再利用部品抽出装置、再利用部品抽出方法及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体 |
US8074201B2 (en) * | 2002-07-10 | 2011-12-06 | National Instruments Corporation | Deployment and execution of a program on an embedded device |
JP2005173645A (ja) | 2003-12-05 | 2005-06-30 | Ibm Japan Ltd | プログラム開発支援装置、プログラム開発支援方法、プログラム、及び、記録媒体 |
US7627861B2 (en) * | 2003-12-05 | 2009-12-01 | The University Of North Carolina | Methods, systems, and computer program products for identifying computer program source code constructs |
JP2006302135A (ja) * | 2005-04-22 | 2006-11-02 | Fujitsu Ltd | アプリケーション資産分析プログラム、アプリケーション資産分析方法およびアプリケーション資産分析装置 |
JP2009237762A (ja) * | 2008-03-26 | 2009-10-15 | Toshiba Corp | プログラム解析装置、プログラム解析方法および解析プログラム |
US8352630B2 (en) * | 2010-09-01 | 2013-01-08 | Sonus Networks, Inc. | Dynamic classification and grouping of network traffic for service application across multiple nodes |
US9075993B2 (en) * | 2011-01-24 | 2015-07-07 | Mcafee, Inc. | System and method for selectively grouping and managing program files |
JP5899946B2 (ja) | 2012-01-17 | 2016-04-06 | 富士通株式会社 | 分割装置、分割方法、および分割プログラム |
JP6326886B2 (ja) * | 2014-03-19 | 2018-05-23 | 富士通株式会社 | ソフトウェア分割プログラム、ソフトウェア分割装置およびソフトウェア分割方法 |
JP2016224579A (ja) * | 2015-05-28 | 2016-12-28 | スタビリティ株式会社 | 情報処理装置及び情報処理方法 |
-
2017
- 2017-04-14 JP JP2017080776A patent/JP6880962B2/ja active Active
-
2018
- 2018-03-28 US US15/938,475 patent/US10514908B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018181005A (ja) | 2018-11-15 |
US10514908B2 (en) | 2019-12-24 |
US20180300126A1 (en) | 2018-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10394694B2 (en) | Unexplored branch search in hybrid fuzz testing of software binaries | |
US9632916B2 (en) | Method and apparatus to semantically connect independent build and test processes | |
KR20160018588A (ko) | 이벤트 저장소의 구축 방법 및 장치 | |
JP2017525039A (ja) | 系統情報の管理 | |
CN110674360B (zh) | 一种用于数据的溯源方法和系统 | |
JP2016505956A (ja) | 最適化されたデータサブセット化のための方法、装置及びコンピュータ読み取り可能媒体 | |
JP6880962B2 (ja) | プログラム分析装置、プログラム分析方法および分析プログラム | |
CN113032794A (zh) | 安全漏洞知识图谱的构建方法、装置、设备和存储介质 | |
CN110737437A (zh) | 一种基于代码集成的编译方法和装置 | |
CN114936269A (zh) | 文档搜索平台、搜索方法、装置、电子设备及存储介质 | |
JP2023553220A (ja) | マルチインスタンスプロセスのためのプロセスマイニング | |
WO2019069507A1 (ja) | 特徴量生成装置、特徴量生成方法および特徴量生成プログラム | |
Gregorio-Rodríguez et al. | Extending mCRL2 with ready simulation and iocos input-output conformance simulation | |
JP2021002326A (ja) | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
JP2013077124A (ja) | ソフトウェアテストケース生成装置 | |
CN115878592A (zh) | 一种政务数据治理方法、装置、存储介质及电子设备 | |
CN106681910B (zh) | 一种基于主机代码解析生成测试案例的方法及装置 | |
CN115270731A (zh) | 混合文档的协同编辑方法及装置 | |
JP7255420B2 (ja) | 資産管理装置、資産管理方法および資産管理プログラム | |
JP7501782B2 (ja) | 活動痕跡抽出装置、活動痕跡抽出方法および活動痕跡抽出プログラム | |
US8769460B1 (en) | Device recognition engine | |
CN114328149B (zh) | 编译时长的统计方法、装置、电子设备及可读介质 | |
TWI844091B (zh) | 特徵匹配規則構建、特徵匹配方法、裝置、設備及介質 | |
CN115543227B (zh) | 跨系统数据迁移方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210118 |
|
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: 20210406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6880962 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |