JPH05313943A - Detection system for logical bug for software - Google Patents

Detection system for logical bug for software

Info

Publication number
JPH05313943A
JPH05313943A JP4144792A JP14479292A JPH05313943A JP H05313943 A JPH05313943 A JP H05313943A JP 4144792 A JP4144792 A JP 4144792A JP 14479292 A JP14479292 A JP 14479292A JP H05313943 A JPH05313943 A JP H05313943A
Authority
JP
Japan
Prior art keywords
data
software
group
value
condition
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
JP4144792A
Other languages
Japanese (ja)
Inventor
Yuichi Mori
勇一 森
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 JP4144792A priority Critical patent/JPH05313943A/en
Publication of JPH05313943A publication Critical patent/JPH05313943A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To decrease the number of cases of detecting omission of the logical bugs and reduce the man-hour needed for detection of the logical bugs. CONSTITUTION:A deciding condition table 4 stores the satisgfying conditions (satisfying for a data group 2) which are based on the specifications of the software including a processing group 1 and the data group 2. A logical decision processing part 3 reads the value of the data (data included in the group 2) to decide the satisfying conditions contained in the table 4 and decides whether the read value of data is coincident with the satisfying conditions or not. If not, the part 3 outputs the information of an error to show the deciding result.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はソフトウェアの論理バグ
検出方式に関し、特に処理群(複数の処理)とデータ群
(複数のデータ)とにより要求機能(要求仕様または基
本仕様等のソフトウェアの仕様によって要求されている
機能)を実現するソフトウェアにおける論理バグ(判断
処理等に起因して生ずるデータ群中のデータの矛盾)の
検出を行うソフトウェアの論理バグ検出方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software logical bug detection method, and more particularly, depending on software specifications such as required functions (required specifications or basic specifications) depending on a processing group (a plurality of processing) and a data group (a plurality of data). The present invention relates to a software logic bug detection method for detecting a logic bug (a contradiction of data in a data group caused by a judgment process or the like) in software that realizes a required function).

【0002】[0002]

【従来の技術】一般的に、ソフトウェアは、図2に示す
ように、要求機能(要求機能の内容は多種多様である)
を実現するために、n(2以上の正整数)個の処理(処
理(1)〜処理(n))からなる処理群とm(2以上の
正整数)個のデータ(データ(1)〜データ(m))か
らなるデータ群とを有している。
2. Description of the Related Art Generally, software has required functions (the contents of the required functions are various) as shown in FIG.
In order to realize the above, a processing group including n (a positive integer of 2 or more) processing (processing (1) to processing (n)) and m (a positive integer of 2 or more) data (data (1) to Data (m)).

【0003】処理群中の各処理は、その構造から、順次
処理,繰返し処理および判断処理の3つの処理に分ける
ことができる。
Each process in the process group can be divided into three processes, that is, a sequential process, a repetitive process, and a judgment process because of its structure.

【0004】また、データ群中の各データは、いくつか
の処理によって共有されていることが多く、他のデータ
の値と関連して自己の値が決定されることが多い。
Further, each data in the data group is often shared by some processes, and its own value is often determined in association with the values of other data.

【0005】図2中の処理(1)(外部的には入力(入
力データ)(1)を入力とし出力(出力データ)(1)
を出力とする処理)は、内部的にはデータ(1)の値と
データ(2)の値とを読み込み、データ(1)に値を書
き込んでいる。同様に、処理(2)は、データ(1)の
値とデータ(2)の値とを読み込み、データ(2)に値
を書き込んでいる。このような複数のデータに対する読
込みおよび書込みは、判断処理において多く見られる
(処理(1)や処理(2)は、判断処理である可能性が
高い)。例えば、処理(2)は、データ(2)の値を変
更する場合に、データ(1)の値とデータ(2)の値と
に基づく判断を行い当該変更を行うか否かを決定する判
断処理であると考えられる。
Process (1) in FIG. 2 (Externally, input (input data) (1) is input and output (output data) (1)
Output) internally reads the value of data (1) and the value of data (2) and writes the value to data (1). Similarly, the process (2) reads the value of the data (1) and the value of the data (2) and writes the value to the data (2). Such reading and writing with respect to a plurality of data is often found in the judgment processing (the processing (1) and the processing (2) are likely to be the judgment processing). For example, in the process (2), when the value of the data (2) is changed, the process (2) makes a determination based on the value of the data (1) and the value of the data (2) and determines whether to make the change. Considered to be processing.

