JPWO2014141352A1 - System controller - Google Patents

System controller Download PDF

Info

Publication number
JPWO2014141352A1
JPWO2014141352A1 JP2015505095A JP2015505095A JPWO2014141352A1 JP WO2014141352 A1 JPWO2014141352 A1 JP WO2014141352A1 JP 2015505095 A JP2015505095 A JP 2015505095A JP 2015505095 A JP2015505095 A JP 2015505095A JP WO2014141352 A1 JPWO2014141352 A1 JP WO2014141352A1
Authority
JP
Japan
Prior art keywords
data
program
dependency
control
source code
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
JP2015505095A
Other languages
Japanese (ja)
Inventor
毅 福田
毅 福田
新 吉高
吉高 新
吉村 健太郎
健太郎 吉村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2014141352A1 publication Critical patent/JPWO2014141352A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods

Abstract

組込みシステムのソフトウェア不具合の原因箇所を、プログラムの制御依存関係及びデータ依存関係とプログラム処理頻度を用いることで効率良く特定する。コンピュータシステムが組込まれた組込みシステムにおいて、組込みシステムで実行するプログラムに対応するソースコード中の制御/データ依存関係を解析する解析部と解析結果に対応してプログラム実行頻度を取得するログ取得部と、制御/データ依存関係の情報とプログラムの処理結果情報を対応付けて出力するログ出力部とを有する。The cause of the software defect in the embedded system is efficiently identified by using the program control dependency, data dependency, and program processing frequency. In an embedded system in which a computer system is embedded, an analysis unit that analyzes control / data dependency in source code corresponding to a program executed in the embedded system, and a log acquisition unit that acquires program execution frequency corresponding to the analysis result And a log output unit that outputs the control / data dependency information and the processing result information of the program in association with each other.

Description

本発明は、組込みシステムに関し、特に複数のハードウェアや複数のソフトウェアを組み合わせたシステムのプログラム処理状況をログとして記録するログ処理技術に関する。   The present invention relates to an embedded system, and more particularly, to a log processing technique for recording a program processing status of a system combining a plurality of hardware and a plurality of software as a log.

エレベータ、自動車、建設機械等の技術分野ではいわゆる組込みソフトウェアによって制御対象を制御する、組込み制御装置が用いられている。組込みソフトウェアは、従来の機械的機構や電気回路による方式に比べて柔軟かつ高度な制御が実現できること、ソフトウェアの部分的な変更によって多くの派生製品を開発できることが利点として挙げられる。   In the technical fields of elevators, automobiles, construction machines, and the like, embedded control devices that control objects to be controlled by so-called embedded software are used. Embedded software has advantages in that it can realize more flexible and advanced control than conventional methods using mechanical mechanisms and electric circuits, and that many derivative products can be developed by partial changes in software.

このような組込み制御装置、例えばエレベータ制御装置では、一定周期又は割り込みによってタスクを起動し、行き先階指定ボタンやドア安全センサ等のセンサの入力に基づいて制御変数を更新し、ドア開閉用モータやかご駆動用モータなどのアクチュエータを制御する、いわゆるデータ駆動型の計算モデルが採用されている。   In such a built-in control device, for example, an elevator control device, a task is started at a constant cycle or interrupt, and a control variable is updated based on input of a sensor such as a destination floor designation button or a door safety sensor. A so-called data-driven calculation model for controlling an actuator such as a car driving motor is employed.

近年、組込み制御装置に求められる制御処理が年々複雑化するとともに、制御変数間の依存関係が複雑化し、ソフトウェアの開発が困難となっている。その一方で、組込みソフトウェアはエレベータや自動車、建設機械等のシステムにおいて、人命に関わる走行制御機能等を提供しているため、高品質なソフトウェアが要求されている。これに対して、複雑かつ大型のソフトウェアの品質を確保するには、システムの不具合発生時に効率良くエラー原因を特定することが重要となる。   In recent years, control processing required for embedded control devices has become more complex year by year, and the dependency between control variables has become more complex, making it difficult to develop software. On the other hand, since embedded software provides a travel control function related to human life in systems such as elevators, automobiles, and construction machines, high-quality software is required. On the other hand, in order to ensure the quality of complex and large software, it is important to efficiently identify the cause of the error when a system malfunction occurs.

