Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6637394B2 - Test item generation method, arithmetic unit - Google Patents
[go: Go Back, main page]

JP6637394B2 - Test item generation method, arithmetic unit - Google Patents

Test item generation method, arithmetic unit Download PDF

Info

Publication number
JP6637394B2
JP6637394B2 JP2016161716A JP2016161716A JP6637394B2 JP 6637394 B2 JP6637394 B2 JP 6637394B2 JP 2016161716 A JP2016161716 A JP 2016161716A JP 2016161716 A JP2016161716 A JP 2016161716A JP 6637394 B2 JP6637394 B2 JP 6637394B2
Authority
JP
Japan
Prior art keywords
test item
execution
tasks
task
unit
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.)
Active
Application number
JP2016161716A
Other languages
Japanese (ja)
Other versions
JP2018032062A (en
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.)
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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (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)

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組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストして設計を検証するステップとを含む。
2. Description of the Related Art In recent years, the operation amount of electronic devices has been increasing year by year due to multifunctionalization, and the performance of CPUs required for electronic devices has been increasing. To cope with this, the number of CPUs mounted on the electronic device is increased, and the number of CPU cores built in the CPU is increased. That is, in any case, the processing capability is improved by mounting a plurality of CPU cores on the electronic device (multi-core). When the electronic device includes a plurality of CPU cores, the operation becomes more complicated than when the electronic device includes only a single CPU core, and it is not easy to create a test item for verifying the operation.
U.S. Pat. No. 6,086,086 discloses a method for verifying a design, which extracts the resources required to execute a discrete test case or a set of related test cases for a design. Including steps. The method further includes constructing 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 a group of interrelated functions represented by the case or set of related test cases to verify the design.

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

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

本発明の第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 executing a plurality of tasks and a shared resource accessed by the plurality of CPU cores. Wherein the computer specifies, among the plurality of tasks, a task that accesses the shared resource; the computer classifies the plurality of tasks for each CPU core to be executed; and Specifying the execution order of the plurality of classified tasks in the CPU core; and causing the computer to execute the plurality of tasks in the specified CPU core in accordance with the execution order of the plurality of tasks and to execute the tasks 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 operation device according to a second aspect of the present invention includes a storage unit that stores a test item generated by the test item generation method according to the first aspect and check logic for confirming the test item.

本発明によれば、マルチコアに対応した適切なテスト項目を作成することできる。   According to the present invention, an appropriate test item corresponding to a multicore can be created.

テスト項目生成装置のハードウエア構成を示す図Diagram showing the hardware configuration of the test item generation device テスト項目生成装置の機能的な構成を示す図Diagram showing the functional configuration of the test item generation device ECUのハードウエア構成を示す図Diagram showing the hardware configuration of the ECU ECUの機能的な構成を示す図Diagram showing the functional configuration of the ECU テスト項目の生成の概要を示す図Diagram showing overview of test item generation テスト項目生成部の動作の一例を示す図The figure which shows an example of operation | movement of a test item generation part. テスト項目生成部の動作を表すフローチャートFlow chart showing the operation of the test item generation unit 変形例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)
Hereinafter, a first embodiment of a test item generation device 100 using a test item generation method according to the present invention will be described with reference to FIGS. The test item generation device 100 generates test items used in a test executed by 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 any one of the CPU cores, and some tasks require access to a shared resource 203 described later. The order in which a plurality of tasks are executed is referred to as a “task execution sequence”. In the present embodiment, 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 generation device)
FIG. 1 is a diagram illustrating a hardware configuration of the test item generation device 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 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 generated test item. The interface 104 is an input / output port for electronic data, and exchanges information between the test item generation device 100 and another device. 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 source code of a program, a design document, reverse engineering information of a CPU that executes 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 generation device)
FIG. 2 is a diagram illustrating a functional configuration of the test item generation device 100. Each function illustrated in FIG. 2 is realized by the CPU 101 executing a program stored in the ROM 102. The test item generation device 100 includes, as its functions, a correspondence information unit 111, a specific information unit 112, an order information unit 113, and a test item generation unit 114. In the RAM 103, 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 are provided. 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 to be executed. 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 specific information unit 112 analyzes the input information 6 and specifies which of the tasks included in the input information 6 is a task that accesses a shared resource 203 described later. Then, specific information indicating the specified task is generated. The specific information generated by the specific information section 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 the tasks executed by the same CPU core. Then, it generates order information indicating the execution order of the tasks executed by the same CPU core, which is the specified information. The order information generated by the order information unit 113 is stored in the order information storage area 123. The order information may indicate an 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 test items 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 items 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に間接的にアクセスするタスクも特定する。また、間接的なアクセスはタスクの呼び出し回数を指定することで、検索の範囲を限定してもよい。
All of the correspondence information section 111, the specific information section 112, and the order information section 113 are easy to process when the source code is the input information 6. When a design document or a test document is used as the input information 6, the correspondence information section 111, the specific information section 112, and the order information section 113 perform a search equivalent to the source code by utilizing lexical analysis or the like. Further, in the analysis of the document, the lexical analysis can be made unnecessary according to the specification of the document format.
The specific information unit 112 analyzes the source code and specifies a task that accesses the shared resource 203. 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. A task that indirectly accesses 203 is also specified. For indirect access, the range of search may be limited by designating 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. 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, and is, for example, one of an area of the RAM 205, a register of a CPU provided in the ECU 200, an actuator, a sensor, and a communication bus (not shown). It is. The test item input unit 206 is an input / output port for electronic data, and receives a test item generated by the test item generation device 100.

