JP2018032062A - Test item generation method and arithmetic unit - Google Patents

Test item generation method and arithmetic unit Download PDF

Info

Publication number
JP2018032062A
JP2018032062A JP2016161716A JP2016161716A JP2018032062A JP 2018032062 A JP2018032062 A JP 2018032062A JP 2016161716 A JP2016161716 A JP 2016161716A JP 2016161716 A JP2016161716 A JP 2016161716A JP 2018032062 A JP2018032062 A JP 2018032062A
Authority
JP
Japan
Prior art keywords
test item
execution
tasks
task
item generation
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.)
Granted
Application number
JP2016161716A
Other languages
Japanese (ja)
Other versions
JP6637394B2 (en
Inventor
雄一郎 中川
Yuichiro Nakagawa
雄一郎 中川
統宙 月舘
Tsunamichi TSUKIDATE
統宙 月舘
朋仁 蛯名
Tomohito Ebina
朋仁 蛯名
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 Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2016161716A priority Critical patent/JP6637394B2/en
Priority to PCT/JP2017/026374 priority patent/WO2018037787A1/en
Publication of JP2018032062A publication Critical patent/JP2018032062A/en
Application granted granted Critical
Publication of JP6637394B2 publication Critical patent/JP6637394B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To create an appropriate test item corresponding to a multi-core.SOLUTION: A test item generation method for generating a test item in an arithmetic unit comprising multiple CPU cores that execute multiple tasks and shared resources that the multiple CPU cores access is configured as follows. Namely, a computer identifies a task that accesses the shared resources, among the multiple tasks, the computer classifies the multiple tasks for each of the CPU cores that execute the tasks, the computer identifies an execution order of the classified multiple tasks within the CPU core, and the computer generates multiple task execution order rows in which execution orders of two or more tasks that are suited to the identified execution order of the multiple tasks in the CPU core and access the shared resources to be executed by different CPU cores are exchanged mutually, such that the test item is generated.SELECTED DRAWING: Figure 3

Description

本発明は、テスト項目生成方法、および演算装置に関する。   The present invention relates to a test item generation method and an arithmetic device.

近年、電子機器は多機能化により演算量が年々増加しており、電子機器に求められるCPUの性能が増加している。そのため、電子機器に搭載するCPUの数を増やすことや、CPUに内蔵するCPUコアの数を増やすことによって対応している。すなわちいずれの場合も電子機器に複数のCPUコアを搭載すること(マルチコア)により処理能力を向上させている。電子機器が複数のCPUコアを備える場合は、単一のCPUコアしか備えない場合に比べて動作が複雑化し、この動作を検証するためのテスト項目の作成が容易ではない。
特許文献1には、設計を検証する方法が開示されており、ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出するステップを含む。この方法はさらに、抽出されたリソースに基づいてシミュレーション・モデルを構築するステップと、設計全体ではなく、抽出されたリソースだけを用いてこのシミュレーション・モデルを実行し、それによって、離散的なテスト・ケースまたは1組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストして設計を検証するステップとを含む。
In recent years, the calculation amount of electronic devices has been increasing year by year due to multifunctionalization, and CPU performance required for electronic devices has increased. Therefore, this is dealt with by increasing the number of CPUs installed in the electronic device or increasing the number of CPU cores built in the CPU. That is, in any case, the processing capability is improved by mounting a plurality of CPU cores in an electronic device (multi-core). When the electronic device includes a plurality of CPU cores, the operation is more complicated than when only a single CPU core is provided, and it is not easy to create a test item for verifying this operation.
Patent Document 1 discloses a method for verifying a design, and extracts resources required to execute a discrete test case or a set of related test cases for a design. Includes steps. The method further includes building a simulation model based on the extracted resources, and executing the simulation model using only the extracted resources rather than the entire design, thereby providing a discrete test model. Testing a particular function or group of interrelated functions represented by a case or a set of related test cases to verify the design.

特開2007―164780号公報JP 2007-164780 A

特許文献1に記載されている発明では、マルチコアに対応した適切なテスト項目を作成することできない。   In the invention described in Patent Document 1, an appropriate test item corresponding to the multi-core cannot be created.

本発明の第1の態様によるテスト項目生成方法は、複数のタスクを実行する複数のCPUコア、および前記複数のCPUコアがアクセスする共有資源を備える演算装置におけるテスト項目を生成するテスト項目生成方法は、コンピュータが、前記複数のタスクのうち、前記共有資源にアクセスするタスクを特定することと、コンピュータが、前記複数のタスクを、実行されるCPUコアごとに分類することと、コンピュータが、前記分類された複数のタスクのCPUコア内における実行順番を特定することと、コンピュータが、前記特定されたCPUコア内における前記複数のタスクの実行順番に適合し、かつ異なるCPUコアでそれぞれ実行される前記共有資源にアクセスする2以上のタスクの実行順番が互いに入れ替えられたタスク実行順列を複数生成することにより、前記テスト項目を生成することとを備える。
本発明の第2の態様による演算装置は、第1の態様のテスト項目生成方法により生成されたテスト項目と、前記テスト項目を確認するチェックロジックとが格納される記憶部を備える。
A test item generation method according to a first aspect of the present invention is a test item generation method for generating a test item in an arithmetic device including a plurality of CPU cores for executing a plurality of tasks and a shared resource accessed by the plurality of CPU cores. The computer specifies a task for accessing the shared resource among the plurality of tasks, the computer classifies the plurality of tasks for each CPU core to be executed, and the computer Specifying the execution order of the plurality of classified tasks in the CPU core, and the computer is adapted to the execution order of the plurality of tasks in the specified CPU core and executed on different CPU cores. Task execution in which the execution order of two or more tasks accessing the shared resource is interchanged By creating multiple columns, and generating a said test items.
An arithmetic device according to a second aspect of the present invention includes a storage unit in which test items generated by the test item generation method according to the first aspect and check logic for confirming the test items are stored.

本発明によれば、マルチコアに対応した適切なテスト項目を作成することできる。   According to the present invention, it is possible to create an appropriate test item corresponding to the multi-core.

テスト項目生成装置のハードウエア構成を示す図The figure which shows the hardware constitutions of the test item generation device テスト項目生成装置の機能的な構成を示す図The figure which shows the functional structure of a test item generation apparatus ECUのハードウエア構成を示す図The figure which shows the hardware constitutions of ECU ECUの機能的な構成を示す図The figure which shows the functional composition of ECU テスト項目の生成の概要を示す図Diagram showing test item generation overview テスト項目生成部の動作の一例を示す図The figure which shows an example of operation | movement of a test item production | generation part テスト項目生成部の動作を表すフローチャートFlow chart showing operation of test item generator 変形例2におけるテスト項目生成装置の機能的な構成を示す図The figure which shows the functional structure of the test item generation apparatus in the modification 2.

(第1の実施の形態)
以下、図1〜図7を参照して、本発明に係るテスト項目生成方法を使用するテスト項目生成装置100の第1の実施の形態を説明する。テスト項目生成装置100は、後述するECU200において実行されるテストにおいて使用されるテスト項目を生成する。本実施の形態では、コンピュータプログラムの構成要素を「タスク」と呼ぶ。タスクは1または複数のCPU命令から構成される。タスクはいずれかのCPUコアで実行され、タスクによっては後述する共有資源203へのアクセスが必要である。また、複数のタスクを実行する順序を示したものを「タスク実行順列」と呼ぶ。本実施の形態では、テスト項目は2以上のタスク実行順列から構成されることとする。すなわちECU200において実行されるテストは、生成されたテスト項目にしたがって、所定のタスクを所定の順番で実行することである。
(First embodiment)
A first embodiment of a test item generation apparatus 100 that uses the test item generation method according to the present invention will be described below with reference to FIGS. The test item generation device 100 generates a test item used in a test executed in the ECU 200 described later. In the present embodiment, the components of the computer program are called “tasks”. A task is composed of one or more CPU instructions. A task is executed by one of the CPU cores, and depending on the task, access to a shared resource 203 described later is required. In addition, what indicates the order in which a plurality of tasks are executed is referred to as a “task execution sequence”. In this embodiment, it is assumed that the test item is composed of two or more task execution permutations. That is, the test executed in ECU 200 is to execute predetermined tasks in a predetermined order according to the generated test items.

(テスト項目生成装置のハードウエア構成)
図1は、テスト項目生成装置100のハードウエア構成を示す図である。テスト項目生成装置100は、CPU101と、ROM102と、RAM103と、インタフェース104とを備える。CPU101は、テスト項目生成装置100の動作を制御する。CPU101は、ROM102に格納された不図示のプログラムをRAM103に展開して実行することにより、後述する機能を実現する。RAM103は、前述したプログラムが実行される際のワーキングエリア、および生成されたテスト項目の保存に利用される。インタフェース104は、電子データの入出力ポートであり、テスト項目生成装置100と他の装置との情報の授受を行う。テスト項目生成装置100は、インタフェース104を介してテスト項目の生成に必要な入力情報6を取得する。入力情報6は、プログラムのソースコード、設計ドキュメント、プログラムを実行するCPUのリバースエンジニアリング情報、テスト用ドキュメントなどであり、ECU200のCPUコアで実行される複数のタスクを含む。
(Hardware configuration of test item generator)
FIG. 1 is a diagram illustrating a hardware configuration of the test item generation apparatus 100. The test item generation device 100 includes a CPU 101, a ROM 102, a RAM 103, and an interface 104. The CPU 101 controls the operation of the test item generation device 100. The CPU 101 realizes functions to be described later by expanding a program (not shown) stored in the ROM 102 into the RAM 103 and executing the program. The RAM 103 is used for storing a working area when the above-described program is executed and a test item generated. The interface 104 is an electronic data input / output port, and exchanges information between the test item generation device 100 and other devices. The test item generation device 100 acquires input information 6 necessary for generating a test item via the interface 104. The input information 6 is a program source code, a design document, reverse engineering information of a CPU executing the program, a test document, and the like, and includes a plurality of tasks executed by the CPU core of the ECU 200.

(テスト項目生成装置の機能的構成)
図2は、テスト項目生成装置100の機能的な構成を示す図である。図2に示す各機能は、ROM102に格納されたプログラムをCPU101が実行することにより実現される。テスト項目生成装置100は、その機能として、対応情報部111と、特定情報部112と、順序情報部113と、テスト項目生成部114と、を備える。またRAM103に対応情報格納領域121と、特定情報格納領域122と、順序情報格納領域123と、テスト項目格納領域124とが設けられる。ここでは各機能の概要を説明し、各機能の詳細は後述する。
(Functional configuration of test item generator)
FIG. 2 is a diagram illustrating a functional configuration of the test item generation device 100. Each function shown in FIG. 2 is realized by the CPU 101 executing a program stored in the ROM 102. The test item generation device 100 includes a correspondence information unit 111, a specific information unit 112, an order information unit 113, and a test item generation unit 114 as functions thereof. Also, the RAM 103 is provided with a correspondence information storage area 121, a specific information storage area 122, an order information storage area 123, and a test item storage area 124. Here, an outline of each function will be described, and details of each function will be described later.

対応情報格納領域121、特定情報格納領域122、順序情報格納領域123、およびテスト項目格納領域124は、RAM103に設けられた記憶領域である。
対応情報部111は、インタフェース104から読み込まれる入力情報6を解析し、入力情報6に含まれる複数のタスクのそれぞれがECU200のいずれのCPUコアで実行されるかを特定して、実行されるCPUコアごとにタスクを分類する。そして、タスクの分類結果を示す対応情報を生成する。対応情報部111が生成した対応情報は、対応情報格納領域121に格納される。特定情報部112は、入力情報6を解析し、入力情報6に含まれるタスクのうち、どのタスクが後述する共有資源203にアクセスするタスクであるかを特定する。そして、特定したタスクを示す特定情報を生成する。特定情報部112が生成した特定情報は、特定情報格納領域122に格納される。
The correspondence information storage area 121, the specific information storage area 122, the order information storage area 123, and the test item storage area 124 are storage areas provided in the RAM 103.
The correspondence information unit 111 analyzes the input information 6 read from the interface 104, specifies which CPU core of the ECU 200 executes each of the plurality of tasks included in the input information 6, and executes the CPU Classify tasks by core. Then, correspondence information indicating the task classification result is generated. The correspondence information generated by the correspondence information unit 111 is stored in the correspondence information storage area 121. The identification information unit 112 analyzes the input information 6 and identifies which of the tasks included in the input information 6 is a task that accesses a shared resource 203 described later. And the specific information which shows the specified task is produced | generated. The specific information generated by the specific information unit 112 is stored in the specific information storage area 122.

順序情報部113は、入力情報6を解析し、同一のCPUコアで実行されるタスクの実行順番を特定する。そして、特定した情報である、同一のCPUコアで実行されるタスクの実行順番を示す順序情報を生成する。順序情報部113が生成した順序情報は、順序情報格納領域123に格納される。順序情報には、CPUコアごとにタスクの実行順番が示されていてもよいし、複数のCPUコアで実行されるタスクが混在して示されていてもよい。
テスト項目生成部114は、対応情報部111、特定情報部112、および順序情報部113が生成した情報に基づきテスト項目を生成し、生成したテスト項目をテスト項目格納領域124に格納する。テスト項目生成部114が生成したテスト項目は、インタフェース104を介してECU200に出力される。
The order information unit 113 analyzes the input information 6 and specifies the execution order of tasks executed by the same CPU core. And the order information which shows the execution order of the task performed with the same CPU core which is the specified information is produced | generated. The order information generated by the order information unit 113 is stored in the order information storage area 123. The order information may indicate the execution order of tasks for each CPU core, or may indicate a mixture of tasks executed by a plurality of CPU cores.
The test item generation unit 114 generates a test item based on the information generated by the correspondence information unit 111, the specific information unit 112, and the order information unit 113, and stores the generated test item in the test item storage area 124. The test items generated by the test item generation unit 114 are output to the ECU 200 via the interface 104.

対応情報部111、特定情報部112、および順序情報部113はいずれも、ソースコードを入力情報6とする場合は処理が容易である。対応情報部111、特定情報部112、および順序情報部113は設計ドキュメントやテスト用ドキュメントを入力情報6とする場合は、字句解析等を活用することで、ソースコードと同等の検索を行う。また、ドキュメントの解析ではドキュメントフォーマットの規定により、字句解析を不要とすることも可能である。
特定情報部112は、ソースコードを解析して共有資源203へアクセスするタスクを特定する際に、共有資源203へ直接アクセスするタスクだけではなく、タスクの呼び出しを再帰的に検索することで、共有資源203に間接的にアクセスするタスクも特定する。また、間接的なアクセスはタスクの呼び出し回数を指定することで、検索の範囲を限定してもよい。
The correspondence information unit 111, the specific information unit 112, and the order information unit 113 are all easy to process when the source code is the input information 6. The correspondence information unit 111, the specific information unit 112, and the order information unit 113 perform a search equivalent to the source code by utilizing lexical analysis or the like when the design document or the test document is the input information 6. In document analysis, it is possible to eliminate lexical analysis according to the document format.
When identifying the task that accesses the shared resource 203 by analyzing the source code, the specific information unit 112 recursively searches not only the task that directly accesses the shared resource 203 but also the call of the task. Tasks that indirectly access 203 are also identified. In addition, indirect access may be limited by specifying the number of task calls.

(ECUのハードウエア構成)
図3は、ECU200のハードウエア構成を示す図である。ECU200は、第1コア201と、第2コア202と、共有資源203と、ROM204と、RAM205と、テスト項目入力部206と、を備える。第1コア201および第2コア202は、ECU200が備えるCPUのコアである。ECU200は単一のコアを有するCPUを複数備えてもよいし、複数のコアを有するCPUを備えてもよい。共有資源203は、第1コア201および第2コア202からアクセスされる資源であり、たとえばRAM205の一部の領域、ECU200が備えるCPUのレジスタ、不図示のアクチュエータ、センサ、および通信バスのいずれかである。テスト項目入力部206は、電子データの入出力ポートであり、テスト項目生成装置100が生成したテスト項目が入力される。
(ECU hardware configuration)
FIG. 3 is a diagram illustrating a hardware configuration of the ECU 200. The ECU 200 includes a first core 201, a second core 202, a shared resource 203, a ROM 204, a RAM 205, and a test item input unit 206. The first core 201 and the second core 202 are CPU cores provided in the ECU 200. The ECU 200 may include a plurality of CPUs having a single core, or may include a CPU having a plurality of cores. The shared resource 203 is a resource accessed from the first core 201 and the second core 202. For example, the shared resource 203 is one of a part of the RAM 205, a CPU register included in the ECU 200, an actuator (not shown), a sensor, and a communication bus. It is. The test item input unit 206 is an input / output port for electronic data, and the test item generated by the test item generation apparatus 100 is input thereto.

(ECUの機能的構成)
図4は、ECU200の機能的な構成を示す図である。図4に示す各機能は、ROM204に格納されたプログラムを第1コア201または第2コア202が実行することにより実現される。ECU200はその機能として、通常モード部211と、動作検証モード部212と、モード切替部213と、テスト実行データ格納領域215とを備える。ECU200は、テスト項目生成装置100のインタフェース104から入力されたテスト項目をテスト項目入力部206において受信する。ECU200は、受信したテスト項目をテスト実行データ格納領域215に格納する。ECU200は、テスト項目の実行結果をチェックするチェックロジックもテスト実行データ格納領域215に格納する。このチェックロジックは、オペレータが作成してもよいし、テスト項目生成装置100が作成してもよい。
(Functional configuration of ECU)
FIG. 4 is a diagram illustrating a functional configuration of the ECU 200. Each function shown in FIG. 4 is realized by the first core 201 or the second core 202 executing a program stored in the ROM 204. The ECU 200 includes a normal mode unit 211, an operation verification mode unit 212, a mode switching unit 213, and a test execution data storage area 215 as its functions. The ECU 200 receives the test item input from the interface 104 of the test item generation apparatus 100 at the test item input unit 206. ECU 200 stores the received test item in test execution data storage area 215. ECU 200 also stores check logic for checking the execution result of the test item in test execution data storage area 215. The check logic may be created by an operator or the test item generation apparatus 100.

ECU200は、通常モードと動作検証モードの2つの動作モードを有する。ECU200は、ユーザ3により操作されるモード切替部213の動作指令により、通常モードと動作検証モードのいずれかが有効になる。通常モードが有効な場合は通常モード部211がECU200の動作を制御し、動作検証モードが有効な場合は動作検証モード部212がECU200の動作を制御する。
通常モード部211は、ECU200が備える不図示のセンサ、または不図示の通信インタフェースからの入力に基づき各種演算処理を行う。動作検証モード部212は、テスト実行データ格納領域215に格納されたテスト項目を構成する複数のタスク実行順列のそれぞれを順次実行し、その実行結果をチェックロジックと照合する。動作検証モード部212は、照合結果を不図示の記憶部に格納し外部から照合結果にアクセス可能に構成してもよい。また動作検証モード部212は、ECU200またはECU200が接続される機器が備える報知部、たとえばスピーカやライトを用いて照合結果を報知してもよい。
ECU 200 has two operation modes, a normal mode and an operation verification mode. The ECU 200 becomes effective in either the normal mode or the operation verification mode according to the operation command of the mode switching unit 213 operated by the user 3. When the normal mode is valid, the normal mode unit 211 controls the operation of the ECU 200, and when the operation verification mode is valid, the operation verification mode unit 212 controls the operation of the ECU 200.
The normal mode unit 211 performs various arithmetic processes based on an input from a sensor (not shown) included in the ECU 200 or a communication interface (not shown). The operation verification mode unit 212 sequentially executes each of the plurality of task execution permutations constituting the test item stored in the test execution data storage area 215 and collates the execution result with the check logic. The operation verification mode unit 212 may store the verification result in a storage unit (not shown) so that the verification result can be accessed from the outside. In addition, the operation verification mode unit 212 may notify the collation result using the ECU 200 or a notification unit provided in the device to which the ECU 200 is connected, for example, a speaker or a light.

(テスト項目生成の概要)
図5は、テスト項目生成装置100によるテスト項目の生成の概要を示す図である。
ソースコード4001は、ECU200において実行されるプログラムのソースコードである。ソースコード4001には、符号4002〜4007に示すように、そのプログラムを構成するタスクf1〜f6の詳細な情報、たとえば各タスクが共有資源203にアクセスするか否かが含まれる。またソースコード4001には、各タスクが実行されるCPUコアの情報、および各CPUコアにおいて各タスクが実行される順番の情報が含まれる。なお、異なるCPUコアで実行されるタスク同士の実行順番は実行のたびに変更となる可能性があり、ソースコード4001の記載からは同一のCPUコアで実行されるタスクの実行順番しか明らかにされない。
(Overview of test item generation)
FIG. 5 is a diagram showing an outline of test item generation by the test item generation device 100.
Source code 4001 is a source code of a program executed in ECU 200. As indicated by reference numerals 4002 to 4007, the source code 4001 includes detailed information on the tasks f1 to f6 constituting the program, for example, whether each task accesses the shared resource 203 or not. Further, the source code 4001 includes information on the CPU core in which each task is executed and information on the order in which each task is executed in each CPU core. Note that the execution order of tasks executed by different CPU cores may change every time it is executed, and only the execution order of tasks executed by the same CPU core is revealed from the description of the source code 4001. .

テスト項目生成装置100にソースコード4001が入力情報6として入力されると、対応情報部111は、ソースコード4001を解析して符号4009で示すように各タスクが実行されるCPUコアを特定する。すなわちテスト項目に含まれるタスクf1〜f6のうち、f1、f3、f5のタスクは第1コア201で実行され、f2、f4、f6のタスクは第2コア202で実行されると特定する。
特定情報部112は、ソースコード4001を解析して、符号4008で示すように、テスト項目に含まれるタスクf1〜f6のうち、ECU200の共有資源203にアクセスするタスクはf3とf4であることを特定する。
When the source code 4001 is input as the input information 6 to the test item generation device 100, the correspondence information unit 111 analyzes the source code 4001 and identifies a CPU core on which each task is executed as indicated by reference numeral 4009. That is, among the tasks f1 to f6 included in the test items, the tasks f1, f3, and f5 are executed by the first core 201, and the tasks f2, f4, and f6 are specified to be executed by the second core 202.
The specific information unit 112 analyzes the source code 4001 and, as indicated by reference numeral 4008, among the tasks f1 to f6 included in the test item, the tasks that access the shared resource 203 of the ECU 200 are f3 and f4. Identify.

順序情報部113は、ソースコード4001を解析して、符号4010で示すように、同一のCPUコアで実行されるタスクの実行順番を示す順序情報を特定する。ただし図5ではCPUコアごとにタスクの実行順序を示しているが、複数のCPUコアで実行されるタスクが混在された状態で実行順番が示されてもよい。たとえば、「f1、f2、f3、f4、f5、f6」というタスクの実行順番が順序情報として特定されてもよい。
テスト項目生成部114は、対応情報部111、特定情報部112、および順序情報部113が生成した情報、すなわち符号4008,4009,4010の情報に基づきタスク実行順列を生成する。テスト項目生成部114は、特定されたCPUコア内における複数のタスクの実行順番に適合し、かつ異なるCPUコアでそれぞれ実行される共有資源203にアクセスするタスクf3、f4の実行順番が互いに入れ替えられたタスク実行順列を複数、ここでは2つ生成し、テスト項目として、テスト項目格納領域124に符号4012で示すように格納する。これにより、テスト項目生成装置100において、タスクf1〜f6を含むテスト項目が作成される。
The order information unit 113 analyzes the source code 4001 and identifies order information indicating the execution order of tasks executed by the same CPU core, as indicated by reference numeral 4010. However, although the execution order of tasks is shown for each CPU core in FIG. 5, the execution order may be shown in a state where tasks executed by a plurality of CPU cores are mixed. For example, the execution order of tasks “f1, f2, f3, f4, f5, f6” may be specified as the order information.
The test item generation unit 114 generates a task execution permutation based on the information generated by the correspondence information unit 111, the specific information unit 112, and the order information unit 113, that is, information of reference numerals 4008, 4009, and 4010. The test item generation unit 114 is adapted to the execution order of a plurality of tasks in the specified CPU core, and the execution order of the tasks f3 and f4 that access the shared resources 203 respectively executed by different CPU cores is interchanged. A plurality of task execution permutations, here two, are generated and stored as test items in the test item storage area 124 as indicated by reference numeral 4012. Thereby, in the test item generation device 100, test items including the tasks f1 to f6 are created.

(テスト項目生成部の動作例)
図5に示した例では共有資源203にアクセスするタスクが2つだけだったので、もう少し複雑な例を用いてテスト項目生成部114の動作を説明する。ここでは、第1コア201でタスクf2、f3、f5、f7が実行され、第2コア202でタスクf4、f6が実行され、f2〜f6が共有資源203にアクセスする場合に、テスト項目生成部114により生成されるテスト項目を説明する。ここでは同一CPUコア内では数字が小さいタスクから実行されることとする。また以下では、タスクと後述する実行系列が実行される順番を右矢印の「→」を用いて表現する。たとえばタスクf2の次にタスクf3が実行されることは、「f2→f3」とあらわされる。
(Operation example of test item generator)
In the example shown in FIG. 5, since there are only two tasks accessing the shared resource 203, the operation of the test item generation unit 114 will be described using a slightly more complicated example. Here, when the first core 201 executes the tasks f2, f3, f5, and f7, the second core 202 executes the tasks f4 and f6, and the f2-f6 accesses the shared resource 203, the test item generation unit The test items generated by 114 will be described. Here, it is assumed that the task is executed from a task having a small number in the same CPU core. In the following, the order in which tasks and execution sequences to be described later are executed is expressed by using a right arrow “→”. For example, execution of the task f3 after the task f2 is expressed as “f2 → f3”.

まずテスト項目生成部114は、CPUコアごとに共有資源203にアクセスするタスクが実行される順序を特定し、実行系列を生成する。実行系列とは、同一のCPUコアにおいて実行されるタスクであって、共有資源203にアクセスする複数のタスクを、順序情報格納領域123に格納された順序情報が示すタスクの実行順番で並べたものである。ここでは生成した実行系列をα、βと呼ぶ。実行系列は、CPUコアと同数だけ生成される。実行系列αがf2、f3、f5から構成されることを、以下ではα0(f2、f3、f5)と表記する。同様に、実行系列βはβ0(f4、f6)である。   First, the test item generation unit 114 specifies the order in which tasks that access the shared resource 203 are executed for each CPU core, and generates an execution sequence. An execution sequence is a task executed in the same CPU core, in which a plurality of tasks that access the shared resource 203 are arranged in the execution order of tasks indicated by the order information stored in the order information storage area 123. It is. Here, the generated execution sequences are called α and β. As many execution sequences as the number of CPU cores are generated. The fact that the execution sequence α is composed of f2, f3, and f5 is hereinafter denoted as α0 (f2, f3, f5). Similarly, the execution sequence β is β0 (f4, f6).

これ以降では、図6を参照しながらテスト項目生成部114がタスク実行順列を生成する手順の説明を続ける。
次にテスト項目生成部114は、生成した実行系列をすべて用いた順列、すなわち生成した実行系列をすべて用いて並び替えができる全ての順序を作成する。この例では、図6の未展開の欄に示すように、α→βとβ→αの2つが作成される。以下では、この作成した順列のそれぞれを「順列要素」と呼ぶ。
Hereinafter, the procedure for the test item generation unit 114 to generate the task execution sequence will be continued with reference to FIG.
Next, the test item generation unit 114 creates a permutation using all the generated execution sequences, that is, all sequences that can be rearranged using all the generated execution sequences. In this example, as shown in the unexpanded column of FIG. 6, two of α → β and β → α are created. Hereinafter, each of the created permutations is referred to as a “permutation element”.

そしてテスト項目生成部114は、生成した順列要素のそれぞれについて、αおよびβを展開して実行順序のバリエーションである順列要素を増加させる。たとえばαの展開とは、αを構成するタスクのうち先頭のタスクを分離させ、αの名称に分離したタスクの数を付加することである。すなわち、α0(f2、f3、f5)が、f2→α1(f3、f5)に展開される。この展開により順列要素を構成する要素が増えたので、さらなる並び替えが可能となる。なお、ここでは順列要素を展開したものも「順列要素」と呼んでいるが、「展開列」と呼んでもよい。また、ここでは実行系列を構成する先頭のタスクを分離させた例を示したが、実行系列を構成する末尾のタスクを分離させてもよい。   Then, the test item generation unit 114 expands α and β for each of the generated permutation elements to increase the permutation elements that are variations of the execution order. For example, the expansion of α means that the first task among the tasks constituting α is separated and the number of separated tasks is added to the name of α. That is, α0 (f2, f3, f5) is expanded from f2 to α1 (f3, f5). Since this expansion has increased the number of elements constituting the permutation element, further rearrangement becomes possible. In addition, although what expanded the permutation element here is also called the "permutation element", you may call it a "development sequence." Further, although an example in which the top task constituting the execution sequence is separated is shown here, the last task constituting the execution sequence may be separated.

したがって、順列要素の1つであるα→βは、αを1回展開することにより図6の「α展開1回目」の欄に示すように、f2→α1(f3、f5)→βと、f2→β→α1(f3、f5)とに展開される。さらにαを展開すると、順列要素α→βは、図6の「α展開2回目」の欄に示すように合計で3つに展開される。このとき、α0(f2、f3、f5)が2回展開されたα2(f5)はf5そのものであり、これ以上展開できない。そのため次はβを展開する。   Therefore, α → β, which is one of the permutation elements, is expressed as f2 → α1 (f3, f5) → β as shown in the column of “α expansion first time” in FIG. 6 by expanding α once. Expanded in the order of f2 → β → α1 (f3, f5). When α is further expanded, permutation elements α → β are expanded into a total of three as shown in the column “α expansion second time” in FIG. At this time, α2 (f5) in which α0 (f2, f3, f5) is expanded twice is f5 itself and cannot be expanded any more. Therefore, β is expanded next.

順列要素α→βはさらに、βを展開することにより図6の「β展開1回目」の欄に示すように合計で5つに展開される。このとき、β0(f4、f6)が1回展開されたβ1(f6)はf6そのものであり、これ以上展開できない。そのため、以上でα→βの順列要素の展開処理は終了である。
テスト項目生成部114は、上述した順列要素α→βの展開と同様に順列要素β→αを展開する。この処理は順列要素α→βの展開と同様なので、説明および図6における例示を省略する。
Further, permutation elements α → β are expanded into a total of five by expanding β as shown in the column “β expansion first time” in FIG. At this time, β1 (f6) in which β0 (f4, f6) is expanded once is f6 itself and cannot be expanded any more. Therefore, the expansion process of the permutation element of α → β is completed.
The test item generation unit 114 expands the permutation element β → α in the same manner as the expansion of the permutation element α → β described above. Since this process is the same as the development of the permutation element α → β, the description and the illustration in FIG. 6 are omitted.

このように生成された順列要素に、共有資源203にアクセスしないタスクf7の実行順番を追記して、タスク実行順列とする。共有資源203にアクセスしないタスクの実行順番は、同一のCPUコアにおける実行順序に従っているいずれか1か所とする。たとえばf7を除く実行順序がf2→f3→f5→f4→f6である場合に、f7の実行順番は同一CPUコアで実行されるf5よりも後なので、f5、f4、f6それぞれの直後に挿入することができる。すなわちこの場合に、f7の挿入場所により3とおりの実行順序を生成可能ではあるが、3つのうちのいずれか1つのみを採用してタスク実行順列、すなわちテスト項目の1つとする。共有資源203にアクセスしないタスクの実行順番が変化してもテストへの影響がないためである。   The execution order of the task f7 that does not access the shared resource 203 is added to the permutation element generated in this way, and this is used as the task execution permutation. The execution order of tasks that do not access the shared resource 203 is any one place that follows the execution order in the same CPU core. For example, when the execution order excluding f7 is f2-> f3-> f5-> f4-> f6, the execution order of f7 is later than f5 executed by the same CPU core, so it is inserted immediately after each of f5, f4, f6. be able to. That is, in this case, although three execution orders can be generated depending on the insertion location of f7, only one of the three is adopted as a task execution permutation, that is, one of the test items. This is because even if the execution order of tasks that do not access the shared resource 203 changes, the test is not affected.

(テスト項目生成部のフローチャート)
図7は、テスト項目生成部114の動作を表すフローチャートである。以下に説明するフローチャートの各ステップの実行主体は、テスト項目生成装置100のCPU101である。
ステップS301では、対応情報部111と特定情報部112の出力を参照し、CPUコアごとに共有資源203にアクセスするタスクを特定する。続くステップS302では、順序情報部113の出力を参照し、CPUコアごとに共有資源203にアクセスするタスクの実行順序を特定する。
(Flowchart of test item generator)
FIG. 7 is a flowchart showing the operation of the test item generation unit 114. The execution subject of each step in the flowchart described below is the CPU 101 of the test item generation apparatus 100.
In step S301, the task that accesses the shared resource 203 is specified for each CPU core with reference to the outputs of the correspondence information unit 111 and the specific information unit 112. In subsequent step S302, the output of the order information unit 113 is referred to, and the execution order of tasks that access the shared resource 203 is specified for each CPU core.

続くステップS303では、実行系列を生成する。実行系列とは前述のとおり、同一のCPUコアにおいて実行されるタスクであって、共有資源203にアクセスする複数のタスクを、順序情報格納領域123に格納された順序情報が示すタスクの実行順番に並べたものである。すなわちステップS303ではCPUコアと同数の実行系列が生成される。続くステップS304では、実行系列の順列、すなわち複数の順列要素を作成する。ここで作成される順列要素の数は、ステップS303において生成された実行系列の数の階乗である。異なるCPUコアで実行されるタスクの実行の順番に制限はないからである。図6の例では、α→βとβ→αの作成に相当する。   In subsequent step S303, an execution sequence is generated. As described above, the execution sequence is a task executed in the same CPU core, and a plurality of tasks that access the shared resource 203 are assigned to the task execution order indicated by the order information stored in the order information storage area 123. They are arranged. That is, in step S303, the same number of execution sequences as the CPU cores are generated. In subsequent step S304, a permutation of execution sequences, that is, a plurality of permutation elements are created. The number of permutation elements created here is the factorial of the number of execution sequences generated in step S303. This is because there is no restriction on the order of execution of tasks executed by different CPU cores. In the example of FIG. 6, this corresponds to creation of α → β and β → α.

続くステップS305では、第1の実行系列、たとえばαを展開対象に設定する。続くステップS306では、展開対象の実行系列から先頭のタスクを展開する。図6の例では、α0(f2、f3、f5)をf2→α1(f3、f5)に展開することに相当する。続くステップS307では、ステップS306の展開に伴う順序入れ替えを含む順列要素を生成する。続くステップS308では展開対象の実行系列がさらに展開可能か否かを判断する。さらに展開可能と判断する場合はステップS306に戻り、さらなる展開は不可能と判断する場合はステップS309に進む。図6の例では、α展開2回目やβ展開1回目の終了後にはステップS309に進むこととなる。   In the subsequent step S305, the first execution series, for example, α is set as a development target. In the subsequent step S306, the first task is expanded from the execution sequence to be expanded. In the example of FIG. 6, it is equivalent to developing α0 (f2, f3, f5) from f2 → α1 (f3, f5). In the subsequent step S307, a permutation element including the order change accompanying the expansion in step S306 is generated. In a succeeding step S308, it is determined whether or not the execution sequence to be expanded can be further expanded. If it is determined that further expansion is possible, the process returns to step S306. If it is determined that further expansion is impossible, the process proceeds to step S309. In the example of FIG. 6, the process proceeds to step S309 after the second α expansion and the first β expansion.

ステップS309では、未展開の実行系列が存在するか否かを判断する。未展開の実行系列が存在すると判断する場合はステップS310に進み、未展開の実行系列が存在しないと判断する場合はステップS311に進む。ステップS310では未展開の実行系列のいずれかを展開対象に設定し、ステップS306に戻る。ステップS311では、共有資源203にアクセスしていないタスクを順列要素に追加し、タスク実行順列とする。これにより、異なるCPUコアでそれぞれ実行され、かつ共有資源203にアクセスするタスクf2、f4、f6とタスクf3、f5の実行順番の全ての組み合わせについて、タスク実行順列を生成することができる。続くステップS312では、生成したタスク実行順列をテスト項目格納領域124に格納して図7のフローチャートを終了する。   In step S309, it is determined whether there is an undeployed execution sequence. If it is determined that there is an unexpanded execution sequence, the process proceeds to step S310. If it is determined that there is no undeployed execution sequence, the process proceeds to step S311. In step S310, one of unexecuted execution sequences is set as a deployment target, and the process returns to step S306. In step S311, a task that has not accessed the shared resource 203 is added to the permutation element to obtain a task execution permutation. As a result, a task execution sequence can be generated for all combinations of the execution orders of the tasks f2, f4, and f6 and the tasks f3 and f5 that are executed by different CPU cores and that access the shared resource 203. In the subsequent step S312, the generated task execution sequence is stored in the test item storage area 124, and the flowchart of FIG.

上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)複数のタスクを実行する複数のCPUコア、および複数のCPUコアがアクセスする共有資源203を備える演算装置、すなわちECU200におけるテスト項目を生成するテスト項目生成方法は、以下のようにテスト項目生成装置100に実行される。このテスト項目生成方法は、以下の4つを含む。第1は、特定情報部112により実行される、複数のタスクのうち共有資源203にアクセスするタスクを特定することである。第2は、対応情報部111により実行される、複数のタスクを、実行されるCPUコアごとに分類することとである。第3は、順序情報部113により実行される、分類された複数のタスクのCPUコア内における実行の順番を特定することとである。第4は、テスト項目生成部114により実行される、特定されたCPUコア内における複数のタスクの実行順番に適合し、かつ異なるCPUコアでそれぞれ実行される共有資源203にアクセスする2以上のタスクの実行順番が互いに入れ替えられたタスク実行順列を複数生成することにより、テスト項目を生成することとである。
そのため、共有資源203にアクセスするタスクの実行順番を入れ替えたテスト項目を作成するので、マルチコアに対応した適切なテスト項目を作成することができる。
According to the first embodiment described above, the following operational effects are obtained.
(1) A test item generation method for generating a test item in an arithmetic device including a plurality of CPU cores that execute a plurality of tasks and a shared resource 203 accessed by the plurality of CPU cores, that is, the ECU 200, is as follows. It is executed by the generation apparatus 100. This test item generation method includes the following four. The first is to specify a task that accesses the shared resource 203 among a plurality of tasks, which is executed by the specifying information unit 112. The second is to classify a plurality of tasks executed by the correspondence information unit 111 for each CPU core to be executed. The third is to specify the execution order in the CPU core of a plurality of classified tasks executed by the order information unit 113. Fourth, two or more tasks that are executed by the test item generation unit 114 and that match the execution order of the plurality of tasks in the specified CPU core and access the shared resources 203 respectively executed by different CPU cores The test items are generated by generating a plurality of task execution permutations in which the execution orders are replaced with each other.
Therefore, test items are created by changing the execution order of tasks that access the shared resource 203, so that appropriate test items corresponding to the multi-core can be created.

