JP2013045307A - 静的解析システム、静的解析結果表示方法及びプログラム - Google Patents
静的解析システム、静的解析結果表示方法及びプログラム Download PDFInfo
- Publication number
- JP2013045307A JP2013045307A JP2011183099A JP2011183099A JP2013045307A JP 2013045307 A JP2013045307 A JP 2013045307A JP 2011183099 A JP2011183099 A JP 2011183099A JP 2011183099 A JP2011183099 A JP 2011183099A JP 2013045307 A JP2013045307 A JP 2013045307A
- Authority
- JP
- Japan
- Prior art keywords
- static analysis
- source code
- verification result
- file
- verification
- 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.)
- Pending
Links
Images
Abstract
【解決手段】本発明の静的解析システムは、静的解析装置と、クライアント装置とを備え、前記静的解析装置は、変更有無によらずに、全てのソースコードファイルを静的解析する検証実行部と、前記ソースコードファイル及び前記検証実行部による検証結果を、リビジョン毎に保存するリポジトリと、前記検証結果において、各指摘項目を前記クライアント装置の画面に表示するかどうかを示す確認フラグを更新する確認フラグ更新部とを備え、前記クライアント装置は、前記静的解析装置から、前記検証結果を取得する検証結果アクセス部と、前記検証結果の指摘項目の一覧、及び、次の静的解析時では表示不要な前記指摘項目をユーザに選択させる画面を表示し、前記選択させた前記表示不要な指摘項目を含む前記検証結果を、前記確認フラグ更新部に送信する検証結果確認部とを備える。
【選択図】図1
Description
はじめに、本実施形態における静的解析システム10の構成の説明を行う。図1は、本発明の実施形態における静的解析システム10のブロック図である。静的解析システム10は、クライアント装置1及び静的解析装置2を備えたクライアントサーバシステムである。
次に、本実施形態における静的解析システム10において、静的解析結果表示方法の説明を行う。まず、本実施形態における静的解析システム10において、リポジトリ51にソースコードファイル31を格納する方法について説明する。図2は、本発明の実施形態における静的解析システム10において、リポジトリ51にソースコードファイル31を格納する方法を説明するためのフローチャートである。
クライアント装置1のリポジトリアクセス部11は、ソースコード格納要求と更新したソースコードファイルを、静的解析装置2のソースコードファイル格納部26に送信する。
静的解析装置2のソースコード格納部26は、リポジトリ51のソースコードファイル31を、ソースコード格納要求と同時に送信したソースコードファイルで更新する。
実行トリガ部21は、ソースコードファイル31の静的解析の実行を開始する。実行トリガ21は、静的解析実行対象のソースコードファイル31の指定リビジョンと、前回計測時リビジョン32を比較する。実行トリガ部21は、両リビジョンの値が異なっている場合には、指定リビジョンのソースコードファイル31と、前回計測時のソースコードファイル31の間に差分があると判定する。実行トリガ部21は、両リビジョンの値が等しい場合には、指定リビジョンのソースコードファイル31と前回計測時ソースコード31の間に差分がないと判定する。実行トリガ部21は、差分がなければ、静的解析を実行せず、差分がある場合には、ステップS202に進む。ただし、前回計測時リビジョン32がリポジトリ51に格納されていなかった場合は、初回の静的解析処理の実行と判断し、ステップS202に進む。
ソースコードファイル取得部22は、リポジトリ51から静的解析実行対象のリビジョンのソースコードファイル31、及び前回計測時リビジョン32のソースコードファイル31を取得する。
差分取得部23は、リポジトリ51から静的解析実行対象のリビジョンのソースコードファイル31と、前回計測時リビジョン32のソースコードファイル31を比較して、ファイル差分情報、及び行差分情報を作成する。
検証実行部24は、指定リビジョンの全ソースコードファイル31に対して、静的解析を行ない、検証結果33を作成する。
検証結果更新部25は、リポジトリ51に格納された検証結果33の確認フラグが、「未確認」の全ての指摘項目を削除する。検証結果更新部25は、以降のステップの処理で、検証結果33の「未確認」指摘項目を作成し直す。
検証結果更新部25は、ファイル差分情報及び行差分情報を参照して、変更されたファイルについての削除行に係る指摘項目を削除する。また、検証結果更新部25は、ファイル差分情報を参照して、削除されたファイルに係る指摘項目を削除する。
検証結果更新部25は、行差分情報を参照し、検証結果33の各指摘項目の開始行、終了行を更新、削除する。ステップS207の処理の詳細については、具体例を用いて後述する。
検証結果更新部25は、検証結果33の各指摘項目の確認フラグに「未確認」を設定し、リポジトリ51に各指摘項目を追加する。ただし、ファイル名、開始行、終了行、指摘ルールが全て一致する指摘項目が、既にリポジトリ51の検証結果33に存在する場合には、当該指摘項目については追加しない。
検証結果更新部25は、リポジトリ51の前回計測時リビジョン32の値を、今回計測時の指定リビジョンの値で更新する。
クライアント装置1の検証結果アクセス部12は、静的解析装置2の検証結果取得部27に検証結果格納要求を送信する。
静的解析装置2の検証結果取得部27は、リポジトリ51に格納された検証結果33から、確認フラグが「未確認」の指摘項目を全て抽出する。検証結果取得部27は、一覧の形式でクライアント装置1の画面に表示するための検証結果確認用データ41を作成して、クライアント装置1に返信する。
クライアント装置1の検証結果確認部13は、検証結果確認用データ41に基づいて、検証結果確認画面を表示する。図9は、本発明の実施形態における静的解析システム10の検証結果確認画面の例である。図9の一覧表の各行は、検証実行部24により作成された各指摘項目に対応している。図9の一覧表の各行は、確認フラグ、ファイル名、開始行、終了行、指摘ルール及び指摘内容から構成されている。確認フラグの列は、チェックボックスやプルダウンリストを備え、検証結果確認画面を閲覧するユーザが、各指摘項目に対するステータスを変更できる。
クライアント装置1の検証結果確認部13は、ステップS303で更新した検証結果確認用データ41を静的解析装置2の確認フラグ更新部28に送信する。
静的解析装置2の確認フラグ更新部28は、ステップS304でクライアント装置1から送信された検証結果確認用データ41に基づいて、リポジトリ51の検証結果33の各指摘項目の確認フラグの値を更新する。
2 静的解析装置
10 静的解析システム
11 リポジトリアクセス部
12 検証結果アクセス部
13 検証結果確認部
21 実行トリガ部
22 ソースコードファイル取得部
23 差分取得部
24 検証実行部
25 検証結果更新部
26 ソースコードファイル格納部
27 検証結果取得部
28 確認フラグ更新部
31 ソースコードファイル
32 前回計測時リビジョン
33 検証結果
41 検証結果確認用データ
51 リポジトリ
Claims (7)
- 静的解析装置と、
前記静的解析装置のユーザインタフェースとなるクライアント装置と
を備える静的解析システムであって、
前記静的解析装置は、
変更有無によらずに、全てのソースコードファイルを静的解析する検証実行部と、
前記ソースコードファイル及び前記検証実行部による検証結果を、リビジョン毎に保存するリポジトリと、
前記検証結果において、各指摘項目を前記クライアント装置の画面に表示するかどうかを示す確認フラグを更新する確認フラグ更新部と
を備え、
前記クライアント装置は、
前記静的解析装置から、前記検証結果を取得する検証結果アクセス部と、
前記検証結果の指摘項目の一覧、及び、次の静的解析時では表示不要な前記指摘項目をユーザに選択させる画面を表示し、前記選択させた前記表示不要な指摘項目を含む前記検証結果を、前記確認フラグ更新部に送信する検証結果確認部と
を備える静的解析システム。 - 前記静的解析装置は、
行差分情報を作成する差分取得部と、ここで、前記行差分情報は、前記ソースコードファイル毎に、前回の静的解析実行時のリビジョンの前記ソースコードファイルの行番号と、今回の静的解析実行時のリビジョンの前記ソースコードファイルの行番号との対応関係を記録し、
前記行差分情報を参照して、前記表示不要な指摘項目に対応するソースコードの行番号が変更された場合であっても、対象の指摘項目が、前記表示不要な指摘項目であることを特定する検証結果更新部と
を更に備える請求項1に記載の静的解析システム。 - 前記差分取得部は、
ファイル差分情報を更に作成し、ここで、前記ファイル差分情報は、前記ソースコードファイルのファイル名及び、「追加」、「変更」、「削除」のいずれかの状態を示すステータスを記録し、
前記差分取得部は、前記ファイル差分情報において、前記ファイル名に対応する前記ステータスが、「変更」である前記ソースコードファイルに対してのみ、前記行差分情報を作成する
請求項2に記載の静的解析システム。 - 静的解析装置と、
前記静的解析装置のユーザインタフェースとなるクライアント装置と
を備える静的解析システムにおいて、
前記静的解析装置の検証実行部が、変更有無によらずに、全てのソースコードファイルを静的解析するステップと、
前記静的解析装置のリポジトリが、前記ソースコードファイル及び前記検証実行部による検証結果を、リビジョン毎に保存するステップと、
前記静的解析装置の確認フラグ更新部が、前記検証結果において、各指摘項目を前記クライアント装置の画面に表示するかどうかを示す確認フラグを更新するステップと
を備え、
前記クライアント装置の検証結果アクセス部が、前記静的解析装置から、前記検証結果を取得するステップと、
前記クライアント装置の検証結果確認部が、前記検証結果の指摘項目の一覧、及び、次の静的解析時では表示不要な前記指摘項目をユーザに選択させる画面を表示するステップと、
前記クライアント装置の検証結果確認部が、前記選択させた前記表示不要な指摘項目を含む前記検証結果を、前記確認フラグ更新部に送信するステップと
を含む静的解析結果表示方法。 - 前記静的解析装置の差分取得部が、行差分情報を作成するステップと、ここで、前記行差分情報は、前記ソースコードファイル毎に、前回の静的解析実行時のリビジョンの前記ソースコードファイルの行番号と、今回の静的解析実行時のリビジョンの前記ソースコードファイルの行番号との対応関係を記録し、
前記静的解析装置の検証結果更新部が、前記行差分情報を参照するステップと、
前記静的解析装置の検証結果更新部が、前記表示不要な指摘項目に対応するソースコードの行番号が変更された場合であっても、対象の指摘項目が、前記表示不要な指摘項目であることを特定するステップと
を更に含む請求項4に記載の静的解析結果表示方法。 - 前記差分取得部が、ファイル差分情報を作成するステップと、ここで、前記ファイル差分情報は、前記ソースコードファイルのファイル名及び、「追加」、「変更」、「削除」のいずれかの状態を示すステータスを記録し、
前記行差分情報を作成するステップは、
前記ファイル差分情報において、前記ファイル名に対応する前記ステータスが、「変更」である前記ソースコードファイルに対してのみ、前記行差分情報を作成する
請求項5に記載の静的解析結果表示方法。 - 請求項4乃至6のいずれか1項に記載の静的解析結果表示方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183099A JP2013045307A (ja) | 2011-08-24 | 2011-08-24 | 静的解析システム、静的解析結果表示方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183099A JP2013045307A (ja) | 2011-08-24 | 2011-08-24 | 静的解析システム、静的解析結果表示方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013045307A true JP2013045307A (ja) | 2013-03-04 |
Family
ID=48009162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011183099A Pending JP2013045307A (ja) | 2011-08-24 | 2011-08-24 | 静的解析システム、静的解析結果表示方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013045307A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018307A (ja) * | 2014-07-07 | 2016-02-01 | 富士通株式会社 | 開発支援プログラム,開発支援方法及び開発支援装置 |
WO2017119057A1 (ja) * | 2016-01-05 | 2017-07-13 | 三菱電機株式会社 | 表示制御装置及び表示制御方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08194611A (ja) * | 1995-01-19 | 1996-07-30 | Hitachi Ltd | プログラム修正による影響範囲を解析する装置 |
JPH11134187A (ja) * | 1997-10-27 | 1999-05-21 | Fujitsu Ltd | ソースプログラム解析装置およびそのプログラム記憶媒体 |
JP2004126866A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 記述出力抑制プログラム解析装置及び記述出力抑制プログラム解析方法 |
JP2005190330A (ja) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Ind Co Ltd | ソースプログラムのレビュー支援システム |
JP2006344145A (ja) * | 2005-06-10 | 2006-12-21 | Fujitsu Ltd | ソースコード解析プログラムおよびソースコード解析方法 |
WO2008129619A1 (ja) * | 2007-04-09 | 2008-10-30 | Fujitsu Limited | ソースプログラム再検討プログラム、ソースプログラム再検討方法およびソースプログラム再検討装置 |
JP2010198522A (ja) * | 2009-02-27 | 2010-09-09 | Hitachi Ltd | ソースコード解析方法およびソースコード解析支援システム |
JP2011081496A (ja) * | 2009-10-05 | 2011-04-21 | Toshiba Corp | 成果物レビュー支援装置 |
-
2011
- 2011-08-24 JP JP2011183099A patent/JP2013045307A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08194611A (ja) * | 1995-01-19 | 1996-07-30 | Hitachi Ltd | プログラム修正による影響範囲を解析する装置 |
JPH11134187A (ja) * | 1997-10-27 | 1999-05-21 | Fujitsu Ltd | ソースプログラム解析装置およびそのプログラム記憶媒体 |
JP2004126866A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 記述出力抑制プログラム解析装置及び記述出力抑制プログラム解析方法 |
JP2005190330A (ja) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Ind Co Ltd | ソースプログラムのレビュー支援システム |
JP2006344145A (ja) * | 2005-06-10 | 2006-12-21 | Fujitsu Ltd | ソースコード解析プログラムおよびソースコード解析方法 |
WO2008129619A1 (ja) * | 2007-04-09 | 2008-10-30 | Fujitsu Limited | ソースプログラム再検討プログラム、ソースプログラム再検討方法およびソースプログラム再検討装置 |
JP2010198522A (ja) * | 2009-02-27 | 2010-09-09 | Hitachi Ltd | ソースコード解析方法およびソースコード解析支援システム |
JP2011081496A (ja) * | 2009-10-05 | 2011-04-21 | Toshiba Corp | 成果物レビュー支援装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018307A (ja) * | 2014-07-07 | 2016-02-01 | 富士通株式会社 | 開発支援プログラム,開発支援方法及び開発支援装置 |
WO2017119057A1 (ja) * | 2016-01-05 | 2017-07-13 | 三菱電機株式会社 | 表示制御装置及び表示制御方法 |
JPWO2017119057A1 (ja) * | 2016-01-05 | 2018-03-01 | 三菱電機株式会社 | 表示制御装置及び表示制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960388B2 (en) | System and method for data collection and analysis of information relating to mobile applications | |
US7769821B2 (en) | Systems and methods for enhanced meassage support using a generic client proxy | |
US8762929B2 (en) | System and method for exclusion of inconsistent objects from lifecycle management processes | |
EP3152654B1 (en) | Automatic software-update framework | |
US20130191814A1 (en) | Test scenario generation method, test scenario generation system, and test scenario generation program | |
CN107562419B (zh) | 软件开发支援方法及系统 | |
CN110795910B (zh) | 一种文本信息处理方法、装置、服务器及存储介质 | |
JP2009104229A (ja) | 入力チェック装置および入力チェック方法 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CA2429335A1 (en) | System and method of determining impact of reports based on metadata model changes | |
JP5006824B2 (ja) | テストプログラム管理システム | |
JP2013045307A (ja) | 静的解析システム、静的解析結果表示方法及びプログラム | |
CN108073511B (zh) | 测试代码生成方法和装置 | |
US20110107318A1 (en) | Simplifying Maintenance of Large Software Systems | |
JP2007122429A (ja) | 情報提供システム、装置、及び方法 | |
US10146473B2 (en) | Systems and methods of subject state change notification | |
US8707307B2 (en) | Creating jobs by replacing execution attributes within job definition when a job activation request is received with execution attributes based on predetermined conditions being satisfied | |
JP2008015975A (ja) | アプリケーション設定情報更新方法 | |
US20090006649A1 (en) | Display control apparatus, display control program and display control method | |
US11526900B2 (en) | Aggregation system and control method of the same | |
TW201417029A (zh) | 原始程式碼管理系統、原始程式碼管理方法以及原始程式碼管理程式 | |
CN109828781B (zh) | 用于问题排查的源码版本定位方法、装置、介质和设备 | |
JP2007264937A (ja) | プログラム移送制御システムと方法およびプログラム | |
US11544454B2 (en) | Method, apparatus and computer program product for document change management in original and tailored documents | |
JP2009223717A (ja) | 文書管理装置、文書管理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151013 |