大型のソフトウェアのエラー原因特定には、プログラム中の制御依存関係及びデータ依存関係を理解し、システムの不具合を引き起こした原因を効率良く特定することは、必要不可欠な技術である。   In order to identify the cause of errors in large software, it is an indispensable technique to understand the control dependency and data dependency in the program and to efficiently identify the cause of the system failure.

ソフトウェアのエラー原因を特定する技術としては、プログラム中の制御依存関係及びデータ依存関係からエラー原因を究明する技術が知られ、例えば特許文献1に記載されている。   As a technique for identifying the cause of an error in software, a technique for investigating the cause of an error from a control dependency relationship and a data dependency relationship in a program is known, and is described in Patent Document 1, for example.

また一方で、プログラムファイル中の関数単位でエラー原因を特定する技術としては、関数依存関係と関数変更履歴を用いたエラー原因究明技術が知られ、例えば特許文献2に記載されている。   On the other hand, as a technique for identifying the cause of an error in units of functions in a program file, an error cause investigation technique using a function dependency relationship and a function change history is known, and is described in Patent Document 2, for example.

特開平6−175884号公報Japanese Patent Laid-Open No. 6-175484 国際公開番号WO2012/0036304号公報International Publication Number WO2012 / 0036304

上記従来技術において、特許文献1に記載された技術によれば、プログラムの実行毎に制御依存関係及びデータ依存関係を取得し、エラーと関連のある制御及びデータの依存関係を抽出する機能を実現している。しかしながら、出力されるデータはプログラム処理中に依存関係があった全ての処理及びデータを含んでいるため、大規模化が進んだプログラムでは、エラー原因特定のための解析対象範囲が広大となり、抽出した依存関係からエラー原因を特定することは容易ではない。   In the above prior art, according to the technique described in Patent Document 1, a control dependency relationship and a data dependency relationship are obtained every time a program is executed, and a function of extracting control dependency and data dependency relationship related to an error is realized. doing. However, since the output data includes all the processes and data that had dependencies during program processing, the analysis target range for identifying the cause of the error is very large and extracted in programs that have become larger in scale. It is not easy to identify the cause of the error from the dependencies.

また、特許文献2に記載された技術によれば、プログラムの関数毎の変更履歴と依存関係に着目し、開発者が関数変更履歴に重み付けをすることによって、エラー原因の特定を補助している。しかしながら、関数変更履歴への重み付けは開発者自身が決定する必要があり、システムを熟知した開発者であっても正確な重み付けを設定することは難しい。   In addition, according to the technique described in Patent Document 2, the developer focuses on the change history and dependency relationship for each function of the program, and the developer weights the function change history to assist the identification of the cause of the error. . However, it is necessary for the developer himself to determine the weighting to the function change history, and it is difficult for a developer who is familiar with the system to set an accurate weighting.

本発明の目的は、大規模な組込みシステムにおいて、実行時の制御及びデータ依存関係に対し、処理頻度情報を用いることでエラー原因の特定を補助するログ処理機能を提供するものである。   An object of the present invention is to provide a log processing function that assists in identifying an error cause by using processing frequency information for execution-time control and data dependency in a large-scale embedded system.

上記目的を達成するため、本発明は、コンピュータシステムが組込まれた組込みシステムにおいて、組込みシステムで実行するプログラムに対応するソースコード中の制御/データ依存関係を解析する解析部と解析結果に対応してプログラム実行頻度を取得するログ取得部と、制御/データ依存関係の情報とプログラムの実行頻度情報を対応付けて出力するログ出力部とを有する。   In order to achieve the above object, the present invention provides an analysis unit and an analysis result for analyzing a control / data dependency in a source code corresponding to a program executed in the embedded system in an embedded system in which a computer system is embedded. A log acquisition unit that acquires the program execution frequency, and a log output unit that outputs the control / data dependency information and the program execution frequency information in association with each other.

本発明によれば、組込みシステムとして大規模、複雑化されたソフトウェア(コンピュータプログラム)であっても、システムが記録した実行頻度情報を参照することで、不具合を引き起こしたエラー原因を容易に特定することができる。   According to the present invention, even for a large-scale and complicated software (computer program) as an embedded system, the cause of an error causing a problem can be easily identified by referring to the execution frequency information recorded by the system. be able to.