(2)テスト項目生成装置100のテスト項目の生成では、異なるCPUコアでそれぞれ実行され、かつ共有資源203にアクセスするタスクの実行順番の全ての組み合わせについて、タスク実行順列を生成する。
そのため、タスクの数が多く組み合わせが膨大であっても漏れのないテスト項目を作成することができる。
(2) In the test item generation of the test item generation device 100, a task execution permutation is generated for all combinations of task execution orders that are executed by different CPU cores and access the shared resource 203.
Therefore, even if the number of tasks is large and the number of combinations is enormous, it is possible to create test items without omissions.

(3)テスト項目生成部114によるテスト項目生成は以下の5つを含む。第1は、同一のCPUコアにおいて実行されるタスクを、特定されたCPUコア内における実行順番に並べた実行系列を生成すること(図7のステップS303)である。第2は、複数の実行系列の順列を生成すること(図7のステップS304)とである。第3は、順列のそれぞれについて、実行系列を構成する先頭または末尾のタスクを実行系列から分離させることにより実行系列を展開し、展開された実行系列および分離されたタスクの実行順番を保ったまま他の実行系列および他のタスクとの順番をすべて入れ替えて生成される、1または複数の展開列を生成すること(図7のステップS306、S307)である。第4は、展開列のそれぞれについて、実行系列が展開できなくなるまで展開列の生成を繰り返すことと(図7のステップS308が否定判断されるまで繰り返し)である。第5は、繰り返しにより生成された複数の、実行系列の展開ができない展開列のそれぞれをタスク実行順列とすること(図7のステップS312)である。
そのため、タスクの数が多く組み合わせが膨大であっても、実行系列の順列の生成と展開列の生成の繰り返しにより、漏れのないテスト項目を作成することができる。
(3) Test item generation by the test item generation unit 114 includes the following five items. The first is to generate an execution sequence in which tasks executed in the same CPU core are arranged in the execution order in the specified CPU core (step S303 in FIG. 7). The second is to generate a permutation of a plurality of execution sequences (step S304 in FIG. 7). Third, for each permutation, the execution sequence is expanded by separating the first or last task constituting the execution sequence from the execution sequence, and the execution sequence of the expanded execution sequence and the separated task is maintained. One or a plurality of development sequences generated by exchanging all orders with other execution series and other tasks is generated (steps S306 and S307 in FIG. 7). Fourthly, for each of the development columns, generation of the expansion sequence is repeated until the execution sequence cannot be expanded (repeating until step S308 in FIG. 7 is negatively determined). Fifthly, each of a plurality of development sequences that are generated by repetition and cannot be developed into execution sequences is set as a task execution sequence (step S312 in FIG. 7).
Therefore, even if the number of tasks is large and the number of combinations is enormous, it is possible to create test items without omission by repeating generation of execution sequence permutations and generation of expanded sequences.