(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 showing a functional configuration of the ECU 200. Each function illustrated 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 device 100 at the test item input unit 206. ECU 200 stores the received test item in test execution data storage area 215. The ECU 200 also stores the check logic for checking the execution result of the test item in the test execution data storage area 215. This check logic may be created by the operator or the test item generation device 100.

ECU200は、通常モードと動作検証モードの2つの動作モードを有する。ECU200は、ユーザ3により操作されるモード切替部213の動作指令により、通常モードと動作検証モードのいずれかが有効になる。通常モードが有効な場合は通常モード部211がECU200の動作を制御し、動作検証モードが有効な場合は動作検証モード部212がECU200の動作を制御する。
通常モード部211は、ECU200が備える不図示のセンサ、または不図示の通信インタフェースからの入力に基づき各種演算処理を行う。動作検証モード部212は、テスト実行データ格納領域215に格納されたテスト項目を構成する複数のタスク実行順列のそれぞれを順次実行し、その実行結果をチェックロジックと照合する。動作検証モード部212は、照合結果を不図示の記憶部に格納し外部から照合結果にアクセス可能に構成してもよい。また動作検証モード部212は、ECU200またはECU200が接続される機器が備える報知部、たとえばスピーカやライトを用いて照合結果を報知してもよい。
The ECU 200 has two operation modes: a normal mode and an operation verification mode. The ECU 200 activates one of the normal mode and the operation verification mode according to an 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) provided 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 compares the execution result with the check logic. The operation verification mode unit 212 may be configured to store the collation result in a storage unit (not shown) and access the collation result from outside. In addition, the operation verification mode unit 212 may notify the collation result using a notification unit included in the ECU 200 or a 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 illustrating 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 shown 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 or not each task accesses the shared resource 203. The source code 4001 includes information on the CPU cores on which each task is executed, and information on the order in which each task is executed on each CPU core. Note that the execution order of tasks executed by different CPU cores may be changed each time the execution is performed, and the source code 4001 describes only the execution order of tasks executed by the same CPU core. .

テスト項目生成装置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 to the test item generation device 100 as the input information 6, the correspondence information unit 111 analyzes the source code 4001 and specifies 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, it is specified that the tasks of f1, f3, and f5 are executed by the first core 201, and the tasks of f2, f4, and f6 are executed by the second core 202.
The specific information unit 112 analyzes the source code 4001 and, as indicated by the reference numeral 4008, finds that among the tasks f1 to f6 included in the test items, 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 specifies, as indicated by reference numeral 4010, order information indicating the execution order of tasks executed by the same CPU core. Although FIG. 5 shows the execution order of tasks for each CPU core, 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 the 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 indicated by reference numerals 4008, 4009, and 4010. The test item generation unit 114 adapts the execution order of the plurality of tasks in the specified CPU core, and interchanges the execution order of the tasks f3 and f4 accessing the shared resources 203 respectively executed by different CPU cores. 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. As a result, 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 generation unit)
In the example shown in FIG. 5, since there are only two tasks for 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 tasks f2, f3, f5, and f7 are executed by the first core 201, the tasks f4 and f6 are executed by the second core 202, and the f2 to f6 access the shared resource 203, the test item generation unit The test items generated by 114 will be described. Here, it is assumed that a task with a smaller number is executed in the same CPU core. In the following, the order in which a task and an execution sequence to be described later are executed is expressed using a right arrow “→”. For example, the execution of the task f3 after the task f2 is represented 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 the tasks that access the shared resource 203 are executed for each CPU core, and generates an execution sequence. The execution sequence is a task executed in the same CPU core, and is a task in which a plurality of tasks accessing the shared resource 203 are arranged in the execution order of the task indicated by the order information stored in the order information storage area 123. It is. Here, the generated execution sequences are referred to as α and β. The same number of 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 referred to as α0 (f2, f3, f5). Similarly, the execution sequence β is β0 (f4, f6).