【0006】以上のような判断処理等(一定の条件に基
づいて複数のデータに対する読込みおよび書込みを行う
処理)の存在によって、データ群中の各データ間には成
立しうる条件(成立条件)が存在することになる。例え
ば、処理(1)および処理(2)の存在によって、デー
タ(1)とデータ(2)との間には一定の成立条件が存
在する。
Due to the existence of the above-described judgment processing (processing for reading and writing a plurality of data based on a certain condition), there is a condition (establishment condition) that can be established between each data in the data group. Will exist. For example, due to the existence of the processing (1) and the processing (2), a certain satisfaction condition exists between the data (1) and the data (2).

【0007】ここで、ある処理が何らかの誤り(ソフト
ウェアの製造における製造漏れ等のミス等)により正常
に動作しなかった場合には、仕様に基づくデータ間の関
連の適正さが保持されずに論理バグ(データの矛盾)が
発生する。例えば、データ(2)を変更するか否かを判
断するための判断処理である処理(2)が何らかの誤り
により正常に動作しなかった場合に、データ(1)の値
と無関係にデータ(2)の値が変更されてしまい、仕様
によって示されるデータ(1)とデータ(2)との間の
関連に反する「データの矛盾」、すなわち論理バグが発
生する。
[0007] Here, if a certain process does not operate normally due to some error (a mistake such as manufacturing omission in software manufacturing), the appropriateness of the relation between the data based on the specifications is not maintained and the logic is not maintained. A bug (data inconsistency) occurs. For example, when the process (2), which is a determination process for determining whether to change the data (2), does not operate normally due to some error, the data (2) is irrelevant regardless of the value of the data (1). The value of) is changed, and a "data contradiction", that is, a logic bug, which violates the relationship between the data (1) and the data (2) indicated by the specification, occurs.

【0008】従来、この種の論理バグの検出を行うソフ
トウェアの論理バグ検出方式では、ソフトウェアの検査
の時点において、人為的に設定された論理バグ検出用の
データ群が処理群に対して与えられ、当該データ群によ
って当該処理群が実行され、実行中や実行後の当該デー
タ群の値に対する人間の判断作業に基づいて論理バグが
検出されていた。
Conventionally, in the software logic bug detection method for detecting this kind of logic bug, an artificially set data group for logic bug detection is given to the processing group at the time of software inspection. The processing group is executed by the data group, and the logic bug is detected based on the human judgment work on the value of the data group during or after the execution.

【0009】[0009]

【発明が解決しようとする課題】上述した従来のソフト
ウェアの論理バグ検出方式では、処理群に対して人為的
に設定された論理バグ検出用のデータ群が与えられ、人
間の判断作業に基づいて論理バグが検出されているの
で、論理バグを検出するための工数が多大になるという
問題点があった。
In the above-described conventional software logic bug detection method, a data group for logic bug detection that is artificially set for a processing group is given, and based on human judgment work. Since the logic bug has been detected, there is a problem that the number of steps for detecting the logic bug becomes large.

【0010】また、人間による判断作業等においては誤
りが生じる可能性が大きいので、当該ソフトウェアの検
査の時点において論理バグの検出漏れが生じ、当該ソフ
トウェアの実際の運用の時点で論理バグが発生する(当
該ソフトウェアが仕様に矛盾する動作を行う)可能性が
高くなるという問題点があった。
Further, since there is a high possibility that an error will occur in human judgment work, etc., a logical bug will be missed at the time of inspection of the software, and a logical bug will occur at the time of actual operation of the software. There is a problem in that the possibility that the software will operate inconsistent with the specifications increases.

