JPH01220044A - 言語処理プログラム検証方式 - Google Patents

言語処理プログラム検証方式

Info

Publication number
JPH01220044A
JPH01220044A JP63046510A JP4651088A JPH01220044A JP H01220044 A JPH01220044 A JP H01220044A JP 63046510 A JP63046510 A JP 63046510A JP 4651088 A JP4651088 A JP 4651088A JP H01220044 A JPH01220044 A JP H01220044A
Authority
JP
Japan
Prior art keywords
random number
sentence
language processing
processing program
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
JP63046510A
Other languages
English (en)
Inventor
Hiroshi Saijo
西条 寛
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63046510A priority Critical patent/JPH01220044A/ja
Publication of JPH01220044A publication Critical patent/JPH01220044A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 言語処理プログラムの動作の正当性を検証する言語処理
プログラム検証方式に関し、 検証プログラムを乱数的に自動的に作成して言語処理プ
ログラムの検証を高品質に行うことを目的とし、 言語処理プログラムの機能であるIF文などの文を構成
する文/式・変数/定数などに対して、予め作成した生
成規則のうちから乱数的に選択して当該文に対する乱数
文を作成する生成規則選択部と、この生成規則選択部に
よって作成された乱数文の実行により引き起こされる結
果を、l+1!認文として当該乱数文に対応づけて挿入
する111!認文挿入部とを備え、これら作成および挿
入された乱数文およびi認文からなる一連の検証プログ
ラムを言語処理プログラムに実行させて動作の正当性の
検証を行うように構成する。
〔産業上の利用分野〕
本発明は、言語処理プログラムの動作の正当性を検証す
る言語処理プログラム検証方式に関するものである。
言語処理プログラムは、適用分野(事務用、技術計算用
、システム記述用など)向き言語(COBOL、FOR
TRANなど)に対応し、多数のシステムが作成されて
いる。この言語処理プログラムの機能の正当性の検査は
、マニュアルに基づき、各言語機能毎に検証用のプログ
ラムを作成・実行させ、その実行結果を予想した結果と
比較するといった手法が広く用いられている。
一般に、言語処理プログラムの機能は多く、これらの機
能の組み合せ結果となると、確認しなければならない機
能の数は無限大となる。このため、言語処理プログラム
の機能の正当性の確認には、多大な労力を費やしてきた
。このような背景から、言語処理プログラムの機能検査
における、大幅な労力を削減するための自動検証装置の
出現が要望されている。
〔従来の技術と発明が解決しようとする問題点〕従来の
言語処理プログラムの正当性の確認検査は、予め人手に
よって作成した検証プログラムを実行させ、その結果を
みて正当性をヂエクするようにしている。このため、予
め作成した検証プログラムを用いた初回の検査時には多
くの機能欠陥を検出できるが、2度、3度と検査に用い
るに従って、機能欠陥の検出能力が急激に低下する、い
わゆる免疫性ができてしまい、品質の高い検証を行い難
いという問題点があった。
本発明は、検証プログラムを乱数的に自動的に作成して
言語処理プログラムの検証を高品質に行うことを目的と
している。
〔問題点を解決するための手段〕
第1図を参照して問題点を解決するための手段を説明す
る。
第1図において、構文・意味記述lは、検証プログラム
を構成する文を乱数的に作成するための構文記述および
意味記述である。
生成規則選択部3は、構文・意味記述1から乱数的に該
当する構文・意味記述を取り出して乱数文を作成するも
のである。この乱数文が前の文の実行による影響を引き
継ぎつつ多数集まって検証プログラムが構成される。
確認文挿入部4は、乱数文の実行によって引き起こされ
る結果を、!構文として当該乱数文に対応づけて検証プ
ログラム6中に挿入するものである。これにより、検証
プログラム内に自分自身の正当性を確認する機構を内蔵
するため、自動的にチエツクを行うことが可能となる。
〔作用〕
本発明は、第1図に示すように、言語処理プログラムの
機能であるIF文などに対応する構文・意味記述lを参
照して、生成規則選択部3が乱数的に1つの構文・意味
記述を取り出して乱数文を作成し、確認文挿入部4がこ
の乱数文の実行により引き起こされる結果を、確認文と
して当該乱数文に対応づけて検証プログラム6中に挿入
するようにしている。
従って、これら乱数文および確認文を多数集めた検証プ
ログラム6を、被検証対象の言語処理プログラムに実行
させた場合に、自動判定部7が検証プログラム6の実行
による検証プログラム6の内部判定結果がOKでない場
合に、正常に機能しない旨を結果−覧表8に記載などす
ることにより、言語処理プログラムの動作検証を自動的
に行うことが可能となる。この際、乱数的に生成された
多数の検証プログラム6のうち任意のものを実行させる
ことにより、免疫性を回避し、作成者の能力や工数に依
存しない高品質の検証を行うことが可能となる。
〔実施例〕
次に、第1図から第6図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
第1図において、構文・意味記述1は、乱数文を作成す
るための構文記述および意味記述である。
これは、例えば第3図に示すようなものである(後述す
る)。
TPl&証プログラム)自動作成部2は、構文・意味記
述1から乱数的な検証プログラム6を自動的に作成する
ものであって、構文・意味記述1から乱数的に該当する
ものを取り出して乱数文を作成する生成規則選択部3、
乱数文による結果を検証するための確認文を挿入する確
認文挿入部4、および乱数文名およびその実行結果など
を格納する記号表4などから構成されている。
検証プログラム6−1ないし6〜nは、TP自動作成部
2によって作成された、言語処理プログラムを検査(検
証)するためのプログラムである。
自動判定部7は、検証プログラム6−1ないし6−nの
うちのいずれかを言語処理プログラムに実行させた結果
と、当該実行させた検証プログラム6−1ないし5−n
に記述されている確認文の実行による内部判定結果、即
ちOK/NGの出力などを確認し、NGの場合にエラー
表示を結果−・覧表8に印刷などして、自動的に言語処
理プログラムの検証を行うものである。
次に、第2図フローチャートに示す順次に従って、第3
図を用いて、第1図構成の動作を順次説明する。
第2図において、図中■は、構文・意味記述を入力する
(与える)、これは、例えば第3面構文・意味記述を与
えることを意味している。
図中■は、乱数文の作成を行う、これは、第4図図中0
から■に示す順序によって、第2行目に示す文に対応し
て第6行目および第7行目の記載のうち乱数的に第6行
目を選択し、かつ第10行目および第11行目の記載の
うち乱数的に第10行目を選択して例えば“IF  A
≧3  THENB −N u m + N u m 
”を生成し、更に、図中O(前者のNumに対する乱数
値例えば“5”)、■(後者のNumに対する乱数値例
えば“3”)を持つ乱数文を作成することを意味してい
る(第4図および第5図を用いて詳細に説明する)。こ
の結果、“IF  A≧3THENB−5+32が生成
される。
図中■は、確認文の挿入を行う。これは、図中■で作成
した乱数文の実行によって引き起こされる結果、例えば
図中■の例では、A≧3の条件が満足された場合に、5
+3−8をWl認文の形式で、当該乱数文に対応づけて
検証プログラム6中に挿入する(第5rEJを用いて詳
述する)。
図中■は、文の数かに個よりも大きいか否かを判別する
。YESの場合には、検証プログラム6として予定した
数にの乱数文および確認文が対として作成されたので、
1つの検証プログラムの作成を終了する。Noの場合に
は、図中■から■を繰り返し実行する。
以上の処理によって、言語処理プログラムの機能を検証
するための乱数文および確認文が自動生成され、検証プ
ログラムが作成されることとなる。
同様に、検証プログラムの作成を続行し、検証プログラ
ムの数が十分(この例ではN)と判断される場合に全体
の処理を終了する。
次に、第4図(イ)“IF  AI≧3  THEN 
 A2=A2+3”という文を、第3図に示すような生