これ以降では、図6を参照しながらテスト項目生成部114がタスク実行順列を生成する手順の説明を続ける。
次にテスト項目生成部114は、生成した実行系列をすべて用いた順列、すなわち生成した実行系列をすべて用いて並び替えができる全ての順序を作成する。この例では、図6の未展開の欄に示すように、α→βとβ→αの2つが作成される。以下では、この作成した順列のそれぞれを「順列要素」と呼ぶ。
Hereinafter, the procedure in which the test item generation unit 114 generates 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 the orders that can be rearranged using all the generated execution sequences. In this example, as shown in the undeveloped column of FIG. 6, two items 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, and increases the permutation elements that are variations of the execution order. For example, the development of α means that the head task among tasks constituting α is separated, and the number of separated tasks is added to the name of α. That is, α0 (f2, f3, f5) is expanded to f2 → α1 (f3, f5). Since the elements constituting the permutation elements are increased by this expansion, further rearrangement becomes possible. Note that, here, the expansion of the permutation element is also referred to as a “permutation element”, but may be referred to as an “expansion sequence”. Also, here, an example is shown in which the first task forming the execution sequence is separated, but the last task forming 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, as one of the permutation elements, α → β, as shown in the column of “α expansion first time” in FIG. 6 by expanding α once, f2 → α1 (f3, f5) → β, f2 → β → α1 (f3, f5). When α is further expanded, the permutation elements α → β are expanded into a total of three as shown in the “α second expansion” column in FIG. 6. At this time, α2 (f5) obtained by expanding α0 (f2, f3, f5) twice is f5 itself, and cannot be expanded any further. Therefore, the next step is to expand β.

順列要素α→βはさらに、βを展開することにより図6の「β展開1回目」の欄に示すように合計で5つに展開される。このとき、β0(f4、f6)が1回展開されたβ1(f6)はf6そのものであり、これ以上展開できない。そのため、以上でα→βの順列要素の展開処理は終了である。
テスト項目生成部114は、上述した順列要素α→βの展開と同様に順列要素β→αを展開する。この処理は順列要素α→βの展開と同様なので、説明および図6における例示を省略する。
The permutation elements α → β are further expanded to β to develop a total of five as shown in the column of “first β expansion” in FIG. At this time, β1 (f6) obtained by expanding β0 (f4, f6) once is f6 itself, and cannot be further developed. Thus, the expansion processing 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 processing is the same as the expansion 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 manner, and is set as a task execution permutation. The execution order of the tasks that do not access the shared resource 203 is any one in accordance with the execution order in the same CPU core. For example, if the execution order excluding f7 is f2 → f3 → f5 → f4 → f6, since the execution order of f7 is after f5 executed by the same CPU core, insert f5 immediately after f5, f4, and f6. be able to. That is, in this case, it is possible to generate three execution orders depending on the insertion place of f7, but only one of the three is adopted to be a task execution sequence, that is, one of the test items. This is because a change in the execution order of tasks that do not access the shared resource 203 does not affect the test.

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