【0011】本発明の目的は、上述の点に鑑み、論理バ
グを検出するための工数を削減することができ、論理バ
グの検出漏れを少なくすることができるソフトウェアの
論理バグ検出方式を提供することにある。
In view of the above points, an object of the present invention is to provide a software logic bug detection method capable of reducing the number of steps for detecting logic bugs and reducing logic bug detection omissions. Especially.

【0012】[0012]

【課題を解決するための手段】本発明のソフトウェアの
論理バグ検出方式は、処理群とデータ群とにより要求機
能を実現するソフトウェアにおける論理バグの検出を行
うソフトウェアの論理バグ検出方式において、ソフトウ
ェアの仕様に基づくデータ群に対する成立条件を記憶す
る判定条件テーブルと、この判定条件テーブル内の成立
条件に関する判定を行うためのデータの値を読み込み当
該データの値が当該成立条件に合致しているか否かを判
定し「成立条件に合致していない」と判定した場合にそ
の判定結果を示すエラー通知を出力する論理判定処理部
とを有する。
A logical bug detection method for software according to the present invention is a logical bug detection method for software that detects a logical bug in software that implements a required function by a processing group and a data group. A judgment condition table that stores a satisfaction condition for a data group based on the specification, and a value of data for making a judgment regarding the satisfaction condition in this judgment condition table are read, and whether or not the value of the data matches the satisfaction condition. And a logical determination processing unit that outputs an error notification indicating the determination result when it is determined that “the condition is not met”.

【0013】[0013]

【作用】本発明のソフトウェアの論理バグ検出方式で
は、判定条件テーブルがソフトウェアの仕様に基づくデ
ータ群に対する成立条件を記憶し、論理判定処理部が判
定条件テーブル内の成立条件に関する判定を行うための
データの値を読み込み当該データの値が当該成立条件に
合致しているか否かを判定し「成立条件に合致していな
い」と判定した場合にその判定結果を示すエラー通知を
出力する。
In the software logical bug detection method of the present invention, the judgment condition table stores the satisfaction conditions for the data group based on the software specifications, and the logic judgment processing unit makes a judgment regarding the satisfaction conditions in the judgment condition table. The value of the data is read, it is determined whether or not the value of the data meets the satisfaction condition, and when it is determined that the condition is not met, an error notification indicating the determination result is output.

【0014】[0014]

【実施例】次に、本発明について図面を参照して詳細に
説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described in detail with reference to the drawings.

【0015】図1は、本発明のソフトウェアの論理バグ
検出方式の一実施例の構成を示すブロック図(データフ
ローダイアグラムの形式によって示す図)である。本実
施例のソフトウェアの論理バグ検出方式は、ソフトウェ
アの要求機能(ソフトウェアの仕様によって要求される
機能)を実現するための処理群1(処理(1),処理
(2),…,処理(n))と、ソフトウェアの要求機能
を実現するために使用されるデータ群2(データ
(1),データ(2),…,データ(m))と、論理判
定処理部3と、判定条件テーブル4とを含んで構成され
ている。
FIG. 1 is a block diagram (illustrated in the form of a data flow diagram) showing the configuration of an embodiment of a software logic bug detection system of the present invention. In the software logical bug detection method of this embodiment, a processing group 1 (processing (1), processing (2), ..., Processing (n) for realizing a required function of software (function required according to software specifications). )), The data group 2 (data (1), data (2), ..., Data (m)) used to realize the required function of the software, the logical determination processing unit 3, and the determination condition table 4. It is configured to include and.

【0016】判定条件テーブル4は、データ群2に対す
るいくつかの成立条件(ソフトウェアの仕様に基づく条
件でありデータ群2中のデータ間の関連の適正さを判定
するための条件)を格納している。
The judgment condition table 4 stores some conditions for the data group 2 (conditions based on software specifications and conditions for judging the appropriateness of the relation between the data in the data group 2). There is.