本発明による一実施の形態のシステム制御装置の全体構成を示すブロック図。1 is a block diagram showing the overall configuration of a system control apparatus according to an embodiment of the present invention. ソースコードデータを示す図。The figure which shows source code data. 制御依存関係及びデータ依存関係を示す図。The figure which shows control dependence and data dependence. 制御/データ依存関係データを示す図。The figure which shows control / data dependence relationship data. 処理頻度データを示す図。The figure which shows process frequency data. システム制御装置の動作を示すフローチャート。The flowchart which shows operation | movement of a system control apparatus. 制御/データ依存関係データと処理頻度データとの比較を示す図。The figure which shows the comparison with control / data dependence relationship data and process frequency data.

以下、図面を参照して本発明による一実施の形態を説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明による一実施の形態であるシステム制御装置のブロック図である。システム制御装置1は、組込みシステムを制御するプログラムを実行するプログラム実行部11と、制御/データ解析部12と、ログ取得部13と、ログ出力部14と、データベース15とを備える。プログラム実行部11は、制御用のプログラムを実行する際、実行するプログラムに対応したソースコードを、データベース15のソースコードデータ151から取得する。制御/データ解析部12は、プログラム実行部11から実行しているプログラムに対応したソースコードの情報を取得して、このソースコード中の処理依存関係及びデータ依存関係を解析し、制御/データ依存関係データ152を生成する。ログ取得部13は、プログラム実行部11よりプログラムの処理実行情報を取得し、制御/データ依存関係データ152に対応するプログラムの処理実行情報を付加した処理頻度データ153を出力する。ログ出力部14は、処理頻度データ153を読み出し、図示されていない外部の出力装置に出力する。   FIG. 1 is a block diagram of a system control apparatus according to an embodiment of the present invention. The system control device 1 includes a program execution unit 11 that executes a program for controlling an embedded system, a control / data analysis unit 12, a log acquisition unit 13, a log output unit 14, and a database 15. When executing the control program, the program execution unit 11 acquires source code corresponding to the program to be executed from the source code data 151 of the database 15. The control / data analysis unit 12 acquires the source code information corresponding to the program being executed from the program execution unit 11, analyzes the processing dependency and the data dependency in the source code, and controls / data dependency The relation data 152 is generated. The log acquisition unit 13 acquires program execution information from the program execution unit 11 and outputs processing frequency data 153 to which the program execution information corresponding to the control / data dependency relationship data 152 is added. The log output unit 14 reads the processing frequency data 153 and outputs it to an external output device (not shown).

図2は、ソースコードデータ151の詳細を示す図である。ソースコードデータ151には、ソースコードがファイルとして格納されており、以下の説明では、ソースコードファイルはプログラミング言語の一種であるC言語で書かれているものとする。例えばソースファイル1511のcalcMAX.cには、関数calcMAXが記述されており、外部より変数a1と変数a2の値を取得した後、2行目で変数a1の値を変数c1に代入し、3行目で変数a2の値を変数c2に代入する。その後、7行目から10行目の処理で変数c1とc2のうち値の大きい方を変数maxに代入し、13行目で変数maxの値を出力する、といった内容となっている。なおこの図では、ソースコードファイルの左端の数字はプログラム行数を示している。   FIG. 2 is a diagram showing details of the source code data 151. The source code data 151 stores the source code as a file. In the following description, it is assumed that the source code file is written in C language which is a kind of programming language. For example, calcMAX. The function calcMAX is described in c. After obtaining the values of the variables a1 and a2 from the outside, the value of the variable a1 is substituted into the variable c1 in the second line, and the value of the variable a2 is set in the third line. Assign to variable c2. Thereafter, in the processing from the seventh line to the tenth line, the larger one of the variables c1 and c2 is substituted into the variable max, and the value of the variable max is output in the thirteenth line. In this figure, the number at the left end of the source code file indicates the number of program lines.