続くステップS303では、実行系列を生成する。実行系列とは前述のとおり、同一のCPUコアにおいて実行されるタスクであって、共有資源203にアクセスする複数のタスクを、順序情報格納領域123に格納された順序情報が示すタスクの実行順番に並べたものである。すなわちステップS303ではCPUコアと同数の実行系列が生成される。続くステップS304では、実行系列の順列、すなわち複数の順列要素を作成する。ここで作成される順列要素の数は、ステップS303において生成された実行系列の数の階乗である。異なるCPUコアで実行されるタスクの実行の順番に制限はないからである。図6の例では、α→βとβ→αの作成に相当する。   In a succeeding step S303, an execution sequence is generated. As described above, the execution sequence is a task that is executed by the same CPU core, and a plurality of tasks that access the shared resource 203 are stored in the execution order of the tasks 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 number of CPU cores are generated. In a succeeding step S304, a permutation of the execution sequence, that is, a plurality of permutation elements is created. The number of permutation elements created here is a 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 a succeeding step S305, a first execution sequence, for example, α is set as a development target. In a succeeding step S306, the first task is developed from the execution sequence to be developed. In the example of FIG. 6, this corresponds to developing α0 (f2, f3, f5) into f2 → α1 (f3, f5). In a succeeding step S307, a permutation element including the order permutation accompanying the expansion in the 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 not possible, the process proceeds to step S309. In the example of FIG. 6, after the second α-expansion or the first β-expansion, the process proceeds to step S309.

ステップS309では、未展開の実行系列が存在するか否かを判断する。未展開の実行系列が存在すると判断する場合はステップS310に進み、未展開の実行系列が存在しないと判断する場合はステップS311に進む。ステップS310では未展開の実行系列のいずれかを展開対象に設定し、ステップS306に戻る。ステップS311では、共有資源203にアクセスしていないタスクを順列要素に追加し、タスク実行順列とする。これにより、異なるCPUコアでそれぞれ実行され、かつ共有資源203にアクセスするタスクf2、f4、f6とタスクf3、f5の実行順番の全ての組み合わせについて、タスク実行順列を生成することができる。続くステップS312では、生成したタスク実行順列をテスト項目格納領域124に格納して図7のフローチャートを終了する。   In step S309, it is determined whether or not there is an unexpanded 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 unexpanded execution sequence, the process proceeds to step S311. In step S310, one of the undeployed execution sequences is set as a development 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, and is set as a task execution permutation. As a result, task execution sequences 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 a succeeding step S312, the generated task execution sequence is stored in the test item storage area 124, and the flowchart of FIG. 7 ends.

上述した第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, the following operation and effect can be obtained.
(1) An arithmetic device including a plurality of CPU cores for executing a plurality of tasks and a shared resource 203 accessed by the plurality of CPU cores, that is, a test item generation method for generating test items in the ECU 200 includes the following test items: The process is executed by the generation device 100. This test item generation method includes the following four items. The first is to specify a task that accesses the shared resource 203 among a plurality of tasks executed by the specifying information unit 112. Second, a plurality of tasks executed by the correspondence information unit 111 are classified for each CPU core to be executed. Third, the order of execution of a plurality of classified tasks in the CPU core, which is executed by the order information unit 113, is specified. Fourth, two or more tasks that match the execution order of a plurality of tasks in the specified CPU core and are executed by the test item generation unit 114 and that access the shared resources 203 that are respectively executed by different CPU cores Is to generate a test item by generating a plurality of task execution permutations in which the execution order of the task is replaced with each other.
Therefore, since the test items in which the execution order of the task for accessing the shared resource 203 is replaced are created, an appropriate test item corresponding to the multi-core can be created.

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

(3)テスト項目生成部114によるテスト項目生成は以下の5つを含む。第1は、同一のCPUコアにおいて実行されるタスクを、特定されたCPUコア内における実行順番に並べた実行系列を生成すること(図7のステップS303)である。第2は、複数の実行系列の順列を生成すること(図7のステップS304)とである。第3は、順列のそれぞれについて、実行系列を構成する先頭または末尾のタスクを実行系列から分離させることにより実行系列を展開し、展開された実行系列および分離されたタスクの実行順番を保ったまま他の実行系列および他のタスクとの順番をすべて入れ替えて生成される、1または複数の展開列を生成すること(図7のステップS306、S307)である。第4は、展開列のそれぞれについて、実行系列が展開できなくなるまで展開列の生成を繰り返すことと(図7のステップS308が否定判断されるまで繰り返し)である。第5は、繰り返しにより生成された複数の、実行系列の展開ができない展開列のそれぞれをタスク実行順列とすること(図7のステップS312)である。
そのため、タスクの数が多く組み合わせが膨大であっても、実行系列の順列の生成と展開列の生成の繰り返しにより、漏れのないテスト項目を作成することができる。
(3) The 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 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 expanded execution sequence and the execution order of the separated tasks are maintained. This is to generate one or a plurality of expanded sequences that are generated by changing the order of all other execution sequences and other tasks (steps S306 and S307 in FIG. 7). Fourth, generation of an expanded sequence is repeated until the execution sequence cannot be expanded for each of the expanded sequences (repeated until a negative determination is made in step S308 in FIG. 7). Fifth, each of a plurality of expanded sequences generated by repetition, in which the execution sequence cannot be expanded, is set as the 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 repeatedly generating the permutation of the execution sequence and generating the expansion sequence.

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