【0017】ここでは、判定条件テーブル4内のデータ
群2に対する成立条件の内容は、次のようなものである
とする。なお、ここでは、簡単化のために、各データの
とりうる値は“0”と“1”とのいずれかであるものと
する。 成立条件;「データ(1),データ(2),…,デー
タ(m)の値が同時に全て“1”にはならない。」 成立条件;「データ(1)の値が“0”であるときに
は、データ(2)の値は必ず“1”である。」 成立条件;「データ(2)の値が“0”であるときに
は、データ(m)の値は必ず“0”である。」
Here, the contents of the satisfaction condition for the data group 2 in the judgment condition table 4 are as follows. Here, for simplification, the value that each data can take is assumed to be either "0" or "1". Satisfaction condition: "The values of data (1), data (2), ..., Data (m) do not all become" 1 "at the same time." Satisfaction condition: "When the value of data (1) is" 0 " , The value of the data (2) is always "1." Satisfaction condition; "When the value of the data (2) is" 0 ", the value of the data (m) is always" 0 "."

【0018】次に、このように構成された本実施例のソ
フトウェアの論理バグ検出方式の動作について説明す
る。
Next, the operation of the logic bug detecting method of the software of the present embodiment thus constructed will be described.

【0019】処理群1中の処理(1)〜処理(n)は、
それぞれ入力(入力データ)(1)〜入力(n)と出力
(出力データ)(1)〜出力(n)とを有し、データ群
2中のいくつかのデータの値の読込みおよび書込みを行
っている(処理群1中の処理(1)〜処理(n)はデー
タ群2中のデータ(1)〜データ(m)中の1以上のデ
ータを必要とする)。
The processes (1) to (n) in the process group 1 are
Each has an input (input data) (1) to input (n) and an output (output data) (1) to output (n), and reads and writes values of some data in the data group 2. (Processing (1) to processing (n) in processing group 1 requires one or more data in data (1) to data (m) in data group 2).

【0020】処理群1およびデータ群2を有するソフト
ウェアを実行させてみて当該ソフトウェアの検査を行う
時点で、論理判定処理部3は、起動トリガ(図1参照。
一般的にはソフトウェアの起動時に入力される)によっ
て起動され、次のような処理を行う。なお、論理判定処
理部3は、ソフトウェアの検査の時点で起動される場合
が多いが、当該ソフトウェアの実際の運用の時点で起動
されることもある(検査後においても論理バグを検出す
るために「運用の時点での起動」は有益である)。
At the time when the software having the processing group 1 and the data group 2 is executed and the software is inspected, the logic judgment processing section 3 starts the trigger (see FIG. 1).
Generally, it is input when the software starts) and is started by the following processing. The logic determination processing unit 3 is often activated at the time of software inspection, but may be activated at the time of actual operation of the software (to detect a logic bug even after the inspection). "Starting at the time of operation" is useful).

【0021】 判定条件テーブル4内の1つの成立条
件に関する判定を行うために、当該判定に必要なデータ
の値を読み込む。例えば、上述の「成立条件」に関す
る判定を行う場合には、データ(1)〜データ(m)の
全ての値を読み込む。また、上述の「成立条件」に関
する判定を行う場合には、データ(1)の値とデータ
(2)の値とを読み込む。
In order to make a judgment regarding one satisfaction condition in the judgment condition table 4, the value of the data required for the judgment is read. For example, when the above-mentioned “establishment condition” is determined, all values of data (1) to data (m) are read. In addition, when the above-mentioned “establishment condition” is determined, the value of data (1) and the value of data (2) are read.

【0022】 その後、それらのデータの値が当該成
立条件に合致しているか否か(各データが当該成立条件
で示される仕様と矛盾していないかどうか)を判定す
る。
After that, it is determined whether or not the values of those data match the satisfaction condition (whether each data is consistent with the specification indicated by the satisfaction condition).