図3は、calcMAX.cのソースコードファイル1511に対応した、制御依存関係及びデータ依存関係を表したグラフ1521を示す図である。ここでは、制御依存関係とデータ依存関係の違いについて説明する。制御依存関係及びデータ依存関係を表したグラフ1521は、ソースコードファイル1511の制御依存関係及びデータ依存関係をグラフィカルに表現したものである。グラフ1521中の図形中のシンボルはソースコード1511中のデータ(変数)を示している。そして、丸印はソースコードファイル1511中の演算処理を表し、菱形はソースコードファイル1511中の条件判定処理を示している。また、グラフ1521中の実線で描かれた矢印はデータ(変数)の依存関係を示している。一方、破線で描かれた矢印は制御の依存関係を表しており、付属文字として記載しているTRUEとFALSEは条件判定処理の結果を示している。システム開発者は、このグラフ1521を参照することで、変数maxの値に依存関係のある処理やデータの有無及び関連を理解することができる。   FIG. 3 shows calcMAX. It is a figure which shows the graph 1521 showing the control dependence relation and the data dependence relation corresponding to the source code file 1511 of c. Here, the difference between the control dependency and the data dependency will be described. A graph 1521 representing the control dependency relationship and the data dependency relationship is a graphical representation of the control dependency relationship and the data dependency relationship of the source code file 1511. Symbols in the graphic in the graph 1521 indicate data (variables) in the source code 1511. Circles represent calculation processes in the source code file 1511, and diamonds represent condition determination processes in the source code file 1511. In addition, an arrow drawn with a solid line in the graph 1521 indicates a dependency relationship of data (variables). On the other hand, the arrows drawn with broken lines represent the dependency of control, and TRUE and FALSE described as attached characters indicate the results of the condition determination process. By referring to this graph 1521, the system developer can understand the processing having dependency on the value of the variable max, the presence / absence of data, and the relationship.

図4は、ソースコードファイル1511を例に制御/データ依存関係データ152を示した図である。制御/データ依存関係データ152は、ソースコードデータ151の制御依存関係及びデータ依存関係を表すデータであるが、例えば、システムの不具合を引き起こしたエラー原因を特定する際においては、データ依存関係のみに着目しても良いことから、図4ではデータ依存関係のみを示している。ソースコードファイル1511に対応するデータ依存関係のグラフ15221には、ソースコードファイル1511中の変数maxの値に依存関係がある変数としてc1とc2が存在することが表されている。このグラフ15221を表形式で示したものが制御/データ依存関係データ15222である。   FIG. 4 is a diagram showing the control / data dependency relationship data 152 taking the source code file 1511 as an example. The control / data dependency data 152 is data representing the control dependency and the data dependency of the source code data 151. For example, when specifying the cause of the error causing the malfunction of the system, only the data dependency is included. Since attention may be paid, FIG. 4 shows only the data dependency. The data dependency graph 15221 corresponding to the source code file 1511 indicates that c1 and c2 exist as variables having a dependency relationship with the value of the variable max in the source code file 1511. This graph 15221 in the form of a table is control / data dependency data 15222.

しかしながら、制御システムのプログラムが大規模化した現在においては、処理依存関係及びデータ依存関係が膨大となっている。このため、ソースコードファイル151中の処理依存関係及びデータ依存関係だけからシステムの不具合を引き起こしたエラー原因を特定することは容易ではない。   However, at the present time when the program of the control system is enlarged, the processing dependency and the data dependency are enormous. For this reason, it is not easy to identify the cause of the error that caused the malfunction of the system only from the processing dependency and the data dependency in the source code file 151.

このため、ログ取得部13では、制御/データ依存関係データ152に、システム制御装置11によりプログラムを実行した結果として実行ログを蓄積しておき、この実行ログから、実行したプログラムに対応するソースコードファイル151における演算処理毎の処理頻度を付加した処理頻度データ153を生成する。図5に示した例には、処理頻度データとして、ソースコードファイル1511中の07行目におけるif条件判定文による処理結果に応じたデータ依存関係に対応する演算処理毎の処理頻度を示すデータが追加されている。より具体的には、グラフ15311のデータ依存関係を表す矢印に付随して記載された数字、及び処理頻度データ15312に処理頻度として記載された数字である‘99’と‘1’は、ソースコードファイル1511を100回実行した結果、そのうち99回は07行目のif条件判定文の結果がTRUEとなり変数maxに変数c1の値が代入され、100回中1回のみソースコードファイル1511中の07行目のif条件判定文の結果がFALSEとなり変数maxに変数c2の値が代入されたことを示している。   Therefore, the log acquisition unit 13 accumulates an execution log in the control / data dependency relationship data 152 as a result of executing the program by the system control device 11, and from this execution log, the source code corresponding to the executed program is stored. Processing frequency data 153 to which processing frequency for each arithmetic processing in the file 151 is added is generated. In the example shown in FIG. 5, as processing frequency data, data indicating the processing frequency for each arithmetic processing corresponding to the data dependency according to the processing result by the if condition determination statement on the 07th line in the source code file 1511 is shown. Have been added. More specifically, the numbers described in association with the arrows representing the data dependency in the graph 15311 and the numbers described as the processing frequency in the processing frequency data 1531 are '99' and '1' As a result of executing the file 1511 100 times, 99 times among them, the result of the if condition judgment statement on the 07th line becomes TRUE, and the value of the variable c1 is substituted for the variable max. The result of the if condition determination statement on the line is FALSE, indicating that the value of variable c2 has been substituted for variable max.

