JPH05313943A - Detection system for logical bug for software - Google Patents
Detection system for logical bug for softwareInfo
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
【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.
【図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.
1 処理群 2 データ群 3 論理判定処理部 4 判定条件テーブル 1 processing group 2 data group 3 logic judgment processing unit 4 judgment condition table
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.
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) |
-
1992
- 1992-05-11 JP JP4144792A patent/JPH05313943A/en active Pending
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 |