成規則に従い、第4図に示す選択順序で生成する。ここ
で、第4図図中0から[相]は、第4図図中0から[相
]の記述にほぼ対応している。この作成された第4図(
イ)文によって引き起こされる状態変化をfl!認する
確認文を、第5図に示すように作成する。これは、例え
ば第5図(イ)に示すように、“A1が5、A2が1の
値をもつとき″ (これらAI、A2の値は、乱数的に
生成される)、上記生成した第5図(イ)文(乱数文)
の次に、確認文として、”CALL  CHECK(1
0、A2、↓、10th  check’)  ”を挿
入する。ここで、先頭から第3番目の“4”が正解値で
ある。また、同様に、第5図(ロ)に示す場合(これは
条件が満足されない場合)には、正解値“5“が確認文
中に記載されている。このような処理は、第1図に示し
た構文・意味記述1の意味の記述(第3図の各行の括弧
内の記述)、および第6rMの記号表によって行われる
以上のように、乱数的に選択して作成した乱数文および
この乱数文の実行により引き起こされる結果(正解値)
をCALL文中に記載しておくことにより、これら乱数
文および確認文からなる検証プログラム6−1ないし6
−nのいずれかを実行させた場合に、自動判定部7が検
証プログラムの内部判定結果を確認することにより、自
動的に言語処理プログラムの検証を行うことが可能とな
る。第5図に示したCHECKというサブルーチンは、
正解値と、ii!認すべき変数の値とを比較し、一致し
たなら即復帰し、不一致ならテスト項目番号、コメント
など必要な情報を出力し、NGが生じたことをフラグな
どで記憶しておくなどの操作を行うようにしている。
第6図は記号表側を示す、これは、1つの検証プログラ
ムに1つ設けられるものであって、全ての乱数文の名前
例えばAt%A2、A3、・・・ANと、これら乱数文
の実行結果8.5.4・・・とを少なくとも格納したも
のである。これを用いて、611認文などを作成するよ
うにしている。
尚、第4図図中“×”は、第3図(14−1)と(14
−2)との間に、第3行目の右辺1.−Bに確定すると
いう操作が入ることを表す。
〔発明の効果〕
以上説明したように、本発明によれば、構文・意味記述
lを参照して乱数的に乱数文およびこの乱数文の実行に
よって引き起こされる結果を確認文として当該乱数文に
対応づけて挿入した複数の異なる検証プログラム6−1
ないし6−nを作成する構成を採用しているため、検証
プログラム6−1ないし6−nのうちのいずれかを被検
証対象の言語処理プログラムに実行させ、自動判定部7
が検証プログラムの実行による内部判定結果を確認し、
OKでない場合に、正常に機能しない旨を結果−覧表8
に自動的に記載させて検証することができる。また、乱
数的に生成された多数の検証プログラム6−1ないし6
−nのうちの任意のものを実行させることにより、免疫
性を回避して高品質の検証を行うことが可能となる。
【図面の簡単な説明】
第1図は本発明の1実施例構成図、第2図は本発明の動
作説明フローチャート、第3図は構文・意味記述例、第
4図は本発明の動作説明図、第5図は本発明に係わる乱
数文および確認文例、第6図は記号表側を示す。 図中、1は構文・意味記述、2はTP(検証プログラム
)自動作成部、3は生成規則選択部、4はfI認文挿入
部、6.6−1から6−nは検証プログラム、7は自動
判定部、8は結果−覧表を表す。 人9:8月 の 1 笑方艷干ア1肩4成し〕涜 1 
 凹 (イ) 乃 5 凹 記号表側 乃 6 図

