JP2008250914A - プログラム修正装置及び方法、並びにプログラム - Google Patents
プログラム修正装置及び方法、並びにプログラム Download PDFInfo
- Publication number
- JP2008250914A JP2008250914A JP2007094693A JP2007094693A JP2008250914A JP 2008250914 A JP2008250914 A JP 2008250914A JP 2007094693 A JP2007094693 A JP 2007094693A JP 2007094693 A JP2007094693 A JP 2007094693A JP 2008250914 A JP2008250914 A JP 2008250914A
- Authority
- JP
- Japan
- Prior art keywords
- program
- correction
- rule
- test
- violation
- 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)
Abstract
【解決手段】プログラムの規約や修正方法を予めDBとして記憶する。ユーザにより設定された条件でプログラムをテスト手段に送信してテストを行ってテスト結果を記憶し、プログラムから規約違反箇所を検出して規約違反箇所情報として登録する。そして、検出された違反箇所を、優先度に応じて選択された修正方法に基づいて修正し、修正されたプログラムを再びテスト手段に送信してテストを行ってテスト結果を記憶する。そして、プログラムの修正前後のテスト結果を比較して一致しない場合、不適切な修正箇所を調査して他の修正方法により再修正し、その結果を表示する。
【選択図】図10
Description
規約違反箇所の行番号813:検出した規約違反箇所の行番号
行のズレ量814:0
規約番号815:検出した規約違反箇所の規約違反内容に対応する規約DB4上の規約番号411の値
修正番号816:検出した規約違反箇所の規約違反内容に対応する規約DB4上の修正番号414の値
修正方法の優先度817:1
修正済みフラグ818:FALSE
ステップS45では、処理対象ファイルの末尾(EOF)まで解析したか否かを判別する。ファイルの末尾まで解析が完了した場合はリターンする一方、未完了の場合はステップS41の処理に戻る。
言語選択ラジオボタン911で選択されたプログラムの開発言語:「C言語」
規約選択ラジオボタン921及び規約レベル設定コンボボックス923で選択された規約及び規約レベル:「社内システム用」、「規約レベル4」
テストケース選択チェックボックス931で選択されたテストケース:「関数Aの繰り返しテストを行う」、「サブシステムBの繰り返しテストを行う」
プログラム自動修正システム入力画面10上で上記設定が行われ、開始ボタン940がクリックされると、図9及び図10に示すフローチャートに基づいて処理が行われる。
規約違反箇所の行番号813:2
行のズレ量814:0
規約番号815:3(図3の囲み箇所420の規約番号411)
修正番号816:3(図3の囲み箇所420の修正番号414)
修正方法の優先度817:1
修正済みフラグ818:「FALSE」
ステップS5では、ステップS4で規約違反を検出したためにステップS6の処理に進む。ステップS6では、規約違反管理DB8から通し番号1の規約違反箇所情報を抽出する。ステップS7では、ステップS6で抽出した規約違反箇所情報における規約番号815の値「3」に対応する修正を行う。このとき、修正内容DB6の社内システム用修正テーブル(C言語)を選択し、修正番号611の値が「3」で且つ修正方法の優先度が「1」の修正方法613の「”unsigned”削除する」修正方法を行う(図5の囲み箇所620)。また、埋め込みタグ614に従って、「/* <color BLUE> rule3 p1 */」をプログラム100の修正された行の上に挿入する。その結果、プログラム100は図16に示すプログラム200のように修正される。そして、ステップS7の処理により規約違反箇所の行番号「2」行目以下のプログラムが1行分シフトするため、行のずれ量として「1」をステップS8に渡す。
2 通信ネットワーク
3 サーバ装置
4 規約DB
5 タグDB
6 修正内容DB
7 テストケースDB
8 規約違反管理DB
9 テストマクロDB
31 CPU
34 ハードディスク
Claims (10)
- ユーザが作成したプログラムをテスト可能なテスト手段と、作成したプログラムを修正する修正手段とを備えるプログラム修正装置において、
前記プログラムの規約と修正方法を記憶するプログラム規約記憶手段と、
前記プログラム及びテスト結果を記憶する第1のテスト結果記憶手段と、
前記プログラムから前記規約に違反する箇所を検出して規約違反箇所情報として登録する規約違反管理手段と、
前記検出された違反箇所を前記修正方法に基づいて修正する第1のプログラム修正手段と、
前記修正されたプログラムをテストしてテスト結果を記憶する第2のテスト結果記憶手段と、
前記第1のテスト結果記憶手段で記憶されたテスト結果と前記第2のテスト結果記憶手段で記憶されたテスト結果を比較して一致しない場合、修正箇所を再修正する第2のプログラム修正手段とを備えることを特徴とするプログラム修正装置。 - 前記第2のプログラム修正手段は、前記プログラム規約記憶手段に記憶された複数の修正方法から優先度に応じて修正方法を選択し、当該修正方法に基づいて修正箇所を再修正することを特徴とする請求項1記載のプログラム修正装置。
- 前記第2のプログラム修正手段は、前記検出された違反個所が複数ある場合、検出された違反ごとに修正することを特徴とする請求項1又は2記載のプログラム修正装置。
- 前記テスト手段は、前記プログラム又は前記修正されたプログラムから実行ファイルを作成し、当該実行ファイルの作成が成功したかを判別することを特徴とする請求項1乃至3のいずれか1項に記載のプログラム修正装置。
- 前記第1及び前記第2のプログラム修正手段は、前記修正を行った際に、当該修正箇所にタグを埋め込むことを特徴とする請求項1乃至4のいずれか1項の記載のプログラム修正装置。
- 前記規約違反個所情報は前記規約に違反する箇所の行番号情報を備え、
前記第1及び前記第2のプログラム修正手段は、修正したプログラムへの挿入行数を記憶し、前記修正プログラム内の次の違反箇所を修正する際に、前記規約違反箇所情報の行番号情報に前記挿入行数を加えることを特徴とする請求項1乃至5のいずれか1項の記載のプログラム修正装置。 - 前記プログラムを修正した内容をレポートファイルとして作成するレポート作成手段をさらに備えることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム修正装置。
- ユーザが作成したプログラムを修正するプログラム修正方法において、
前記プログラムの規約と修正方法を記憶手段に記憶するプログラム規約記憶工程と、
前記プログラムをテスト可能なテスト手段に送信し、返信されたテスト結果を記憶する第1のテスト結果記憶工程と、
前記プログラムから前記規約に違反する箇所を検出して規約違反箇所情報として登録する規約違反管理工程と、
前記検出された違反箇所を前記修正方法に基づいて修正する第1のプログラム修正工程と、
前記修正されたプログラムをテスト可能なテスト手段に送信し、返信されたテスト結果を記憶する第2のテスト結果記憶工程と、
前記第1のテスト結果記憶工程で記憶されたテスト結果と前記第2のテスト結果記憶工程で記憶されたテスト結果を比較して一致しない場合、修正箇所を再修正する第2のプログラム修正工程とを備えることを特徴とするプログラム修正方法。 - 請求項8記載のプログラム修正方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
- 請求項1乃至7のいずれか1項に記載のプログラム修正装置にネットワークを介して接続された端末を備えるプログラム修正システムにおいて、
前記端末は、プログラムの解析又は修正に必要な設定情報を入力させて前記プログラム修正装置に送る入力手段と、前記プログラム修正装置からの前記プログラムの修正状況及び結果を示す情報を出力する出力手段とを備えることを特徴とするプログラム修正システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007094693A JP2008250914A (ja) | 2007-03-30 | 2007-03-30 | プログラム修正装置及び方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007094693A JP2008250914A (ja) | 2007-03-30 | 2007-03-30 | プログラム修正装置及び方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008250914A true JP2008250914A (ja) | 2008-10-16 |
Family
ID=39975737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007094693A Pending JP2008250914A (ja) | 2007-03-30 | 2007-03-30 | プログラム修正装置及び方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008250914A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140408A (ja) * | 2008-12-15 | 2010-06-24 | Nomura Research Institute Ltd | ソースコード変換装置 |
JP2012203580A (ja) * | 2011-03-24 | 2012-10-22 | Hitachi Ltd | 移行テスト支援システム、移行テスト支援プログラム、移行テスト支援方法 |
WO2013072977A1 (ja) * | 2011-11-18 | 2013-05-23 | 株式会社日立製作所 | 情報処理装置、プログラム及び情報処理方法 |
JP2014089704A (ja) * | 2012-10-11 | 2014-05-15 | Tata Consultancy Services Ltd | ソフトウェアアプリケーションのコンプライアンス検査および詳細な解析を提供するためのシステムおよび方法 |
JP2014134962A (ja) * | 2013-01-10 | 2014-07-24 | Fujitsu Marketing Ltd | ソースコード変換装置、ソースコード変換方法及びソースコード変換プログラム |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
JP2018055676A (ja) * | 2016-09-26 | 2018-04-05 | 富士通株式会社 | 自動ソフトウェアプログラム修復 |
JP2018133081A (ja) * | 2017-02-17 | 2018-08-23 | 富士通株式会社 | ソフトウェアプログラム修復のためのメソッド呼び出し合成 |
JP2019029015A (ja) * | 2017-08-03 | 2019-02-21 | 富士通株式会社 | インタラクティブなソフトウェアプログラムの修復 |
JP2019096292A (ja) * | 2017-11-24 | 2019-06-20 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
JP7409197B2 (ja) | 2019-06-20 | 2024-01-09 | 富士通株式会社 | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01175036A (ja) * | 1987-12-29 | 1989-07-11 | Fujitsu Ltd | ソースプログラム変換装置 |
JPH03288226A (ja) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | ソフトウエア評価方法 |
JPH09185500A (ja) * | 1995-12-28 | 1997-07-15 | Nec Corp | ソースプログラムの自動修正装置および自動修正方法 |
JPH11296406A (ja) * | 1998-04-14 | 1999-10-29 | Kawasaki Steel Systems R & D Corp | プログラム修正支援方法 |
JP2000003283A (ja) * | 1998-06-15 | 2000-01-07 | Nec Corp | プログラム作成支援装置 |
JP2001350650A (ja) * | 2000-06-08 | 2001-12-21 | Ntt Comware Corp | ソフトウェアプログラム同等性検証方法及びソフトウェアプログラム同等性検証装置並びにその記録媒体 |
JP2005284785A (ja) * | 2004-03-30 | 2005-10-13 | Jfe Steel Kk | プログラム開発装置 |
JP2006236042A (ja) * | 2005-02-25 | 2006-09-07 | Matsushita Electric Ind Co Ltd | ソースプログラム解析装置およびその方法 |
-
2007
- 2007-03-30 JP JP2007094693A patent/JP2008250914A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01175036A (ja) * | 1987-12-29 | 1989-07-11 | Fujitsu Ltd | ソースプログラム変換装置 |
JPH03288226A (ja) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | ソフトウエア評価方法 |
JPH09185500A (ja) * | 1995-12-28 | 1997-07-15 | Nec Corp | ソースプログラムの自動修正装置および自動修正方法 |
JPH11296406A (ja) * | 1998-04-14 | 1999-10-29 | Kawasaki Steel Systems R & D Corp | プログラム修正支援方法 |
JP2000003283A (ja) * | 1998-06-15 | 2000-01-07 | Nec Corp | プログラム作成支援装置 |
JP2001350650A (ja) * | 2000-06-08 | 2001-12-21 | Ntt Comware Corp | ソフトウェアプログラム同等性検証方法及びソフトウェアプログラム同等性検証装置並びにその記録媒体 |
JP2005284785A (ja) * | 2004-03-30 | 2005-10-13 | Jfe Steel Kk | プログラム開発装置 |
JP2006236042A (ja) * | 2005-02-25 | 2006-09-07 | Matsushita Electric Ind Co Ltd | ソースプログラム解析装置およびその方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140408A (ja) * | 2008-12-15 | 2010-06-24 | Nomura Research Institute Ltd | ソースコード変換装置 |
JP2012203580A (ja) * | 2011-03-24 | 2012-10-22 | Hitachi Ltd | 移行テスト支援システム、移行テスト支援プログラム、移行テスト支援方法 |
WO2013072977A1 (ja) * | 2011-11-18 | 2013-05-23 | 株式会社日立製作所 | 情報処理装置、プログラム及び情報処理方法 |
JP2014089704A (ja) * | 2012-10-11 | 2014-05-15 | Tata Consultancy Services Ltd | ソフトウェアアプリケーションのコンプライアンス検査および詳細な解析を提供するためのシステムおよび方法 |
JP2014134962A (ja) * | 2013-01-10 | 2014-07-24 | Fujitsu Marketing Ltd | ソースコード変換装置、ソースコード変換方法及びソースコード変換プログラム |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
JP2018055676A (ja) * | 2016-09-26 | 2018-04-05 | 富士通株式会社 | 自動ソフトウェアプログラム修復 |
JP2018133081A (ja) * | 2017-02-17 | 2018-08-23 | 富士通株式会社 | ソフトウェアプログラム修復のためのメソッド呼び出し合成 |
JP7056139B2 (ja) | 2017-02-17 | 2022-04-19 | 富士通株式会社 | ソフトウェアプログラム修復のためのメソッド呼び出し合成 |
JP2019029015A (ja) * | 2017-08-03 | 2019-02-21 | 富士通株式会社 | インタラクティブなソフトウェアプログラムの修復 |
JP7070195B2 (ja) | 2017-08-03 | 2022-05-18 | 富士通株式会社 | インタラクティブなソフトウェアプログラムの修復 |
JP2019096292A (ja) * | 2017-11-24 | 2019-06-20 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
JP7110789B2 (ja) | 2017-11-24 | 2022-08-02 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復候補の選択 |
JP7409197B2 (ja) | 2019-06-20 | 2024-01-09 | 富士通株式会社 | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008250914A (ja) | プログラム修正装置及び方法、並びにプログラム | |
US10289275B2 (en) | Standard commands for native commands | |
US8266700B2 (en) | Secure web application development environment | |
US20070156644A1 (en) | SQL injection detector | |
US20190026261A1 (en) | Methods and systems for validating multiple methods of input using a unified rule set | |
US20130191814A1 (en) | Test scenario generation method, test scenario generation system, and test scenario generation program | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
KR20190095099A (ko) | 거래 시스템 에러 검출 방법, 장치, 저장 매체 및 컴퓨터 장치 | |
US7058582B2 (en) | Method for performing programming by plain text requests | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
WO2021036652A1 (zh) | 多角色页面跳转方法、装置、计算机设备及可读存储介质 | |
CN110806916A (zh) | 实现saas平台各租户个性化登录页的方法及系统 | |
JP5141460B2 (ja) | 制御プログラム、情報処理システム、および情報処理方法 | |
US11526340B2 (en) | Providing context-based application suggestions | |
KR101479516B1 (ko) | 소스코드 보안 약점 탐지 장치 및 방법 | |
EP2728472A2 (en) | User terminal, reliability management server, and method and program for preventing unauthorized remote operation | |
CN110874475A (zh) | 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质 | |
JP4215255B2 (ja) | デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム | |
CN111538994A (zh) | 一种系统安全检测及修复方法、装置、存储介质及终端 | |
JP2009169573A (ja) | 解析結果出力装置、及び解析結果出力方法 | |
JP4643900B2 (ja) | チェックコード生成機能を有する入力チェックシステム | |
JP5351565B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2015148925A (ja) | プログラム生成装置および方法 | |
JP6221869B2 (ja) | 画面遷移制御方法、画面遷移制御プログラムおよび画面遷移制御装置 | |
CN114760086B (zh) | 一种网站页面合规性检测方法、装置、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100427 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101005 |