(5)演算装置、すなわちECU200は、テスト項目を構成する複数のタスク実行順列のそれぞれを順次実行する動作検証モード部212と、動作検証モード部212を動作させるモード切替部213とを備える。そのためECU200は、動作モードを切り替えてテストを実行することができる。 (5) The arithmetic device, that is, the ECU 200, includes an operation verification mode unit 212 that sequentially executes each of a plurality of task execution permutations constituting a 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 previously, and when the newly input information 6 matches the input information 6 that has been input previously. The analysis results stored in the respective storage areas may be output to the test item generation unit 114. According to the first modification, when there is no change in the input information 6, the analysis can be omitted. The effect of this modification is that the information input to the correspondence information section 111, the specific information section 112, and the order information section 113 are different from each other, and when only some of them are changed, This is remarkable 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 a change point of the input information 6, refers to the correspondence information stored in the correspondence information storage area 121, and converts the correspondence information relating to the changed part of the input information 6 to a change point test item. Output to the generation unit 134. The specific information change point analysis unit 132 analyzes the change of the input information 6, refers to the specific information stored in the specific information storage area 122, and converts the specific information related to the changed part of the input information 6 into a change test item. Output to the generation unit 134. The sequence information change point analysis unit 133 analyzes the change point of the input information 6, refers to the sequence information stored in the sequence information storage area 123, and changes the sequence information relating to the changed part of the input information 6 to a change point test item. 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 output of the correspondence information change point analysis unit 131, the specific information change point analysis unit 132, and the order information change point analysis unit 133, and the test items stored in the test item storage area 124. To generate only those 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, when the input information 6 is slightly changed, the processing of the test item generation device 100 can be reduced.