この処理頻度は、データ依存関係における関係の強さを表す関係強度と考えることができる。また全体の処理に占める処理割合としてみると、ある参照元の変数から参照先の変数に影響を与える確率(影響確率)と見ることもできる。このため、処理頻度の高いデータ依存関係を参考に、エラー原因を特定する箇所を絞り込んで効率良く原因特定作業を進めることができる。   This processing frequency can be considered as a relationship strength representing the strength of the relationship in the data dependency relationship. Further, when viewed as the processing ratio in the entire processing, it can be regarded as a probability (influence probability) of affecting a reference destination variable from a reference source variable. For this reason, referring to the data dependency with high processing frequency, it is possible to narrow down the location where the cause of the error is specified, and to proceed the cause specifying work efficiently.

この処理頻度データ15312から、変数maxに影響を与える変数にはc1とc2があるものの、プログラムを実行した場合はc1の値を代入した回数の方がc2の値を代入した回数より圧倒的に多いことが分かる。このため、システムに不具合が発生した際に、制御/データ依存関係データ15312の利用頻度を参照して処理頻度の高いデータ依存関係に着目することで、効率良くエラー原因を特定することができる。   Although there are c1 and c2 as variables that affect the variable max from the processing frequency data 15312, when the program is executed, the number of times of substituting the value of c2 is overwhelmingly the number of times of substituting the value of c2. I understand that there are many. For this reason, when a problem occurs in the system, the cause of the error can be efficiently identified by referring to the use frequency of the control / data dependency relationship data 1512 and paying attention to the data dependency with high processing frequency.

図6に、以上の処理を纏めた、システム制御装置1の動作を示すフローチャートを示す。システム制御装置1の動作を開始すると、プログラム実行部11が制御プログラムを実行し、ステップS102では、実行したプログラムに対応するソースコードデータ151中のソースコードが取得される。ステップS103では、制御/データ解析部12が、プログラム実行部11で実行したプログラムのソースコードにおける制御依存関係及びデータ依存関係を解析して、制御/データ依存関係データ152を作成する。ステップS104では、ログ取得部13が、スッテプS102で実行したプログラムのソースコードデータにおける演算処理毎の実行回数を記録した実行ログを蓄積しておき、この実行ログと制御/データ依存関係データ152から、依存関係毎の実行頻度を求めた処理頻度データ153を作成する。ステップS105では、ログ出力部14が、処理頻度データ153を外部出力する。   FIG. 6 is a flowchart showing the operation of the system control apparatus 1 in which the above processes are summarized. When the operation of the system control device 1 is started, the program execution unit 11 executes the control program, and in step S102, the source code in the source code data 151 corresponding to the executed program is acquired. In step S <b> 103, the control / data analysis unit 12 analyzes the control dependency relationship and the data dependency relationship in the source code of the program executed by the program execution unit 11 to create control / data dependency relationship data 152. In step S <b> 104, the log acquisition unit 13 accumulates an execution log that records the number of executions for each arithmetic processing in the source code data of the program executed in step S <b> 102, and from this execution log and the control / data dependency relationship data 152. Then, the processing frequency data 153 obtained for the execution frequency for each dependency relationship is created. In step S105, the log output unit 14 outputs the processing frequency data 153 to the outside.

図7に、図6に示した処理により生成される制御/データ依存関係データ152と処理頻度データ153を比較した例を示す。まず、制御/データ依存関係データ152の例として、制御/データ依存関係データ1523では、変数mとnとоが出力信号である。ここで、変数mとnとоのうち、変数mとnに対応する出力信号の値が異常値を示した場合、変数mと変数nに影響を与えている変数を辿っていくことで、エラー原因箇所を特定する。しかしながら、制御/データ依存関係データ1523は依存関係の有無のみを示しているため、不具合を引き起こしたエラー原因特定のための解析対象範囲が破線で示した範囲のように広くなり、効率良くエラー原因を特定することは難しい。   FIG. 7 shows an example in which the control / data dependency relationship data 152 generated by the processing shown in FIG. 6 and the processing frequency data 153 are compared. First, as an example of the control / data dependency relationship data 152, in the control / data dependency relationship data 1523, variables m, n, and о are output signals. Here, among the variables m, n, and о, when the value of the output signal corresponding to the variables m and n indicates an abnormal value, by tracing the variables that affect the variables m and n, Identify the cause of the error. However, since the control / data dependency relationship data 1523 indicates only the presence or absence of the dependency relationship, the analysis target range for identifying the cause of the error causing the failure becomes wide as indicated by the broken line, and the error cause is efficiently obtained. It is difficult to identify.