(4)演算装置、すなわちECU200は、上述したテスト項目生成方法により生成されたテスト項目と、テスト項目を確認するチェックロジックとが格納される記憶部、すなわちテスト実行データ格納領域215を備える。
そのためECU200は、実機であるECU200においてテスト項目を実行し、さらにチェックロジックを用いてそのテスト結果を確認することができる。このテスト項目はテスト項目生成装置100により生成されたものであり、それぞれのタスクの共有資源203へのアクセス順序を同じ順番で確認しないテスト項目である。
(4) The arithmetic unit, that is, the ECU 200 includes a storage unit, that is, a test execution data storage area 215 in which test items generated by the above-described test item generation method and check logic for confirming the test items are stored.
Therefore, the ECU 200 can execute the test item in the ECU 200 that is an actual machine, and further check the test result using the check logic. This test item is generated by the test item generation device 100, and is a test item that does not confirm the access order of the shared resources 203 of each task in the same order.

(5)演算装置、すなわちECU200は、テスト項目を構成する複数のタスク実行順列のそれぞれを順次実行する動作検証モード部212と、動作検証モード部212を動作させるモード切替部213とを備える。そのためECU200は、動作モードを切り替えてテストを実行することができる。 (5) The arithmetic unit, that is, the ECU 200 includes an operation verification mode unit 212 that sequentially executes each of a plurality of task execution permutations constituting the test item, and a mode switching unit 213 that operates the operation verification mode unit 212. Therefore, ECU 200 can execute the test by switching the operation mode.