テスト項目生成装置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). Further, the test item generating apparatus 100 may use the interface 104 to read a program from another apparatus via a medium that can be used by the interface 104 when necessary. Here, the medium refers to, for example, a storage medium detachable from an input / output interface, or a communication medium, that is, a network such as a wired, wireless, or optical network, or a carrier or a digital signal that propagates through the network. In addition, some or all of the functions realized by the program may be realized by a hardware circuit or an FPGA.
The above-described embodiments and modifications may be combined with each other.
Although various embodiments and modified examples have been described above, the present invention is not limited to these contents. Other embodiments that can be considered within 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 … テスト実行データ格納領域
100: test item generation device 111: correspondence information section 112: specific information section 113: order information section 114: test item generation section 124: test item storage area 201: first core 202: second core 203: shared resource 212: operation Verification mode unit 213 ... mode switching unit 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 executing a plurality of tasks and a shared resource accessed by the plurality of CPU cores,
A computer identifying, among the plurality of tasks, a task that accesses the shared resource;
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 classified tasks;
A task in which the computer conforms to the execution order of the plurality of tasks in the specified CPU core, and the execution order of two or more tasks each accessing the shared resource executed by a different CPU core is switched. Generating a 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 method, a test item generation method for generating a task execution sequence for all combinations of execution orders of tasks that are executed by different CPU cores and that access the shared resources.
請求項1に記載のテスト項目生成方法において、
前記テスト項目の生成は、
同一のCPUコアにおいて実行されるタスクを前記実行順番に並べた実行系列を、前記複数のタスクの全てに基づき複数生成することと
前記複数の実行系列の順列を生成することと、
前記順列のそれぞれについて、前記実行系列を構成する先頭または末尾のタスクを前記実行系列から分離させることにより前記実行系列を展開し、前記展開された実行系列および前記分離されたタスクの前記実行順番を保ったまま他の実行系列および他のタスクとの順番をすべて入れ替えて生成される、1または複数の展開列を生成することと、
前記展開列のそれぞれについて、前記実行系列が展開できなくなるまで前記展開列の生成を繰り返すことと、
前記繰り返しにより生成された複数の、前記実行系列の展開ができない前記展開列のそれぞれを前記タスク実行順列とすることと、を備えるテスト項目生成方法。
The test item generation method according to claim 1,
The generation of the test item includes:
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; and generating a permutation of the plurality of execution sequences.
For each of the permutations, expand the execution sequence by separating the first or last task constituting the execution sequence from the execution sequence, and change the execution order of the expanded execution sequence and the separated tasks. Generating one or more expanded sequences, which are generated by changing the order of all other execution sequences and other tasks while maintaining them,
For each of the expansion sequences, repeating generation of the expansion sequence until the execution series can not be expanded,
Setting each of the plurality of expanded sequences generated by the repetition, in which the execution sequence cannot be expanded, as the task execution sequence.
請求項1に記載のテスト項目生成方法により生成されたテスト項目と、前記テスト項目を確認するチェックロジックとが格納される記憶部を備える演算装置。   An arithmetic unit including a storage unit that stores a test item generated by the test item generation method according to claim 1 and check logic for confirming the test item. 請求項4に記載の演算装置において、
前記テスト項目を構成する複数のタスク実行順列のそれぞれを順次実行する動作検証モード部と、
前記動作検証モード部を動作させるモード切替部とをさらに備える演算装置。
The arithmetic unit according to claim 4,
An operation verification mode unit for sequentially executing each of the plurality of task execution permutations constituting the test item,
An arithmetic unit 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 JP2018032062A (en) 2018-03-01
JP6637394B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7333251B2 (en) 2019-11-29 2023-08-24 日立Astemo株式会社 electronic controller
JP7493405B2 (en) * 2020-07-21 2024-05-31 日立Astemo株式会社 Test method and computing device
JP7706020B2 (en) * 2022-06-09 2025-07-10 Astemo株式会社 Verification system and verification method

Family Cites Families (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 Real-time verification device and method for parallel program
WO2009114645A1 (en) * 2008-03-11 2009-09-17 University Of Washington Efficient deterministic multiprocessing

Also Published As

Publication number Publication date
JP2018032062A (en) 2018-03-01
WO2018037787A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
KR102165943B1 (en) Machine-learning design enablement platform
CN113778864B (en) A test case generation method and device, electronic device and storage medium
CN112597718B (en) Verification method, verification device and storage medium for integrated circuit design
JP6637394B2 (en) Test item generation method, arithmetic unit
CN111178512A (en) Device operation neural network test method and device
KR102338365B1 (en) Layout decomposition method and layout decomposition system
CN118171609A (en) A critical path delay optimization method based on logic netlist
JPH07160744A (en) Autonomous evolution hardware design system
JP2023552048A (en) Neural architecture scaling for hardware acceleration
JP2006139427A (en) Data flow graph same subgraph detection device, high-level synthesis device, data flow graph same subgraph detection method, data flow graph same subgraph detection control program, and readable recording medium
US7971163B2 (en) Property generating apparatus, property generating method and program
CN120994251B (en) Micro-structure conflict-oriented instruction generation method and device and instruction generator
Lin et al. Automatic compositional verification of timed systems
CN116911219A (en) Method, electronic device and storage medium for simulation of logic system design
CN112464636B (en) Constraint file comparison method and device, electronic equipment and storage medium
CN115828805A (en) Method, apparatus and storage medium for split logic system design
US20110072404A1 (en) Parallel Timing Analysis For Place-And-Route Operations
JP5328447B2 (en) High-level synthesis apparatus and high-level synthesis method, semiconductor integrated circuit manufacturing method, control program, and readable storage medium
JP6147094B2 (en) Information processing apparatus, information processing method, and program
CN118428312B (en) A method for processing random constraint problems, an electronic device and a storage medium
CN118350322B (en) Method, device and storage medium for simulation logic system design
CN116992798B (en) Quantum chip design scheduling method, system, electronic equipment and storage medium
KR102758477B1 (en) Method and apparatus for system verification based on reinforcement learning
CN114691095B (en) Workflow augmentation method and related equipment
CN121072795A (en) Quantum bit calibration method and device, quantum chip and quantum computer

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250