JPH1173328A - コーディング規約チェックシステム - Google Patents
コーディング規約チェックシステムInfo
- Publication number
- JPH1173328A JPH1173328A JP9249687A JP24968797A JPH1173328A JP H1173328 A JPH1173328 A JP H1173328A JP 9249687 A JP9249687 A JP 9249687A JP 24968797 A JP24968797 A JP 24968797A JP H1173328 A JPH1173328 A JP H1173328A
- Authority
- JP
- Japan
- Prior art keywords
- check
- rule
- file
- violation
- source program
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】ソースプログラムのコンパイル時に、同時に、
規約違反の有無を自動で確認することにより、人手によ
るチェックでのチェック漏れ、かたよりの発生をなく
し、作業効率、生産性を特段に向上するシステムの提
供。 【解決手段】ソース読込部においてコーディングされた
ソースプログラムを読み込んでソースプログラムを登録
し、登録されたソースプログラムはコンパイル部におい
て、構文・文法チェック、コーディング規約と突き合わ
せて、規約違反のチェックを行い、規約違反があった場
合には、その行数と、エラー又はワーニングメッセージ
を、コンパイル結果として画面上に出力し、単体試験用
の入力データは、データ登録部においてデータ登録さ
れ、単体試験部で試験が行われ、この単体試験結果、及
びコンパイル結果を受けて、デバッグ部において、ソー
ス修正等を行う。
規約違反の有無を自動で確認することにより、人手によ
るチェックでのチェック漏れ、かたよりの発生をなく
し、作業効率、生産性を特段に向上するシステムの提
供。 【解決手段】ソース読込部においてコーディングされた
ソースプログラムを読み込んでソースプログラムを登録
し、登録されたソースプログラムはコンパイル部におい
て、構文・文法チェック、コーディング規約と突き合わ
せて、規約違反のチェックを行い、規約違反があった場
合には、その行数と、エラー又はワーニングメッセージ
を、コンパイル結果として画面上に出力し、単体試験用
の入力データは、データ登録部においてデータ登録さ
れ、単体試験部で試験が行われ、この単体試験結果、及
びコンパイル結果を受けて、デバッグ部において、ソー
ス修正等を行う。
Description
【0001】
【発明の属する技術分野】本発明は、情報処理システム
関し、特にプログラム開発製造において共通化および標
準化として制定した規約のチェックの自動化方法に関す
る。
関し、特にプログラム開発製造において共通化および標
準化として制定した規約のチェックの自動化方法に関す
る。
【0002】
【従来の技術】業務プログラムの製造を行う際に、プロ
グラムの共通化・標準化を推進するために、コーディン
グ規約を作成して、プログラムのコーディングに適用す
ることが一般に行われている。
グラムの共通化・標準化を推進するために、コーディン
グ規約を作成して、プログラムのコーディングに適用す
ることが一般に行われている。
【0003】しかし、コーディングされたすべてのソー
スプログラムがこれらの規約に沿って作成されているか
の確認は、従来、人手作業、すなわち担当者とレビュア
による机上レビューで行われており、レビュー方法やレ
ビュアの資質によって、偏りが発生してしまう、という
問題がある。
スプログラムがこれらの規約に沿って作成されているか
の確認は、従来、人手作業、すなわち担当者とレビュア
による机上レビューで行われており、レビュー方法やレ
ビュアの資質によって、偏りが発生してしまう、という
問題がある。
【0004】
【発明が解決しようとする課題】上記したように、コー
ディング規約のチェックを行うための従来方法では、製
造したプログラムがコーディング規約に沿ってコーディ
ングされているか否かの確認が十分に行われているとは
いえない、という問題点を有している。
ディング規約のチェックを行うための従来方法では、製
造したプログラムがコーディング規約に沿ってコーディ
ングされているか否かの確認が十分に行われているとは
いえない、という問題点を有している。
【0005】その理由は、製造担当者とレビュアによる
机上レビュー時に規約チェックだけでなく、機能の過不
足・誤りについても同時にレビューを行っているので、
チェック漏れ等が生じる可能性があるためである。また
人手によるチェックでは、プログラムモジュール、ステ
ップの増大とともに、チェックに要する作業工数も膨大
なものとなる。
机上レビュー時に規約チェックだけでなく、機能の過不
足・誤りについても同時にレビューを行っているので、
チェック漏れ等が生じる可能性があるためである。また
人手によるチェックでは、プログラムモジュール、ステ
ップの増大とともに、チェックに要する作業工数も膨大
なものとなる。
【0006】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、ソースプログラ
ムのコンパイル時に、同時に、規約違反の有無を自動で
確認することにより、人手によるチェックでのチェック
漏れ、偏りの発生をなくし、作業効率、生産性を特段に
向上する、コーディング規約チェックシステムを提供す
ることにある。
てなされたものであって、その目的は、ソースプログラ
ムのコンパイル時に、同時に、規約違反の有無を自動で
確認することにより、人手によるチェックでのチェック
漏れ、偏りの発生をなくし、作業効率、生産性を特段に
向上する、コーディング規約チェックシステムを提供す
ることにある。
【0007】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、コーディング規約違反及びワーニングと
なるキーワードと、該キーワードに対応するエラー又は
ワーニングメッセージとが登録されているファイルを備
え、ソールプログラムをコンパイルするコンパイル手段
において、前記ファイルを参照して、前記ソースプログ
ラムについてステップ単位に前記キーワードをサーチし
て規約違反の有無を確認し、規約違反があった場合には
エラー又はワーニングメッセージを、コンパイル結果と
して出力する、ことを特徴とする。
め、本発明は、コーディング規約違反及びワーニングと
なるキーワードと、該キーワードに対応するエラー又は
ワーニングメッセージとが登録されているファイルを備
え、ソールプログラムをコンパイルするコンパイル手段
において、前記ファイルを参照して、前記ソースプログ
ラムについてステップ単位に前記キーワードをサーチし
て規約違反の有無を確認し、規約違反があった場合には
エラー又はワーニングメッセージを、コンパイル結果と
して出力する、ことを特徴とする。
【0008】また、本発明は、好ましくは、規約違反及
びワーニングとなるキーワードと、該キーワードに対応
するエラー又はワーニングメッセージがテーブル形式で
登録されている構文・文法チェックファイル、及びコー
ディング規約ファイルを備え、ソースプログラムをコン
パイルするコンパイル手段において、前記構文・文法チ
ェックファイル、及びコーディング規約ファイルを参照
して、前記ソースプログラムについてステップ単位に前
記キーワードをサーチして規約違反の有無を確認し、規
約違反があった場合にはエラー又はワーニングメッセー
ジを、コンパイル結果として出力する、ことを特徴とす
る。
びワーニングとなるキーワードと、該キーワードに対応
するエラー又はワーニングメッセージがテーブル形式で
登録されている構文・文法チェックファイル、及びコー
ディング規約ファイルを備え、ソースプログラムをコン
パイルするコンパイル手段において、前記構文・文法チ
ェックファイル、及びコーディング規約ファイルを参照
して、前記ソースプログラムについてステップ単位に前
記キーワードをサーチして規約違反の有無を確認し、規
約違反があった場合にはエラー又はワーニングメッセー
ジを、コンパイル結果として出力する、ことを特徴とす
る。
【0009】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明のコーディング規約チェックシステ
ムは、その好ましい実施の形態において、ソースプログ
ラムをコンパイルするコンパイル部において、規約違反
及びワーニングとなるキーワードと、該キーワードに対
応するエラー又はワーニングメッセージとがテーブル形
成期で登録されている構文・文法チェックファイル及び
コーディング規約ファイルのキーワードを、プログラム
ステップ毎に、文字列検索にてサーチし、規約違反の有
無を確認するようにしたものである。
に説明する。本発明のコーディング規約チェックシステ
ムは、その好ましい実施の形態において、ソースプログ
ラムをコンパイルするコンパイル部において、規約違反
及びワーニングとなるキーワードと、該キーワードに対
応するエラー又はワーニングメッセージとがテーブル形
成期で登録されている構文・文法チェックファイル及び
コーディング規約ファイルのキーワードを、プログラム
ステップ毎に、文字列検索にてサーチし、規約違反の有
無を確認するようにしたものである。
【0010】本発明の実施の形態によれば、パーソナル
コンピュータ(PC)上で構文・文法チェック及びコー
ディング規約チェックを行うことで、机上レビュー時の
規約チェック漏れを防ぐことができる。これにより、プ
ログラム製造において統一化が図れるとともに、バグの
早期摘出につながる。
コンピュータ(PC)上で構文・文法チェック及びコー
ディング規約チェックを行うことで、机上レビュー時の
規約チェック漏れを防ぐことができる。これにより、プ
ログラム製造において統一化が図れるとともに、バグの
早期摘出につながる。
【0011】さらに本発明のコーディング規約チェック
システムは、その好ましい実施の形態において、コーデ
ィングされたソースプログラムの構文・文法チェック及
びコーディング規約チェックをコンパイル部で行い、P
C等のコンピュータ上で単体試験までを行うものであ
る。図1は、本発明の実施の形態の全体構成を説明する
ための図である。
システムは、その好ましい実施の形態において、コーデ
ィングされたソースプログラムの構文・文法チェック及
びコーディング規約チェックをコンパイル部で行い、P
C等のコンピュータ上で単体試験までを行うものであ
る。図1は、本発明の実施の形態の全体構成を説明する
ための図である。
【0012】図1を参照すると、ソース読込部101に
おいてコーディングされたソースプログラム109を読
み込んでソースプログラムを登録する。
おいてコーディングされたソースプログラム109を読
み込んでソースプログラムを登録する。
【0013】登録されたソースプログラムは、コンパイ
ル部102において、構文・文法チェック106、コー
ディング規約107と突き合わせて、規約違反のチェッ
クが行われる。すなわち、構文・文法チェック106、
コーディング規約107に登録されたキーワードがプロ
グラムステップ毎に検索され、規約違反の有無がチェッ
クされる。
ル部102において、構文・文法チェック106、コー
ディング規約107と突き合わせて、規約違反のチェッ
クが行われる。すなわち、構文・文法チェック106、
コーディング規約107に登録されたキーワードがプロ
グラムステップ毎に検索され、規約違反の有無がチェッ
クされる。
【0014】また、単体試験用の入力データ110(D
B113、引継ファイル114等)は、データ登録部1
04においてデータ登録され、単体試験部105で試験
が行われる。
B113、引継ファイル114等)は、データ登録部1
04においてデータ登録され、単体試験部105で試験
が行われる。
【0015】この単体試験結果、及びコンパイル結果を
受けて、デバッグ部103において、ソースプログラム
の修正等を行う。なお、出力帳票の各項目の出力位置の
確認や、DB(データベース)113の更新結果の確認
等は、単体試験における出力結果にて行う。なお、共通
マクロ・共通モジュール108は、コンパイル部102
がソースプログラムで共通マクロを使用している時にマ
クロ展開するために参照するファイルである。
受けて、デバッグ部103において、ソースプログラム
の修正等を行う。なお、出力帳票の各項目の出力位置の
確認や、DB(データベース)113の更新結果の確認
等は、単体試験における出力結果にて行う。なお、共通
マクロ・共通モジュール108は、コンパイル部102
がソースプログラムで共通マクロを使用している時にマ
クロ展開するために参照するファイルである。
【0016】次に、コンパイル部102の動作について
説明する。
説明する。
【0017】ソース読込部101でソース登録されたソ
ースプログラムは、コンパイル部102で、1ステップ
毎に、構文・文法チェック106とコーディング規約1
07にアクセスする。
ースプログラムは、コンパイル部102で、1ステップ
毎に、構文・文法チェック106とコーディング規約1
07にアクセスする。
【0018】これら2つのファイル106、107は、
テーブル化されており、規約違反及びワーニングとなる
キーワードと、そのエラーメッセージが登録されてい
る。コンパイル部102では、このキーワードと文字列
検索にてサーチし、規約違反の有無を確認する。規約違
反があった場合には、その行数と、エラー又はワーニン
グメッセージを、コンパイル結果として画面上に出力す
る。なお、ソース入力部101、コンパイル部102、
デバッグ部103、データ登録部104、単体試験部1
05は、好ましくは、コンピュータ上で実行されるプロ
グラムで実現される。
テーブル化されており、規約違反及びワーニングとなる
キーワードと、そのエラーメッセージが登録されてい
る。コンパイル部102では、このキーワードと文字列
検索にてサーチし、規約違反の有無を確認する。規約違
反があった場合には、その行数と、エラー又はワーニン
グメッセージを、コンパイル結果として画面上に出力す
る。なお、ソース入力部101、コンパイル部102、
デバッグ部103、データ登録部104、単体試験部1
05は、好ましくは、コンピュータ上で実行されるプロ
グラムで実現される。
【0019】
【実施例】上記した発明の実施の形態について更に詳細
に説明すべく、本発明の一実施例について図1を参照し
て説明する。以下では、コンパイル部102において、
規約チェック時にアクセスする構文・文法チェック10
6、コーディング規約107のファイル構成について説
明する。
に説明すべく、本発明の一実施例について図1を参照し
て説明する。以下では、コンパイル部102において、
規約チェック時にアクセスする構文・文法チェック10
6、コーディング規約107のファイル構成について説
明する。
【0020】これら2つのファイル106、107は、
“エラー/ワーニング区分”、“エラー/ワーニングと
なるキーワード”、“エラーメッセージ”の3項目で構
成されている。
“エラー/ワーニング区分”、“エラー/ワーニングと
なるキーワード”、“エラーメッセージ”の3項目で構
成されている。
【0021】規約に変更があった場合、これら2つのフ
ァイル106、107に対して、項目内容をコンソール
から更新することにより可能となることから、規約の変
更にも柔軟に対応できる。
ァイル106、107に対して、項目内容をコンソール
から更新することにより可能となることから、規約の変
更にも柔軟に対応できる。
【0022】ここで、コーディング規約107につい
て、その一例を挙げて説明する。
て、その一例を挙げて説明する。
【0023】すなわち、コーディング規約として、「i
f文」の条件式において、「NOT=」の使用を禁止し
たとする。しかし、この規約は、コンパイル時に文法違
反(シンタックス・エラー)とはならない。そこで、以
下のようなイメージで、ワーニングメッセージを画面出
力する。
f文」の条件式において、「NOT=」の使用を禁止し
たとする。しかし、この規約は、コンパイル時に文法違
反(シンタックス・エラー)とはならない。そこで、以
下のようなイメージで、ワーニングメッセージを画面出
力する。
【0024】「Warning Error:12行
目:“NOT=”はコーディング規約違反です。」
目:“NOT=”はコーディング規約違反です。」
【0025】本発明の一実施例のコーディング規約チェ
ックシステムは、開発するプログラム言語(COBOL
言語、C言語等)により、構文・文法チェック106の
変更が可能である。また、コーディング規約107の変
更も可能である。このため、それぞれのプロジェクトで
定めた規約の登録が可能であり、プロジェクト単位に独
自の規約での確認が可能となる。
ックシステムは、開発するプログラム言語(COBOL
言語、C言語等)により、構文・文法チェック106の
変更が可能である。また、コーディング規約107の変
更も可能である。このため、それぞれのプロジェクトで
定めた規約の登録が可能であり、プロジェクト単位に独
自の規約での確認が可能となる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
プログラム製造の共通化・標準化を図り、単純なバグの
防止と検出を容易化し、規約チェックの効率化を図り、
プログラムの品質、及び生産性を向上する、という効果
を奏する。
プログラム製造の共通化・標準化を図り、単純なバグの
防止と検出を容易化し、規約チェックの効率化を図り、
プログラムの品質、及び生産性を向上する、という効果
を奏する。
【0027】その理由は、本発明においては、コンピュ
ータのコンパイル時にコーディング規約チェックを自動
で行うようにしたため、レビュー方法やレビュアの資質
の違いにより発生する規約チェックの偏りがなくなり、
すべてのプログラムの規約チェックが均一化されるため
である。
ータのコンパイル時にコーディング規約チェックを自動
で行うようにしたため、レビュー方法やレビュアの資質
の違いにより発生する規約チェックの偏りがなくなり、
すべてのプログラムの規約チェックが均一化されるため
である。
【図1】本発明の一実施例のシステム構成を示す図であ
る。
る。
101 ソース読込部 102 コンパイル部 103 デバッグ部 104 データ登録部 105 単体試験部 106 構文・文法チェックファイル 107 コーディング規約ファイル 108 共通マクロ・共通モジュール 109 ソースプログラム 110 入力データ 111 パーソナルコンピュータ(PC)
Claims (4)
- 【請求項1】コーディング規約違反及びワーニングとな
るキーワードと、該キーワードに対応するエラー又はワ
ーニングメッセージと、が予め登録されているファイル
を備え、 ソースプログラムをコンパイルするコンパイル手段が、
前記ファイルを参照して、前記ソースプログラムについ
てステップ単位に前記キーワードをサーチして規約違反
の有無を確認し、規約違反が検出された場合にはエラー
又はワーニングメッセージを、コンパイル結果として出
力する、ことを特徴とするコーディング規約チェックシ
ステム。 - 【請求項2】規約違反及びワーニングとなるキーワード
と、該キーワードに対応するエラー又はワーニングメッ
セージとがテーブル形式で登録されている構文・文法チ
ェックファイル、及びコーディング規約ファイルを備
え、 ソースプログラムをコンパイルするコンパイル手段にお
いて、前記構文・文法チェックファイル、及びコーディ
ング規約ファイルを参照して、前記ソースプログラムに
ついてステップ単位に前記キーワードをサーチして規約
違反の有無を確認し、規約違反があった場合にはエラー
又はワーニングメッセージを、コンパイル結果として出
力する、ことを特徴とするコーディング規約チェックシ
ステム。 - 【請求項3】入力データをデータ登録し、前記登録デー
タを基に前記プログラムの単体試験を行う手段と、 この単体試験結果、及びコンパイル結果を受けて、前記
ソースプログラムの修正を行う手段と、 を備えたことを特徴とする請求項2記載のコーディング
規約チェックシステム。 - 【請求項4】規約違反及びワーニングとなるキーワード
と、該キーワードに対応するエラー又はワーニングメッ
セージがテーブル形式で登録されている構文・文法チェ
ックファイル、及びコーディング規約ファイルを参照し
て、コンパイル時に、読み込んだソースプログラムにつ
いてプログラムステップ単位に前記キーワードをサーチ
して規約違反の有無を確認し、規約違反があった場合に
はエラー又はワーニングメッセージを、コンパイル結果
として出力し、コーディング規約チェックを自動で行う
処理をコンピュータで実行するためのプログラムを記録
した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9249687A JPH1173328A (ja) | 1997-08-29 | 1997-08-29 | コーディング規約チェックシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9249687A JPH1173328A (ja) | 1997-08-29 | 1997-08-29 | コーディング規約チェックシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1173328A true JPH1173328A (ja) | 1999-03-16 |
Family
ID=17196719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9249687A Pending JPH1173328A (ja) | 1997-08-29 | 1997-08-29 | コーディング規約チェックシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1173328A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763516B2 (en) | 2000-01-31 | 2004-07-13 | Fujitsu Limited | Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program |
JP2005316685A (ja) * | 2004-04-28 | 2005-11-10 | Mitsubishi Electric Corp | プログラム管理装置 |
JP2006018735A (ja) * | 2004-07-05 | 2006-01-19 | Hitachi Software Eng Co Ltd | コーディング規準遵守状況監視システム |
JP2009098872A (ja) * | 2007-10-16 | 2009-05-07 | Toshiba Corp | ソースプログラム解析装置、ソースプログラム解析方法及びコンピュータプログラム |
JP2011164954A (ja) * | 2010-02-10 | 2011-08-25 | Exa Corp | Cobolソースコードチェックプログラム、cobolソースコードチェックシステム |
JP4913302B2 (ja) * | 1999-11-12 | 2012-04-11 | オラクル・アメリカ・インコーポレイテッド | 言語サブセットの妥当性検査 |
JP2019020990A (ja) * | 2017-07-14 | 2019-02-07 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
-
1997
- 1997-08-29 JP JP9249687A patent/JPH1173328A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4913302B2 (ja) * | 1999-11-12 | 2012-04-11 | オラクル・アメリカ・インコーポレイテッド | 言語サブセットの妥当性検査 |
US6763516B2 (en) | 2000-01-31 | 2004-07-13 | Fujitsu Limited | Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program |
JP2005316685A (ja) * | 2004-04-28 | 2005-11-10 | Mitsubishi Electric Corp | プログラム管理装置 |
JP2006018735A (ja) * | 2004-07-05 | 2006-01-19 | Hitachi Software Eng Co Ltd | コーディング規準遵守状況監視システム |
JP2009098872A (ja) * | 2007-10-16 | 2009-05-07 | Toshiba Corp | ソースプログラム解析装置、ソースプログラム解析方法及びコンピュータプログラム |
JP2011164954A (ja) * | 2010-02-10 | 2011-08-25 | Exa Corp | Cobolソースコードチェックプログラム、cobolソースコードチェックシステム |
JP2019020990A (ja) * | 2017-07-14 | 2019-02-07 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797298B2 (en) | Automating identification of code snippets for library suggestion models | |
US20240320133A1 (en) | Automating Identification of Test Cases for Library Suggestion Models | |
US11340896B2 (en) | Library model addition | |
US11494181B2 (en) | Automating generation of library suggestion engine models | |
US8875110B2 (en) | Code inspection executing system for performing a code inspection of ABAP source codes | |
US7478367B2 (en) | Dynamic source code analyzer | |
US8381175B2 (en) | Low-level code rewriter verification | |
US9122540B2 (en) | Transformation of computer programs and eliminating errors | |
US10229042B2 (en) | Detection of meaningful changes in content | |
US20140298290A1 (en) | Identification of code changes using language syntax and changeset data | |
CN101751281A (zh) | 编译器生成系统和方法 | |
US10839124B1 (en) | Interactive compilation of software to a hardware language to satisfy formal verification constraints | |
JPH1173328A (ja) | コーディング規約チェックシステム | |
US20070226690A1 (en) | In source code suppression of binary analysis | |
CN112632546A (zh) | 广电行业自动化代码分析方法 | |
JP2004086545A (ja) | データ項目の状態を管理することでプログラムを自動生成するプログラム開発支援システム | |
JP2000003283A (ja) | プログラム作成支援装置 | |
Ali et al. | Explication and Monitoring of Quality of Experience (QOE) in Android | |
US10073768B1 (en) | Smart migration/remediation engine | |
Grechanik | Finding errors in interoperating components | |
Engle et al. | AD-A235 779... III 1111111 Ii ill i | |
JPH04281526A (ja) | ソフトウェア開発支援装置 | |
JPH06348564A (ja) | アプリケーションプログラムの自動チェック方式 | |
JPH07141167A (ja) | コンピュータ・ソフトウェアの設計支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000404 |