(変形例1)
対応情報部111、特定情報部112、および順序情報部113は、従前に入力された入力情報6を保存しておき、新たに入力された入力情報6が従前の入力情報6に一致する場合は、それぞれの格納領域に格納した解析結果をテスト項目生成部114に出力してもよい。この変形例1によれば、入力情報6に変更がない場合に解析を省略することができる。本変形例における効果は、対応情報部111、特定情報部112、および順序情報部113に入力される情報がそれぞれ異なっており、それらのうちの一部のみが変更される場合、たとえばタスクの実行順番のみが変更される場合に顕著である。
(Modification 1)
The correspondence information unit 111, the specific information unit 112, and the order information unit 113 store the input information 6 that has been input before, and the newly input information 6 matches the previous input information 6. The analysis results stored in the respective storage areas may be output to the test item generation unit 114. According to the first modification, the analysis can be omitted when there is no change in the input information 6. The effect of this modification is that the information input to the correspondence information unit 111, the specific information unit 112, and the order information unit 113 is different, and only a part of them is changed. This is noticeable when only the order is changed.

(変形例2)
図8は、変形例2におけるテスト項目生成装置100の機能的な構成を示す図である。テスト項目生成装置100は、対応情報変更点分析部131と、特定情報変更点分析部132と、順序情報変更点分析部133と、変更点テスト項目生成部134とをさらに備えてもよい。
対応情報変更点分析部131は、入力情報6の変更点を分析し、対応情報格納領域121に格納されている対応情報を参照し、入力情報6の変更部分に係る対応情報を変更点テスト項目生成部134に出力する。特定情報変更点分析部132は、入力情報6の変更点を分析し、特定情報格納領域122に格納されている特定情報を参照し、入力情報6の変更部分に係る特定情報を変更点テスト項目生成部134に出力する。順序情報変更点分析部133は、入力情報6の変更点を分析し、順序情報格納領域123に格納されている順序情報を参照し、入力情報6の変更部分に係る順序情報を変更点テスト項目生成部134に出力する。
(Modification 2)
FIG. 8 is a diagram illustrating a functional configuration of the test item generation device 100 according to the second modification. The test item generation device 100 may further include a correspondence information change point analysis unit 131, a specific information change point analysis unit 132, an order information change point analysis unit 133, and a change point test item generation unit 134.
The correspondence information change point analysis unit 131 analyzes the change point of the input information 6, refers to the correspondence information stored in the correspondence information storage area 121, and sets the correspondence information related to the changed part of the input information 6 as the change point test item. The data is output to the generation unit 134. The specific information change point analysis unit 132 analyzes the change point of the input information 6, refers to the specific information stored in the specific information storage area 122, changes the specific information related to the change part of the input information 6 to the change point test item The data is output to the generation unit 134. The order information change point analysis unit 133 analyzes the change point of the input information 6, refers to the order information stored in the order information storage area 123, and changes the order information related to the changed part of the input information 6 to the change point test item. The data is output to the generation unit 134.