【0023】 において「成立条件に合致していな
い」と判定した場合には、論理バグが発生していること
になるので、その判定結果を示すエラー通知を出力す
る。例えば、上述の「成立条件」に関して、「データ
(1)の値が“0“であるときにデータ(2)の値が
“0”である」と判定した場合には、その旨を示すエラ
ー通知を出力する。
If it is determined that the condition is not met in (1), it means that a logical bug has occurred, so an error notification indicating the determination result is output. For example, when it is determined that "the value of data (2) is" 0 "when the value of data (1) is" 0 "" with respect to the above "establishment condition", an error indicating that Output a notification.

【0024】ここで、エラー通知の具体的な内容をどの
ように設定するかについては、各種の設定方法が考えら
れる。一例としては、論理バグの検出を示す情報ととも
に論理バグの検出に係る成立条件の識別情報を示すエラ
ー通知が考えられる。
Here, various setting methods can be considered as to how to set the specific contents of the error notification. As an example, an error notification indicating the information indicating the detection of the logic bug and the identification information of the satisfaction condition related to the detection of the logic bug can be considered.

【0025】 において「成立条件に合致してい
る」と判定した場合には、他の成立条件に関する判定を
行う(このようにして、判定条件テーブル4内の各成立
条件に関する判定を繰り返す)。
If it is determined that the condition is satisfied, the other conditions are determined (in this way, the determinations for each condition in the determination condition table 4 are repeated).

【0026】上述のように、論理判定処理部3によっ
て、判定条件テーブル4内のいくつかの成立条件に関す
る判定が繰り返され、起動トリガを契機として論理バグ
の検出に関する監視が常に行われ、論理バグが検出され
るとその旨を示すエラー通知が出力される。
As described above, the logic judgment processing unit 3 repeats judgments regarding some of the conditions in the judgment condition table 4, and the start trigger is used as a trigger to constantly monitor the detection of logic bugs. When is detected, an error notification indicating that is output.

【0027】なお、本実施例、ひいては本発明のソフト
ウェアの論理バグ検出方式の実行の前提として、処理群
1中の各処理によるデータ群2中の各データに対する読
込みおよび書込みは正しく行われているものとする。す
なわち、データ群2が格納されている記憶デバイス自身
の不良は、パリティチェック等によって検出され除去さ
れているものとする。
As a premise of the execution of the present embodiment, and by extension, the software logical bug detection method of the present invention, the reading and writing of each data in the data group 2 by each processing in the processing group 1 is performed correctly. I shall. That is, it is assumed that the defect of the storage device itself in which the data group 2 is stored is detected and removed by the parity check or the like.

【0028】また、論理判定処理部3は、ソフトウェア
で実現することもハードウェアで実現することも可能で
あり、それ自身(論理判定処理部3自身)にはバグは存
在しないものとする。
The logic judgment processing unit 3 can be realized by software or hardware, and it is assumed that the logic judgment processing unit 3 itself (the logic judgment processing unit 3 itself) has no bug.

【0029】さらに、判定条件テーブル4の内容(各成
立条件)は、ソフトウェアの仕様(要求仕様または基本
仕様等)に基づいて、あらかじめ明確に定義されている
ものとする。
Further, it is assumed that the contents of the judgment condition table 4 (each satisfaction condition) are clearly defined in advance based on the software specifications (required specifications or basic specifications).

【0030】[0030]

【発明の効果】以上説明したように本発明は、ソフトウ
ェアの仕様に基づく成立条件を記憶する判定条件テーブ
ルが設けられ、データ群が判定条件テーブル内の成立条
件に合致しているか否かが論理判定処理部によって判定
されることにより、判断処理等に起因する論理バグ(デ
ータ群中のデータの矛盾)を自動的に検出することがで
き、論理バグを検出するための工数の削減が可能にな
り、論理バグの検出漏れを少なくすることができるとい
う効果がある。
As described above, the present invention is provided with the determination condition table for storing the satisfaction conditions based on the software specifications, and determines whether or not the data group matches the satisfaction conditions in the determination condition table. By being judged by the judgment processing unit, it is possible to automatically detect logic bugs (contradictions of data in the data group) due to judgment processing, etc., and it is possible to reduce the number of steps for detecting logic bugs. Therefore, there is an effect that the omission of detection of logic bugs can be reduced.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing a configuration of an exemplary embodiment of the present invention.

