JP2008020972A - ソフトウエア解析システム - Google Patents
ソフトウエア解析システム Download PDFInfo
- Publication number
- JP2008020972A JP2008020972A JP2006189954A JP2006189954A JP2008020972A JP 2008020972 A JP2008020972 A JP 2008020972A JP 2006189954 A JP2006189954 A JP 2006189954A JP 2006189954 A JP2006189954 A JP 2006189954A JP 2008020972 A JP2008020972 A JP 2008020972A
- Authority
- JP
- Japan
- Prior art keywords
- correction
- source code
- analysis system
- software
- instruction
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
従来、作成されたソフトウエアについての解析が十分にできていなかった。
【解決手段】
ソフトウェア開発においてソースコードがコーディング基準に準拠しているかを静的に解析し、その解析結果から如何にしてソースコードがコーディング基準に準拠するかを判定し、その判定結果からソースコードを修正し、修正履歴を残し、プログラム開発時の作業効率および品質向上の効果をもたらすシステムを提供する。
【選択図】 図1
Description
上記までの処理により、静的解析システムは、ソフトウェア開発時にソースコードを静的に解析して、ソースコードがコーディング基準に違反している箇所に対する修正案を判定して出力する。
まず修正情報の内容について、ソースコードの変更を行うかどうかを選択する。この選択は静的解析処理の実行時にソースコード修正の設定にすることも、静的解析結果を画面または解析結果ファイルの内容から確認を行ってから選択を行うことも可能とする。コーディング基準に違反したコーディングがあり、修正を必要とするソースコードに対しては、静的解析処理の実行時にツールで修正を行うように設定した場合には、プログラム修正機能は、修正内容情報に従ってソースコードの修正を行い、修正後のソースコードを修正後プログラムファイルに出力する。修正内容は、その履歴を修正履歴情報ファイルに蓄積する。ソースコードの修正内容は、チェック内容に依存することとなる。例えば禁止命令チェックのエラー修正である場合には、使用禁止命令を代替命令に置き換える。命令の組合せの妥当性チェックのエラー修正である場合には、チェック対象命令語と対となる命令語が妥当となるように追加または修正を行う。ソースコードの修正作業は、静的解析処理の実行時にエラーを修正する機能を使用せずに、修正内容候補情報にない修正を行うことも可能とする。静的解析処理の実行時にエラーを修正する設定により修正したソースコードと、修正内容候補情報にない修正を行ったソースコードは、修正箇所にコメントを付与することにより、両社区別することを可能とする。修正内容候補情報にない修正を行った履歴は、修正内容候補情報にも追加登録し、修正内容候補を増やすことにより、次回の静的解析時の修正内容候補にバリエーションを増やすことも可能とする。
11 解析対象ソースコード
12 コーディング基準
13 修正内容候補情報
14 ソースコード解析機能プロジェクトカスタマイズファイル
15 修正内容判断機能
16 ソースコード修正機能
17 修正内容蓄積機能
18 結果出力機能
19 端末装置
110 解析結果ファイル
111 修正後ソースコード
112 修正履歴情報
113 修正内容候補更新情報
21 行番号
22 命令語
31 チェックID
32 チェック内容
33 修正方法
41 チェックID
42 使用禁止命令
43 代替命令
51 チェックID
52 使用命令
53 対となる命令
61 静的解析実行ブロック
62 解析結果出力ブロック
63 コーディング基準違反判断ブロック
64 修正内容候補存在判断ブロック
65 修正内容出力ブロック
71 自動修正設定判断ブロック
72 ソースコード修正実行ブロック
73 実行結果出力ブロック
74 修正履歴蓄積ブロック
81 行番号
82 チェックID
83 エラー内容
91 行番号
92 コーディング内容
93 修正内容
101 自動修正実行選択画面
111 行番号
112 命令語
121 自動修正設定判断ブロック
122 ソースコード修正実行ブロック
123 実行結果出力ブロック
124 修正履歴蓄積ブロック
125 修正内容候補蓄積ブロック
Claims (4)
- 作成されたソフトウエアに対する解析処理を実行するソフトウエア解析システムにおいて、
前記ソフトウエアであるソースコード、当該ソースコードのコーディング基準および当該コーディング基準に前記ソフトウエアが違反していることが検知された場合の修正内容候補情報と互いに関連付けて格納する手段と、
前記ソースコードと前記コーディング基準を比較する手段と、
前記比較の結果に基づいて、前記ソースコードが前記コーディング基準に違反していないかどうかを解析する手段と、
前記解析の結果および前記修正内容候補情報から前記ソースコードに対する修正内容を特定する手段と、
前記特定の結果を出力する手段とを備えたことを特徴とするソフトウエア解析システム。 - 請求項1に記載のソフトウエア解析システムにおいて、
前記特定された修正内容候補情報に従ってソースコードをコーディング基準に準拠するように修正する手段を設け、
前記出力する手段は、修正したソースコードを出力することを特徴とするソフトウエア解析システム。 - 請求項2に記載のソフトウエア解析システムにおいて、
修正したソースコードの修正内容の蓄積であるソースコード修正履歴情報と修正内容候補情報の更新履歴情報とを格納する手段をさらに設けることを特徴とするソフトウエア解析システム。 - 請求項3に記載のソフトウエア解析システムにおいて、
前記修正する手段での修正に基づいて、前記格納する手段に格納された前記修正内容候補情報を更新する手段と、
前記修正されたソースコードに対して修正を行った場合に修正履歴と修正内容候補情報を更新する手段とをさらに備えたことを特徴とするソフトウエア解析システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006189954A JP2008020972A (ja) | 2006-07-11 | 2006-07-11 | ソフトウエア解析システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006189954A JP2008020972A (ja) | 2006-07-11 | 2006-07-11 | ソフトウエア解析システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008020972A true JP2008020972A (ja) | 2008-01-31 |
Family
ID=39076870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006189954A Pending JP2008020972A (ja) | 2006-07-11 | 2006-07-11 | ソフトウエア解析システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008020972A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067103A (ja) * | 2008-09-12 | 2010-03-25 | Nec Corp | プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム |
JP2013191038A (ja) * | 2012-03-14 | 2013-09-26 | Ricoh Co Ltd | 組み込み用プログラム開発装置、コンパイル方法およびコンパイラプログラム |
JP2019096292A (ja) * | 2017-11-24 | 2019-06-20 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288226A (ja) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | ソフトウエア評価方法 |
JPH1185536A (ja) * | 1997-09-12 | 1999-03-30 | Nec Corp | 原始プログラムのエラー自動修正装置及び方法 |
JPH11296366A (ja) * | 1998-04-07 | 1999-10-29 | Nec Corp | エラー検出装置及びエラー検出方法及び記録媒体 |
JP2003029978A (ja) * | 2001-07-13 | 2003-01-31 | Japan Science & Technology Corp | 同形パターン検出システム |
-
2006
- 2006-07-11 JP JP2006189954A patent/JP2008020972A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288226A (ja) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | ソフトウエア評価方法 |
JPH1185536A (ja) * | 1997-09-12 | 1999-03-30 | Nec Corp | 原始プログラムのエラー自動修正装置及び方法 |
JPH11296366A (ja) * | 1998-04-07 | 1999-10-29 | Nec Corp | エラー検出装置及びエラー検出方法及び記録媒体 |
JP2003029978A (ja) * | 2001-07-13 | 2003-01-31 | Japan Science & Technology Corp | 同形パターン検出システム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067103A (ja) * | 2008-09-12 | 2010-03-25 | Nec Corp | プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム |
JP2013191038A (ja) * | 2012-03-14 | 2013-09-26 | Ricoh Co Ltd | 組み込み用プログラム開発装置、コンパイル方法およびコンパイラプログラム |
JP2019096292A (ja) * | 2017-11-24 | 2019-06-20 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
JP7110789B2 (ja) | 2017-11-24 | 2022-08-02 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8752009B2 (en) | Source code comparison device, source code comparison method and source code comparison program | |
US10261884B2 (en) | Method for correcting violation of source code and computer readable recording medium having program performing the same | |
CN103257919B (zh) | 脚本程序检查方法和装置 | |
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
CN106406918B (zh) | 源代码自动合并方法和源代码自动合并装置 | |
JP6409577B2 (ja) | テスト選択プログラム、テスト選択方法、及びテスト選択装置 | |
JP6440895B2 (ja) | ソフトウェア分析装置及びソフトウェア分析方法 | |
JP5125938B2 (ja) | バグ検出支援プログラム、類似構文識別情報一覧出力プログラム、バグ検出支援装置およびバグ検出支援方法 | |
US20140317452A1 (en) | Error detecting apparatus, program and method | |
JP2008020972A (ja) | ソフトウエア解析システム | |
JP4915362B2 (ja) | 静的検証ツールのアノテーション自動挿入方法 | |
JP5369565B2 (ja) | プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム | |
JP5188421B2 (ja) | ソースコード解析方法およびソースコード解析支援システム | |
JP4888790B2 (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
JP2009169573A (ja) | 解析結果出力装置、及び解析結果出力方法 | |
US8819645B2 (en) | Application analysis device | |
JP2016057715A (ja) | 図形式プログラム解析装置 | |
JP2005190330A (ja) | ソースプログラムのレビュー支援システム | |
US10402304B2 (en) | Non-transitory computer-readable storage medium, correction support method and correction support device | |
JP2007257397A (ja) | 競合状態検出処理追加プログラム、競合状態検出処理追加装置、競合状態検出処理追加方法 | |
JP4983027B2 (ja) | チェックプログラム及びチェック方法 | |
US20140281925A1 (en) | Automatic fix for extensible markup language errors | |
JP2002342129A (ja) | コーディングチェック方式 | |
JP2016018307A (ja) | 開発支援プログラム,開発支援方法及び開発支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090624 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120402 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120529 |