変更点テスト項目生成部134は、対応情報変更点分析部131、特定情報変更点分析部132、および順序情報変更点分析部133の出力、ならびにテスト項目格納領域124に格納されているテスト項目を用いて、修正が必要となるテスト項目のみを生成する。そして変更点テスト項目生成部134は、テスト項目格納領域124に格納されるテスト項目を更新する。
この変形例2によれば、入力情報6に変更がわずかな場合にテスト項目生成装置100の処理を減少させることができる。
The change point test item generation unit 134 outputs the correspondence information change point analysis unit 131, the specific information change point analysis unit 132, the output of the order information change point analysis unit 133, and the test items stored in the test item storage area 124. Used to generate only test items that need to be modified. Then, the changed point test item generation unit 134 updates the test items stored in the test item storage area 124.
According to the second modification, the processing of the test item generation device 100 can be reduced when the input information 6 is slightly changed.

テスト項目生成装置100が実行するプログラムは不図示のROMに格納されるとしたが、プログラムはRAM103や不図示のフラッシュメモリに格納されていてもよい。また、テスト項目生成装置100がインタフェース104を用いて、必要なときにインタフェース104が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
Although the program executed by the test item generation device 100 is stored in the ROM (not shown), the program may be stored in the RAM 103 or a flash memory (not shown). In addition, the test item generation apparatus 100 may use the interface 104 to read a program from another apparatus via a medium that can use the interface 104 when necessary. Here, the medium refers to, for example, a storage medium that can be attached to and detached from the input / output interface, or a communication medium, that is, a wired, wireless, or optical network, or a carrier wave or digital signal that propagates through the network. Also, part or all of the functions realized by the program may be realized by a hardware circuit or FPGA.
The above-described embodiments and modifications may be combined.
Although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other embodiments conceivable within the scope of the technical idea of the present invention are also included in the scope of the present invention.