Claims (1)

  1. 【特許請求の範囲】 言語処理プログラムの動作の正当性を検証する言語処理
    プログラム検証方式において、 言語処理プログラムの機能であるIF文などの文を構成
    する文/式/変数/定数などに対して、予め作成した生
    成規則のうちから乱数的に選択して当該文に対する乱数
    文を作成する生成規則選択部(3)と、 この生成規則選択部(3)によって作成された乱数文の
    実行により引き起こされる結果を、確認文として当該乱
    数文に対応づけて挿入する確認文挿入部(4)とを備え
    、 これら作成および挿入された乱数文および確認文からな
    る一連の検証プログラム(6)を言語処理プログラムに
    実行させて動作の正当性の検証を行うように構成したこ
    とを特徴とする言語処理プログラム検証方式。
JP63046510A 1988-02-29 1988-02-29 言語処理プログラム検証方式 Pending JPH01220044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63046510A JPH01220044A (ja) 1988-02-29 1988-02-29 言語処理プログラム検証方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63046510A JPH01220044A (ja) 1988-02-29 1988-02-29 言語処理プログラム検証方式

Publications (1)

Publication Number Publication Date
JPH01220044A true JPH01220044A (ja) 1989-09-01

Family

ID=12749256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63046510A Pending JPH01220044A (ja) 1988-02-29 1988-02-29 言語処理プログラム検証方式

