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
Application number
JP9249687A
Other languages
English (en)
Inventor
Akio Toi
章夫 戸井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP9249687A priority Critical patent/JPH1173328A/ja
Publication of JPH1173328A publication Critical patent/JPH1173328A/ja
Pending legal-status Critical Current

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)上で構文・文法チェック及びコー
ディング規約チェックを行うことで、机上レビュー時の
規約チェック漏れを防ぐことができる。これにより、プ
ログラム製造において統一化が図れるとともに、バグの
早期摘出につながる。
【0011】さらに本発明のコーディング規約チェック
システムは、その好ましい実施の形態において、コーデ
ィングされたソースプログラムの構文・文法チェック及
びコーディング規約チェックをコンパイル部で行い、P
C等のコンピュータ上で単体試験までを行うものであ
る。図1は、本発明の実施の形態の全体構成を説明する
ための図である。
【0012】図1を参照すると、ソース読込部101に
おいてコーディングされたソースプログラム109を読
み込んでソースプログラムを登録する。
【0013】登録されたソースプログラムは、コンパイ
ル部102において、構文・文法チェック106、コー
ディング規約107と突き合わせて、規約違反のチェッ
クが行われる。すなわち、構文・文法チェック106、
コーディング規約107に登録されたキーワードがプロ
グラムステップ毎に検索され、規約違反の有無がチェッ
クされる。
【0014】また、単体試験用の入力データ110(D
B113、引継ファイル114等)は、データ登録部1
04においてデータ登録され、単体試験部105で試験
が行われる。
【0015】この単体試験結果、及びコンパイル結果を
受けて、デバッグ部103において、ソースプログラム
の修正等を行う。なお、出力帳票の各項目の出力位置の
確認や、DB(データベース)113の更新結果の確認
等は、単体試験における出力結果にて行う。なお、共通
マクロ・共通モジュール108は、コンパイル部102
がソースプログラムで共通マクロを使用している時にマ
クロ展開するために参照するファイルである。
【0016】次に、コンパイル部102の動作について
説明する。
【0017】ソース読込部101でソース登録されたソ
ースプログラムは、コンパイル部102で、1ステップ
毎に、構文・文法チェック106とコーディング規約1
07にアクセスする。
【0018】これら2つのファイル106、107は、
テーブル化されており、規約違反及びワーニングとなる
キーワードと、そのエラーメッセージが登録されてい
る。コンパイル部102では、このキーワードと文字列
検索にてサーチし、規約違反の有無を確認する。規約違
反があった場合には、その行数と、エラー又はワーニン
グメッセージを、コンパイル結果として画面上に出力す
る。なお、ソース入力部101、コンパイル部102、
デバッグ部103、データ登録部104、単体試験部1
05は、好ましくは、コンピュータ上で実行されるプロ
グラムで実現される。
【0019】
【実施例】上記した発明の実施の形態について更に詳細
に説明すべく、本発明の一実施例について図1を参照し
て説明する。以下では、コンパイル部102において、
規約チェック時にアクセスする構文・文法チェック10
6、コーディング規約107のファイル構成について説
明する。
【0020】これら2つのファイル106、107は、
“エラー/ワーニング区分”、“エラー/ワーニングと
なるキーワード”、“エラーメッセージ”の3項目で構
成されている。
【0021】規約に変更があった場合、これら2つのフ
ァイル106、107に対して、項目内容をコンソール
から更新することにより可能となることから、規約の変
更にも柔軟に対応できる。
【0022】ここで、コーディング規約107につい
て、その一例を挙げて説明する。
【0023】すなわち、コーディング規約として、「i
f文」の条件式において、「NOT=」の使用を禁止し
たとする。しかし、この規約は、コンパイル時に文法違
反(シンタックス・エラー)とはならない。そこで、以
下のようなイメージで、ワーニングメッセージを画面出
力する。
【0024】「Warning Error:12行
目:“NOT=”はコーディング規約違反です。」
【0025】本発明の一実施例のコーディング規約チェ
ックシステムは、開発するプログラム言語(COBOL
言語、C言語等)により、構文・文法チェック106の
変更が可能である。また、コーディング規約107の変
更も可能である。このため、それぞれのプロジェクトで
定めた規約の登録が可能であり、プロジェクト単位に独
自の規約での確認が可能となる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
プログラム製造の共通化・標準化を図り、単純なバグの
防止と検出を容易化し、規約チェックの効率化を図り、
プログラムの品質、及び生産性を向上する、という効果
を奏する。
【0027】その理由は、本発明においては、コンピュ
ータのコンパイル時にコーディング規約チェックを自動
で行うようにしたため、レビュー方法やレビュアの資質
の違いにより発生する規約チェックの偏りがなくなり、
すべてのプログラムの規約チェックが均一化されるため
である。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示す図であ
る。
【符号の説明】
101 ソース読込部 102 コンパイル部 103 デバッグ部 104 データ登録部 105 単体試験部 106 構文・文法チェックファイル 107 コーディング規約ファイル 108 共通マクロ・共通モジュール 109 ソースプログラム 110 入力データ 111 パーソナルコンピュータ(PC)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】コーディング規約違反及びワーニングとな
    るキーワードと、該キーワードに対応するエラー又はワ
    ーニングメッセージと、が予め登録されているファイル
    を備え、 ソースプログラムをコンパイルするコンパイル手段が、
    前記ファイルを参照して、前記ソースプログラムについ
    てステップ単位に前記キーワードをサーチして規約違反
    の有無を確認し、規約違反が検出された場合にはエラー
    又はワーニングメッセージを、コンパイル結果として出
    力する、ことを特徴とするコーディング規約チェックシ
    ステム。
  2. 【請求項2】規約違反及びワーニングとなるキーワード
    と、該キーワードに対応するエラー又はワーニングメッ
    セージとがテーブル形式で登録されている構文・文法チ
    ェックファイル、及びコーディング規約ファイルを備
    え、 ソースプログラムをコンパイルするコンパイル手段にお
    いて、前記構文・文法チェックファイル、及びコーディ
    ング規約ファイルを参照して、前記ソースプログラムに
    ついてステップ単位に前記キーワードをサーチして規約
    違反の有無を確認し、規約違反があった場合にはエラー
    又はワーニングメッセージを、コンパイル結果として出
    力する、ことを特徴とするコーディング規約チェックシ
    ステム。
  3. 【請求項3】入力データをデータ登録し、前記登録デー
    タを基に前記プログラムの単体試験を行う手段と、 この単体試験結果、及びコンパイル結果を受けて、前記
    ソースプログラムの修正を行う手段と、 を備えたことを特徴とする請求項2記載のコーディング
    規約チェックシステム。
  4. 【請求項4】規約違反及びワーニングとなるキーワード
    と、該キーワードに対応するエラー又はワーニングメッ
    セージがテーブル形式で登録されている構文・文法チェ
    ックファイル、及びコーディング規約ファイルを参照し
    て、コンパイル時に、読み込んだソースプログラムにつ
    いてプログラムステップ単位に前記キーワードをサーチ
    して規約違反の有無を確認し、規約違反があった場合に
    はエラー又はワーニングメッセージを、コンパイル結果
    として出力し、コーディング規約チェックを自動で行う
    処理をコンピュータで実行するためのプログラムを記録
    した記録媒体。
JP9249687A 1997-08-29 1997-08-29 コーディング規約チェックシステム Pending JPH1173328A (ja)

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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 プログラム、情報処理装置及び情報処理方法

Cited By (7)

* Cited by examiner, † Cited by third party
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