100 … テスト項目生成装置
111 … 対応情報部
112 … 特定情報部
113 … 順序情報部
114 … テスト項目生成部
124 … テスト項目格納領域
201 … 第1コア
202 … 第2コア
203 … 共有資源
212 … 動作検証モード部
213 … モード切替部
215 … テスト実行データ格納領域
DESCRIPTION OF SYMBOLS 100 ... Test item production | generation apparatus 111 ... Corresponding information part 112 ... Specific information part 113 ... Order information part 114 ... Test item production | generation part 124 ... Test item storage area 201 ... 1st core 202 ... 2nd core 203 ... Shared resource 212 ... Operation | movement Verification mode part 213 ... Mode switching part 215 ... Test execution data storage area

Claims (5)

複数のタスクを実行する複数のCPUコア、および前記複数のCPUコアがアクセスする共有資源を備える演算装置におけるテスト項目を生成するテスト項目生成方法は、
コンピュータが、前記複数のタスクのうち、前記共有資源にアクセスするタスクを特定することと、
コンピュータが、前記複数のタスクを、実行されるCPUコアごとに分類することと、
コンピュータが、前記分類された複数のタスクのCPUコア内における実行順番を特定することと、
コンピュータが、前記特定されたCPUコア内における前記複数のタスクの実行順番に適合し、かつ異なるCPUコアでそれぞれ実行される前記共有資源にアクセスする2以上のタスクの実行順番が互いに入れ替えられたタスク実行順列を複数生成することにより、前記テスト項目を生成することとを備えるテスト項目生成方法。
A test item generation method for generating a test item in an arithmetic device including a plurality of CPU cores for executing a plurality of tasks and a shared resource accessed by the plurality of CPU cores,
Identifying a task for accessing the shared resource among the plurality of tasks;
A computer classifying the plurality of tasks for each CPU core to be executed;
A computer specifying an execution order in the CPU core of the plurality of classified tasks;
Tasks in which the computer is adapted to the execution order of the plurality of tasks in the specified CPU core and the execution order of two or more tasks accessing the shared resources respectively executed by different CPU cores is interchanged A test item generation method comprising: generating the test item by generating a plurality of execution permutations.
請求項1に記載のテスト項目生成方法において、
前記テスト項目の生成では、異なるCPUコアでそれぞれ実行され、かつ前記共有資源にアクセスするタスクの実行順番の全ての組み合わせについて、前記タスク実行順列を生成する、テスト項目生成方法。
The test item generation method according to claim 1,
In the test item generation, the test item generation method generates the task execution permutation for all combinations of execution orders of tasks that are respectively executed by different CPU cores and access the shared resource.
請求項1に記載のテスト項目生成方法において、
前記テスト項目の生成は、
同一のCPUコアにおいて実行されるタスクを前記実行順番に並べた実行系列を、前記複数のタスクの全てに基づき複数生成することと
前記複数の実行系列の順列を生成することと、
前記順列のそれぞれについて、前記実行系列を構成する先頭または末尾のタスクを前記実行系列から分離させることにより前記実行系列を展開し、前記展開された実行系列および前記分離されたタスクの前記実行順番を保ったまま他の実行系列および他のタスクとの順番をすべて入れ替えて生成される、1または複数の展開列を生成することと、
前記展開列のそれぞれについて、前記実行系列が展開できなくなるまで前記展開列の生成を繰り返すことと、
前記繰り返しにより生成された複数の、前記実行系列の展開ができない前記展開列のそれぞれを前記タスク実行順列とすることと、を備えるテスト項目生成方法。
The test item generation method according to claim 1,
The test item is generated by
Generating a plurality of execution sequences in which the tasks executed in the same CPU core are arranged in the execution order based on all of the plurality of tasks; generating a permutation of the plurality of execution sequences;
For each of the permutations, the execution sequence is expanded by separating the first or last task constituting the execution sequence from the execution sequence, and the execution order of the expanded execution sequence and the separated task is Generating one or a plurality of expansion sequences that are generated by rearranging all the orders with other execution sequences and other tasks while keeping them;
For each of the expansion columns, repeating the generation of the expansion column until the execution sequence cannot be expanded;
A test item generation method comprising: each of the plurality of expansion sequences generated by the repetition and incapable of expanding the execution series is set as the task execution sequence.
請求項1に記載のテスト項目生成方法により生成されたテスト項目と、前記テスト項目を確認するチェックロジックとが格納される記憶部を備える演算装置。   An arithmetic unit comprising a storage unit storing test items generated by the test item generation method according to claim 1 and check logic for confirming the test items. 請求項4に記載の演算装置において、
前記テスト項目を構成する複数のタスク実行順列のそれぞれを順次実行する動作検証モード部と、
前記動作検証モード部を動作させるモード切替部とをさらに備える演算装置。
The arithmetic unit according to claim 4,
An operation verification mode section for sequentially executing each of a plurality of task execution permutations constituting the test item;
An arithmetic device further comprising a mode switching unit that operates the operation verification mode unit.
JP2016161716A 2016-08-22 2016-08-22 Test item generation method, arithmetic unit Active JP6637394B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016161716A JP6637394B2 (en) 2016-08-22 2016-08-22 Test item generation method, arithmetic unit
PCT/JP2017/026374 WO2018037787A1 (en) 2016-08-22 2017-07-20 Test item generation method and computation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016161716A JP6637394B2 (en) 2016-08-22 2016-08-22 Test item generation method, arithmetic unit