Country Status (1)

Country Link
JP (1) JPH01220044A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062760B2 (en) 2000-06-23 2006-06-13 Nec Corporation System and method for measuring syntax coverage percentage
JP2007128372A (ja) * 2005-11-04 2007-05-24 Hitachi Information & Communication Engineering Ltd コンピュータプログラムのテストプログラム生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062760B2 (en) 2000-06-23 2006-06-13 Nec Corporation System and method for measuring syntax coverage percentage
JP2007128372A (ja) * 2005-11-04 2007-05-24 Hitachi Information & Communication Engineering Ltd コンピュータプログラムのテストプログラム生成方法

Similar Documents

Publication Publication Date Title
Nuseibeh et al. Leveraging inconsistency in software development
Bowen Formal specification and documentation using Z: A case study approach
Gervasi et al. Lightweight validation of natural language requirements
Wang et al. Formalizing and integrating the dynamic model within OMT
US10747641B2 (en) System and method for cause point analysis for effective handling of static analysis alarms
JP6719798B1 (ja) 論理結合型プログラムが実行時に発生する非同期型アルゴリズムの正統性の検証を実施可能にするためのプログラム
JPH01220044A (ja) 言語処理プログラム検証方式
JPH10240575A (ja) 大量データファイル一括更新処理プログラムの検査方法
Wrenn et al. Reading Between the Lines: Student Help-Seeking for (Un) Specified Behaviors
Bahill et al. How the testing techniques for a decision support system changed over nine years
Mitchell et al. Advanced software testing-vol. 3: Guide to the istqb advanced certification as an advanced technical test analyst
Engle et al. Software Maintenance Exercises for a Software Engineering Project Course
Machado et al. Automatic test-case generation
JP2005134691A (ja) ネットワークを経由した教育システムの自動採点装置
Saifan et al. Using formal methods for test case generation according to transition-based coverage criteria
Dyer et al. Correctness verification: Alternative to structural software testing
JPH0756732A (ja) テスト結果検証プログラム生成方法およびこれを用いるテスト結果自動検証方法
CN115455903A (zh) 一种验证操作符的系统
JPH01261737A (ja) 言語プロセッサの検査自動管理方式
JPH07200356A (ja) チェックリスト自動消込みシステム
JP3570578B2 (ja) 文書データベース管理装置と文書データベース管理装置における文書型を評価して文書を生成する際のノードの停止性を検査する方法
JP2002073373A (ja) 修正確認検査項目を元に周辺・類似機能を確認する検査プログラムを抽出するプログラム検査装置
Goldstein Summary of MYCROFT: A system for understanding simple picture programs
Massey et al. X Meets Z: Verifying Correctness in the Presence of POSIX Threads.
JPH07160714A (ja) 日本語文校正装置