一方、処理頻度データ1532は処理頻度データ153に対応するものであり、制御/データ依存関係データ1523と同様、変数mとnとоが出力信号に対応する。ここで、出力変数mとnとоのうち、変数mとnの値が異常値を示した場合、信号mとnに影響を与えている変数のうち、処理頻度データを参考にすることによって依存関係の強い変数を特定することが可能である。例えば図に示した例では、不具合を引き起こしたエラー原因特定のための解析対象範囲を、処理頻度の高い変数j、g、cを対象とした処理に絞ることができる。このように、プログラム実行時に発生したエラー原因を解析する際に、処理頻度データ153におけるプログラム実行時の処理頻度データを利用することによって、優先的に解析するプログラムの箇所を特定することができるため、より効率的にエラー原因を特定することができる。   On the other hand, the processing frequency data 1532 corresponds to the processing frequency data 153, and the variables m, n, and о correspond to the output signal, like the control / data dependency relationship data 1523. Here, of the output variables m, n, and о, when the values of the variables m and n indicate abnormal values, the processing frequency data among the variables that affect the signals m and n are referred to. It is possible to identify variables with strong dependencies. For example, in the example shown in the figure, the analysis target range for specifying the cause of the error that caused the failure can be narrowed down to processing for variables j, g, and c with high processing frequency. In this way, when analyzing the cause of an error that has occurred during program execution, it is possible to specify the location of the program to be preferentially analyzed by using the processing frequency data at the time of program execution in the processing frequency data 153. Can identify the cause of the error more efficiently.

1:システム制御装置、11:プログラム実行部、12:制御/データ解析部、13:ログ取得部、14:ログ出力部、15:データベース、151:ソースコードデータ、152:制御/データ依存関係データ、153:処理頻度データ 1: system control device, 11: program execution unit, 12: control / data analysis unit, 13: log acquisition unit, 14: log output unit, 15: database, 151: source code data, 152: control / data dependency relationship data 153: Processing frequency data

Claims (3)

プログラムを実行する組込みシステムであって、実行するプログラムに対応するソースコードの情報と、プログラムに対応したソースコード中の演算処理に関する内部データの依存関係の情報を求める解析部と、前記プログラムを実行した時の前記内部データの依存関係毎に処理頻度を求めるログ取得部とを備え、
前記ログ取得部はログとして処理頻度を付加した依存関係の情報を出力すること
を特徴とするシステム制御装置。
An embedded system that executes a program, the source code information corresponding to the program to be executed, an analysis unit that obtains dependency information of internal data related to the arithmetic processing in the source code corresponding to the program, and the program is executed A log acquisition unit for obtaining a processing frequency for each dependency of the internal data when
The log acquisition unit outputs dependency information to which processing frequency is added as a log.
請求項1に記載のシステム制御装置において、
処理頻度とは、前記ソースコードにおける演算処理の実行回数、又は実行比率であること
を特徴とするシステム制御装置。
The system control device according to claim 1,
The processing frequency is the number of execution times or the execution ratio of arithmetic processing in the source code.
請求項1に記載のシステム制御装置において、
前記解析部は、演算処理に関する内部データの依存関係として、プログラムのソースコード中の複数の変数の依存関係を抽出し、
前記ログ取得部は、前記処理頻度から、前記複数の変数中のそれぞれの参照元変数が他の参照先変数に影響を与える確率情報を求め、
デバッグ起点箇所から前記変数依存関係を辿ってデバッグ候補箇所を特定するために、処理頻度を付加した依存関係の情報を出力すること
を特徴とするシステム制御装置。
The system control device according to claim 1,
The analysis unit extracts dependency relationships of a plurality of variables in the source code of the program as dependency relationships of internal data related to arithmetic processing,
The log acquisition unit obtains probability information that each reference source variable in the plurality of variables affects other reference destination variables from the processing frequency,
A system control apparatus for outputting dependency information to which a processing frequency is added in order to trace a variable dependency from a debug starting point and identify a debug candidate point.
JP2015505095A 2013-03-11 2013-03-11 System controller Pending JPWO2014141352A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/056560 WO2014141352A1 (en) 2013-03-11 2013-03-11 System controller