Publications (2)

Publication Number Publication Date
JP2018032062A true JP2018032062A (en) 2018-03-01
JP6637394B2 JP6637394B2 (en) 2020-01-29

Family

ID=61246661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016161716A Active JP6637394B2 (en) 2016-08-22 2016-08-22 Test item generation method, arithmetic unit

Country Status (2)

Country Link
JP (1) JP6637394B2 (en)
WO (1) WO2018037787A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112020004765T5 (en) 2019-11-29 2022-07-28 Hitachi Astemo, Ltd. ELECTRONIC CONTROL DEVICE

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7493405B2 (en) * 2020-07-21 2024-05-31 日立Astemo株式会社 Test method and computing device
WO2023238311A1 (en) * 2022-06-09 2023-12-14 日立Astemo株式会社 Verification system and verification method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242614A (en) * 1998-02-25 1999-09-07 Mitsubishi Electric Corp Device and method for real-time verification for parallel programs
JP2011515000A (en) * 2008-03-11 2011-05-12 ユニバーシティ・オブ・ワシントン Efficient deterministic multiprocessing (DETERMINISTICMULTIPROCESSING)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242614A (en) * 1998-02-25 1999-09-07 Mitsubishi Electric Corp Device and method for real-time verification for parallel programs
JP2011515000A (en) * 2008-03-11 2011-05-12 ユニバーシティ・オブ・ワシントン Efficient deterministic multiprocessing (DETERMINISTICMULTIPROCESSING)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112020004765T5 (en) 2019-11-29 2022-07-28 Hitachi Astemo, Ltd. ELECTRONIC CONTROL DEVICE