【図2】従来のソフトウェアの論理バグ検出方式を説明
するためのブロック図である。
FIG. 2 is a block diagram for explaining a conventional logic bug detection method of software.

【符号の説明】[Explanation of symbols]

1 処理群 2 データ群 3 論理判定処理部 4 判定条件テーブル 1 processing group 2 data group 3 logic judgment processing unit 4 judgment condition table

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 処理群とデータ群とにより要求機能を実
現するソフトウェアにおける論理バグの検出を行うソフ
トウェアの論理バグ検出方式において、 ソフトウェアの仕様に基づくデータ群に対する成立条件
を記憶する判定条件テーブルと、 この判定条件テーブル内の成立条件に関する判定を行う
ためのデータの値を読み込み当該データの値が当該成立
条件に合致しているか否かを判定し「成立条件に合致し
ていない」と判定した場合にその判定結果を示すエラー
通知を出力する論理判定処理部とを有することを特徴と
するソフトウェアの論理バグ検出方式。
1. A determination condition table that stores a satisfaction condition for a data group based on software specifications in a software logical bug detection method that detects a logical bug in software that implements a required function by a processing group and a data group. , The value of the data for making the determination regarding the satisfaction condition in this determination condition table is read, and it is determined whether or not the value of the data matches the satisfaction condition, and it is determined that "the condition is not met". And a logic judgment processing unit that outputs an error notification indicating the judgment result in that case.
JP4144792A 1992-05-11 1992-05-11 Detection system for logical bug for software Pending JPH05313943A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4144792A JPH05313943A (en) 1992-05-11 1992-05-11 Detection system for logical bug for software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4144792A JPH05313943A (en) 1992-05-11 1992-05-11 Detection system for logical bug for software

Publications (1)

Publication Number Publication Date
JPH05313943A true JPH05313943A (en) 1993-11-26

Family

ID=15370565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4144792A Pending JPH05313943A (en) 1992-05-11 1992-05-11 Detection system for logical bug for software

Country Status (1)

Country Link
JP (1) JPH05313943A (en)

Similar Documents

Publication Publication Date Title
US5630044A (en) Memory fault recovery system which executes degradation or recovery of memory
JPH05313943A (en) Detection system for logical bug for software
JPH0388011A (en) Device for examination of working procedure
JPH05158804A (en) Ram checking method
JPH01162300A (en) Rom checking circuit testing system
KR0121094B1 (en) The method of memory system
JPH11338542A (en) Motor drive device
JP2978658B2 (en) Program development support device
JP2002116926A (en) Program processor and program processing method
JPH0581051A (en) Resource destruction supervisory system
JP3399741B2 (en) Dump data display method and failure analysis system
JP2560545B2 (en) Interface inspection processor
JP3173461B2 (en) Pseudo-normal test circuit and pseudo-normal test method for memory patrol function
JP2506199B2 (en) Electronics
JPS6083148A (en) Detecting method of program runaway
JPH07262163A (en) Device equipped with microprocessor
JPH05100913A (en) Error factor searching system
JPH0785134A (en) Design information management system
JPH02100146A (en) Trace decision system
JPH0540583A (en) Information processing system
JPS6269329A (en) Detecting system for breakage position of memory
JPS62177633A (en) Automatic restart processing system for inspection package job
JPS60110045A (en) Automatic trace damping method
JPH05250211A (en) Trace information output system
JPS62224833A (en) Suitability inspecting system of data form

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 14

Free format text: PAYMENT UNTIL: 20111031

LAPS Cancellation because of no payment of annual fees