Publications (1)

Publication Number Publication Date
JPWO2014141352A1 true JPWO2014141352A1 (en) 2017-02-16

Family

ID=51536055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505095A Pending JPWO2014141352A1 (en) 2013-03-11 2013-03-11 System controller

Country Status (2)

Country Link
JP (1) JPWO2014141352A1 (en)
WO (1) WO2014141352A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6416588B2 (en) * 2014-10-31 2018-10-31 日立オートモティブシステムズ株式会社 Source code verification system
CN113950649B (en) * 2019-06-18 2022-12-09 三菱电机株式会社 Analysis device, analysis method, and computer-readable recording medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108404A (en) * 2001-09-27 2003-04-11 Toshiba Corp Debug device, debug method, and debug program
JP2006323480A (en) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp Analysis support device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029806A (en) * 1983-07-29 1985-02-15 Hitachi Ltd Analyzing device for accident factor
JPH04338841A (en) * 1991-05-16 1992-11-26 Fujitsu Ltd Debugger device
JPH06175884A (en) * 1992-12-04 1994-06-24 Nippon Telegr & Teleph Corp <Ntt> Program error cause investigating device
JPH07134664A (en) * 1993-11-11 1995-05-23 Nippon Telegr & Teleph Corp <Ntt> Program bug latent area sampling method
JP2001290639A (en) * 2000-04-07 2001-10-19 Hitachi Ltd Software-reconfiguring system
JP2006031109A (en) * 2004-07-12 2006-02-02 Ntt Docomo Inc Management system and management method
JP4894362B2 (en) * 2006-06-09 2012-03-14 富士通株式会社 Operation status monitoring program
JP4892387B2 (en) * 2007-03-30 2012-03-07 財団法人福岡県産業・科学技術振興財団 Execution path detection apparatus, information processing apparatus, execution path detection method, program, and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108404A (en) * 2001-09-27 2003-04-11 Toshiba Corp Debug device, debug method, and debug program
JP2006323480A (en) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp Analysis support device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016017769; 村松沙那恵,外3名: 'データ依存の伝播確率に基づく欠陥箇所特定支援' 電子情報通信学会技術研究報告 SS2012-59-SS2012-86 ソフトウェアサイエンス 第112巻,第458号, 20130227, pp.69-74, 一般社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
WO2014141352A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
JP6316120B2 (en) Test case generation system and recording medium recording test case
US10466671B2 (en) System and method for an optimized operation of real-time embedded solutions in industrial automation
US20140365990A1 (en) Software evaluation device and method
JP2008191963A (en) Source code verification system, source code verification method and source code verification program
WO2014141352A1 (en) System controller
KR101583932B1 (en) Signature generation apparatus for generating signature of program and the method, malicious code detection apparatus for detecting malicious code of signature and the method
CN109791398B (en) Debugging device
EP3570173B1 (en) Equivalence verification apparatus and equivalence verification program
JP2010102620A (en) User operation scenario generating device, method and program
JP6107455B2 (en) Test schedule determination device and program
CN105389164B (en) Computer-implemented method for generating control device program code and related message management environment
WO2016103229A1 (en) A method for verifying a safety logic in an industrial process
JP4894618B2 (en) Design analyzer
JP2005202494A (en) System and apparatus for analyzing static analysis result
JP2012059202A (en) Test case generation device, test case generation method and test case generation program
JP7059827B2 (en) Source code generator
Raeder et al. Model monitor (m 2): Evaluating, comparing, and monitoring models
WO2014112316A1 (en) Flag-access-problem review device, flag-access-problem review method, and flag-access-problem review program
CN115244515A (en) Method for detecting abnormal operation of system
WO2018122990A1 (en) Information processing device, information processing method, and information processing program
JP2010237743A (en) System, method and program for detecting problematic point of data conflict
JP2014115960A (en) Verification device, verification method, and verification program
JP2013008146A (en) Simple body program operation test device, method and program
JP2015219737A (en) Information processing apparatus and program
JP2011133966A (en) Device and method for analyzing program

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161129