Also Published As

Publication number Publication date
WO2018037787A1 (en) 2018-03-01
JP6637394B2 (en) 2020-01-29

Similar Documents

Publication Publication Date Title
JP4414373B2 (en) Program verification program, program verification apparatus, and program verification method
WO2018037787A1 (en) Test item generation method and computation device
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
US9652360B2 (en) Crawling for extracting a model of a GUI-based application
CN111178512A (en) Device operation neural network test method and device
US10387124B2 (en) System and method for creating domain specific language
JP2015219906A (en) Software verification method and processor
KR102338365B1 (en) Layout decomposition method and layout decomposition system
JP2006139427A (en) Same subgraph detection device of data flow graph, high order synthesizer, method of detecting same subgraph of data flow graph, same subgraph detection control program of data flow graph and readable recording medium
CN112597718B (en) Verification method, verification device and storage medium for integrated circuit design
US8321825B2 (en) Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification
CN104866297A (en) Method and device for optimizing kernel function
CN109522723A (en) POC scenario generation method, device, electronic equipment and storage medium
US11048844B1 (en) System and method for use in design verification
Lin et al. Automatic compositional verification of timed systems
JP2009205523A (en) Automatic property generator
CN105027089B (en) Core functions detector
JP6903249B2 (en) Test case generator, test case generator, and test case generator
JP2009223661A (en) Verification support program, recording medium with the program recorded therein, verification support apparatus, and verification support method
JP2007249826A (en) Test item generation device
CN117931156A (en) Method, apparatus and storage medium for executing script command
Jiang et al. Incremental development of fault prediction models
JP5328447B2 (en) High-level synthesis apparatus and high-level synthesis method, semiconductor integrated circuit manufacturing method, control program, and readable storage medium
CN116992798B (en) Quantum chip design scheduling method, system, electronic equipment and storage medium
Fekete et al. Creating a GPGPU-accelerated framework for pattern matching using a case study

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191220

R150 Certificate of patent or registration of utility model

Ref document number: 6637394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250