Information processing system and information processing method

The information processing system optimizes software testing by selectively registering and reading products based on conditions, addressing inefficiencies in large-scale software development testing.

JP7760979B2Active Publication Date: 2025-10-28AUTONETWORKS TECH LTD +2
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022154982
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-09-28
Publication Date
2025-10-28
Estimated Expiration
2042-09-28

AI Technical Summary

Technical Problem

As software development scales increase, the time required for testing becomes inefficient due to the growing number of tests and larger source file sizes, leading to longer execution times and potential storage capacity issues.

Method used

An information processing system that integrates multiple sources to generate products for testing, registering them in storage only if specific conditions are met, such as file size and safety standards, and reading from storage based on similar conditions to optimize test execution time.

Benefits of technology

This approach enhances test efficiency by selectively registering and reading products, reducing overall test execution time and optimizing storage usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007760979000001
    Figure 0007760979000001
  • Figure 0007760979000002
    Figure 0007760979000002
  • Figure 0007760979000003
    Figure 0007760979000003
Patent Text Reader

Abstract

To provide an information processing system and an information processing method that execute a test more efficiently.SOLUTION: In an information processing system 1 that supports software development by running a test on a task generated on the basis of a plurality of sources included in the software, an information processor includes a control unit that integrates a plurality of sources that forms a basis of the generated task, generates a product, and uses it to test the task. The control unit registers, when a registration condition is satisfied, the product in storage and does not register, when the registration condition is not satisfied, the product in the storage. The registration condition is at least one of the following: file size of the product is less than a predetermined amount, a safety standard exceeds a predetermined level, or a difference value obtained by subtracting a total time of registration time to register the product in the storage and read time to read the product from the storage from integration time to integrate the plurality of sources exceeds a predetermined value.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an information processing system and an information processing method. [Background technology]

[0002] Traditionally, software development has used methods known as continuous integration (CI) and continuous delivery (CD). Continuous deployment (CD) is sometimes used instead of continuous delivery. These development methods aim to reduce the number of large-scale revision events and the cost of revisions by frequently and automatically verifying software during development.

[0003] For example, in software development, multiple developers each create source code, and the operation of each source code is checked. However, when multiple source codes are integrated into a single piece of software and run, there is a risk of errors occurring. In this case, it becomes necessary to verify which combination of source codes caused the error, one by one, which can make the operation test take a long time.

[0004] In a development method based on CI / CD, for example, source code created by multiple developers is stored in a repository on the cloud (pushed to the repository). Then, a source control tool (also known as SCM: Source Code Management) such as GitHub (registered trademark) automatically creates tasks based on the source code stored in the repository each time the source code is updated (build tasks). The tasks are automatically tested by a CI / CD tool such as Jenkins (registered trademark).

[0005] In this way, by repeating integration in small cycles and frequently checking for integration errors, large-scale rework can be reduced.

[0006] Patent Document 1 discloses a technology for selecting test cases to be executed based on the importance of the test and the execution time of the test. The technology in Patent Document 1, for example, does not execute test cases with low importance, thereby reducing the time required for automated testing of CI.

[0007] Patent Document 2 discloses a technology in which the results of the previous test are stored in an execution result database, and when a test is performed, the execution result database is referenced, and if the results of the previous test are OK and there are no changes between the file related to the previous test and the file related to the current test, the current test is skipped.The technology in Patent Document 2 can omit test-related processing depending on the judgment result, thereby shortening the test execution time. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-134643 [Patent Document 2] International Publication No. 2020 / 166345 Summary of the Invention [Problem to be solved by the invention]

[0009] Software development is becoming larger in scale every year, and as a result, the time required for testing is also increasing. For this reason, when adopting a development method based on CI / CD, there is a demand for more efficient testing.

[0010] Here, when adopting a method as in Patent Document 2 in which the results of the previous test are stored in an execution result database and when a new test is executed, the results of the previous test are referenced to determine whether or not to skip the new test, it is necessary to create the execution result database.

[0011] However, as software development scale increases, the number of types of tests to be executed increases and the source file size used for each test increases. As a result, creating an execution result database like the one described above may take longer than executing the tests directly without stepping them, and this may result in failure to improve the efficiency of test execution.

[0012] In view of the above problem, an object of the present disclosure is to provide an information processing system and an information processing method that can execute tests more efficiently. [Means for solving the problem]

[0013] The information processing system disclosed herein is an information processing system that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and is equipped with a control unit that integrates the multiple sources that form the basis of the task to generate a product and executes tests of the task using the product, and the control unit registers the product in storage if registration conditions are met, and does not register the product in storage if the registration conditions are not met. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value.

[0014] The information processing system disclosed herein is an information processing system that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and includes a control unit that integrates the multiple sources that form the basis of the task to generate a product, registers the product in storage, and executes tests of the task using the product, and when the task is input to the control unit, if a read condition is met, the control unit reads from the storage the product that was generated when the task was previously input to the control unit, and if the read condition is not met, generates a new product based on the task that has been input to the control unit this time. Here, the read condition is at least one of the following first to third read conditions. First reading condition: The file size of the generated file is less than a predetermined amount. Second reading condition: The safety standard required for the product exceeds a predetermined level. A third read condition is that the difference obtained by subtracting the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

[0015] The information processing method disclosed herein is an information processing method that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and includes a first step of integrating the multiple sources that form the basis of the task to generate a product, a second step of executing tests of the task using the product, and a third step of registering the product in storage if registration conditions are met, and not registering the product in storage if the registration conditions are not met. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value. [Effects of the Invention]

[0016] According to the present disclosure, tests can be performed more efficiently. [Brief explanation of the drawings]

[0017] [Figure 1] FIG. 1 is a diagram illustrating an example of an information processing system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of software according to the embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of the internal configuration of the information processing device according to the embodiment. [Figure 4] FIG. 4 is a table showing an example of version information according to the embodiment. [Figure 5] FIG. 5 is a table showing an example of test result information according to the embodiment. [Figure 6] FIG. 6 is a table showing an example of file size information according to the embodiment. [Figure 7] FIG. 7 is a table showing an example of safety standard information according to the embodiment. [Figure 8] FIG. 8 is a flowchart showing an example of an information processing method according to the embodiment. [Figure 9] FIG. 9 is a subroutine showing details of the task input process according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0018] [Description of the embodiments of the present disclosure] The gist of the present disclosure includes the following configurations.

[0019] (1) The information processing system disclosed herein is an information processing system that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and includes a control unit that integrates the multiple sources that form the basis of the task to generate a product and executes tests of the task using the product, and the control unit registers the product in storage if registration conditions are met, and does not register the product in storage if the registration conditions are not met. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value.

[0020] By configuring in this way, rather than registering products uniformly, products are registered depending on whether or not the registration conditions are met, thereby making it possible to more efficiently use the time required for test execution.

[0021] (2) In the information processing system of (1), the system further includes a judgment unit that judges whether the registration conditions are met, and the control unit decides whether to register the product in the storage based on the judgment result of the judgment unit.

[0022] (3) In the information processing system of (2), when the free space of the storage is a first capacity, the judgment unit determines whether the registration condition is satisfied by setting the predetermined amount of the first registration condition to a first predetermined amount, setting the stage of the second registration condition to a first stage, or setting the predetermined value of the third registration condition to a first predetermined value; when the free space of the storage is a second capacity smaller than the first capacity, the judgment unit determines whether the registration condition is satisfied by setting the predetermined amount of the first registration condition to a second predetermined amount smaller than the first predetermined amount, setting the stage of the second registration condition to a second stage higher than the first stage, or setting the predetermined value of the third registration condition to a second predetermined value larger than the first predetermined value.

[0023] The less free storage space there is, the stricter the registration conditions become, limiting the registered products to those with higher priority, thereby enabling more effective use of the remaining storage space.

[0024] (4) In any of the information processing systems (1) to (3), when the registration conditions are met, the control unit deletes the product whose stage is a first stage and which is already registered in the storage, and newly registers the product whose stage is a second stage higher than the first stage in the storage.

[0025] By configuring in this way, it is possible to register products with higher priority in the storage.

[0026] (5) In any of the information processing systems (1) to (4), the software is software executed by an onboard device installed in a vehicle, and the safety standard is ASIL (Automotive Safety Integrity Level) of ISO26262.

[0027] (6) In any of the information processing systems (1) to (5), when the task is input to the control unit, if the read condition is met, the control unit reads from the storage the product generated when the task was previously input to the control unit, and if the read condition is not met, generates a new product based on the task currently input to the control unit. Here, the read condition is at least one of the following first to third read conditions. First reading condition: The file size of the generated file is less than a predetermined amount. Second reading condition: The safety standard required for the product exceeds a predetermined level. A third read condition is that the difference obtained by subtracting the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

[0028] With this configuration, the time required for test execution can be made more efficient by reading out the products depending on whether or not the readout conditions are met, rather than reading out the products uniformly.

[0029] (7) The information processing system disclosed herein is an information processing system that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and includes a control unit that integrates the multiple sources that form the basis of the task to generate a product, registers the product in storage, and executes tests of the task using the product, and when the task is input to the control unit, if a read condition is met, the control unit reads from the storage the product that was generated when the task was previously input to the control unit, and if the read condition is not met, generates a new product based on the task that is currently input to the control unit. Here, the read condition is at least one of the following first to third read conditions. First reading condition: The file size of the generated file is less than a predetermined amount. Second reading condition: The safety standard required for the product exceeds a predetermined level. A third read condition is that the difference obtained by subtracting the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

[0030] With this configuration, the time required for test execution can be made more efficient by reading out the products depending on whether or not the readout conditions are met, rather than reading out the products uniformly.

[0031] (8) The information processing method disclosed herein is an information processing method that supports the development of software by executing tests of tasks generated based on multiple sources included in the software, and includes a first step of integrating the multiple sources that form the basis of the task to generate a product, a second step of executing tests of the task using the product, and a third step of registering the product in storage if a registration condition is met, and not registering the product in storage if the registration condition is not met. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value.

[0032] By configuring in this way, rather than registering products uniformly, products are registered depending on whether or not the registration conditions are met, thereby making it possible to more efficiently use the time required for test execution.

[0033] 1. Details of the Embodiments of the Present Disclosure Hereinafter, details of embodiments of the present disclosure will be described with reference to the drawings.

[0034] [1.1 Overall configuration of information processing system] FIG. 1 is a diagram showing an example of the configuration of an information processing system 1 according to an embodiment. The information processing system 1 is a system that supports the development of software SW1.

[0035] The software SW1 is executed, for example, by a device (hereinafter referred to as an "on-vehicle device") mounted on a vehicle such as an automobile. More specifically, the software SW1 is used in an on-vehicle ECU (Electronic Control Unit). For example, the software SW1 is used in a central ECU or integrated ECU that has the function of managing multiple ECUs. Such software SW1 tends to involve large-scale development, making development support by the information processing system 1 particularly useful.

[0036] The information processing system 1 includes an information processing device 10, a repository 20, a test tool 30, a test environment 40, and a storage 50. The information processing system 1 may be realized by a single device (e.g., a server device) concentrated in one location, or may be realized by multiple devices distributed across multiple locations with the units 10, 20, 30, 40, and 50 connected to each other so as to be able to communicate with each other via a network such as the Internet.

[0037] 1.2 Software and Tasks Fig. 2 is a diagram illustrating an example of software SW1 according to an embodiment. The software SW1 and task Tx will be described with reference to Fig. 2. The software SW1 includes multiple components X1, X2, and X3. The component X1 includes multiple modules a1, a2, and a3, and the component X2 includes multiple modules b1 and b2.

[0038] These components X1, X2, and X3 and modules a1, a2, a3, b1, and b2 are collectively referred to as "sources." That is, software SW1 includes multiple sources. These sources may be data written in a specific programming language called source code, or may be data written in binary code after the source code is converted into machine language.

[0039] These sources are created individually, for example, on multiple terminals (referred to as a terminal group 60) operated by multiple developers (suppliers). The information processing system 1 performs operation tests on the individual sources and on the product Px generated by integrating the multiple sources. Integrating multiple sources is sometimes called "merging" or "building."

[0040] For example, the product Px generated by integrating modules a1, a2, and a3 is a "component X1." Other examples of the product Px include the product Px generated by integrating modules a1 and a2, or the product Px generated by integrating components X1 and X2.

[0041] Here, a test item executed in the information processing system 1 is referred to as a task Tx. A task Tx is also referred to as a "job task."

[0042] Task Tx includes any one of the following test items (1) to (4). (1) A test item that verifies whether one module (e.g., module a1) operates independently. (2) A test item that verifies whether a product Px, which is an integration of multiple modules (e.g., module a1 and module a2) included in one component, works. (3) A test item that verifies whether a component (e.g., component X1) works, that is, whether the product Px that integrates all modules included in the component (e.g., modules a1, a2, and a3) works. (4) A test item that verifies whether a product Px that integrates multiple components (for example, component X1 and component X2) works.

[0043] In other words, a "product Px" is data generated by integrating multiple sources, and a "task Tx" is a test item for verifying whether a single source or product Px operates normally.

[0044] [1.3 Repository] See Figure 1. The repository 20 is a database constructed on a cloud, realized by, for example, a mass storage device. The repository 20 is connected to a group of terminals 60 via a network. Developers send multiple sources created on the group of terminals 60 to the repository via the network. The repository 20 stores the received multiple sources.

[0045] The repository 20 is provided with a source code management tool (also called SCM: Source Code Management) such as GitHub. The SCM automatically generates tasks Tx based on multiple sources stored in the repository 20. The generated tasks Tx are provided from the repository 20 to the test tool 30.

[0046] [1.4 Testing Tools] See Fig. 1. The test tool 30 is a CI / CD tool such as Jenkins or CircleCI (registered trademark), and is realized by a computer device including a processor and a memory. The test tool 30 manages a queue 31 in which multiple tasks Tx wait for test execution. Specifically, the test tool 30 automatically outputs the tasks Tx accumulated in the queue 31 to the information processing device 10 in sequence.

[0047] The queue 31 is a memory that stores multiple tasks Tx in a first-in, first-out (FIFO) manner, for example. In the example of Fig. 1, four tasks Tx (referred to as T1, T2, T3, and T4, respectively, when particularly distinguishing between them) are stored in the queue 31.

[0048] 1 shows a state in which task T4 output from the repository 20 is stored at the position (tail) of the queue 31 where task T1, task T2, and task T3 are already stored in this order. In this case, the test tool 30 outputs the tasks Tx stored in the queue 31 to the information processing device 10 in the order of tasks T1, T2, T3, and T4.

[0049] [1.5 Information processing device] 3 is a diagram showing an example of the internal configuration of the information processing device 10 according to the embodiment. The information processing device 10 is, for example, a computer device (for example, a laptop PC) including a processor and a memory, and is also called a "node."

[0050] The information processing device 10 is a device for executing, when a task Tx is input from the queue 31, a first process of integrating multiple sources that form the basis of the task Tx to generate a product Px, a second process of testing the task Tx using the product Px, a third process of storing the product Px in storage 50, and a fourth process of reading the product Px from storage 50.

[0051] The information processing device 10 includes a control unit 11, a determination unit 12, a storage unit 13, a communication unit 14, and a reading unit 15. These units 11 to 15 are electrically connected to each other via a bus.

[0052] The control unit 11 includes a circuit configuration such as a processor. Specifically, the control unit 11 includes one or more central processing units (CPUs). The control unit 11 reads out computer programs stored in the storage unit 13 and executes various calculations and controls.

[0053] The control unit 11 may include a processor in which a predetermined program is written in advance. For example, the control unit 11 may be an integrated circuit such as a CPLD (Complex Programmable Logic Device), an FPGA (Field-Programmable Gate Array), or an ASIC (Application Specific Integrated Circuit). In this case, the control unit 11 executes various calculations and controls based on the program written in advance.

[0054] The determination unit 12 includes a circuit configuration such as a processor, similar to the control unit 11. The determination unit 12 reads out a computer program stored in the storage unit 13 and executes various calculations and controls. Note that the determination unit 12 may be an integrated circuit, similar to the control unit 11. In this case, the determination unit 12 executes various calculations and controls based on a program written in advance.

[0055] 3, the determination unit 12 is shown as being separate from the control unit 11. However, the determination unit 12 may be integrated with the control unit 11. For example, the determination unit 12 may be a processor that shares an area with the control unit 11. Furthermore, the determination unit 12 may be included in a computer device that is connected between the information processing device 10 and the storage 50 and is separate from the information processing device 10.

[0056] The storage unit 13 has a volatile memory and a nonvolatile memory, and stores various types of data. The volatile memory includes, for example, a RAM (Random Access Memory). The nonvolatile memory includes, for example, a flash memory, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a ROM (Read Only Memory). The storage unit 13 stores, for example, computer programs and various parameters in the nonvolatile memory.

[0057] The communication unit 14 is a communication interface that communicates with the repository 20, the test tool 30, and the storage 50. The communication unit 14 may communicate with these units 20, 30, and 50 wirelessly via a network or may communicate wired via a communication line. When performing wireless communication, the communication unit 14 has an antenna.

[0058] The reading unit 15 reads information from a computer-readable recording medium 16. The recording medium 16 is, for example, an optical disc such as a CD or a DVD, or a USB flash memory. The reading unit 15 is, for example, an optical drive or a USB terminal. A computer program and various parameters are recorded on the recording medium 16, and by having the reading unit 15 read the recording medium 16, the computer program and various parameters are stored in the non-volatile memory of the storage unit 13.

[0059] [1.6 Test environment] Referring to Fig. 1, the test environment 40 includes the information processing device 10 and a test set 42. The information processing device 10 executes a test of the task Tx by controlling the test set 42 based on the task Tx output from the queue 31. The information processing device 10 also collects information such as the results of the test of the task Tx executed in the test set 42 (for example, a history indicating the time of execution of the test and whether the test was successful or failed), and outputs the information to the storage 50.

[0060] The test set 42 is a hardware resource that simulates the production environment in which the software SW1 operates. Since the software SW1 is so-called "embedded software" that runs on an in-vehicle device, its operation test requires the use of hardware resources that simulate the production environment, such as the test set 42. Specifically, the test set 42 includes a circuit board 43 and a measurement unit 44.

[0061] The circuit board 43 (also referred to as a development board) is a board that imitates a circuit board (for example, a board mounted on an ECU) that will be incorporated into an in-vehicle device. The circuit board 43 may be the circuit board itself that will be incorporated into the in-vehicle device, or may be a prototype of the circuit board that will be incorporated into the in-vehicle device. The measurement unit 44 is a tool that measures the operation of the circuit board 43. The measurement unit 44 is, for example, a software tool for communication such as CANoe (registered trademark).

[0062] [1.7 Storage] The storage 50 is an auxiliary storage device such as an HDD or SSD. The storage 50 stores result information 51 and judgment information 52. The result information 51 is information obtained as a result of executing a test for a task Tx. The result information 51 includes, for example, a product Px used in the test execution for the task Tx, version information D1, and test result information D2.

[0063] 4 is a table TB1 showing an example of version information D1 according to the embodiment. The version information D1 is information relating to the version of the source at the time when a test of task Tx is executed. The version information D1 is provided from the information processing device 10 to the storage 50, for example, every time the information processing device 10 (specifically, the control unit 11) executes a test of task Tx. The version information D1 is shown as a hash value (i.e., a value uniquely determined for the source) assigned to the source by, for example, the SCM.

[0064] 4, the version of module a1 at test execution time TM1 (e.g., the date and time when the test was executed) is shown as hash Ha1-1, and the version of module a2 at execution time TM1 is shown as hash H2-1. The version of module a1 at execution time TM2 (an execution time closer to the present time) after execution time TM1 is shown as hash Ha1-2, and the version of module a2 at execution time TM1 is shown as hash H2-1.

[0065] That is, at execution time TM2, the version of module a1 has been updated from hash Ha1-1 to hash Ha1-2. In the example of Figure 4, sources other than module a1 have not been updated between execution time TM1 and execution time TM2. Therefore, among the multiple sources, module a1 is the most recently updated source.

[0066] 5 is a table TB2 showing an example of test result information D2 according to the embodiment. The test result information D2 is information linking a task Tx with the test result of the task Tx. The test result includes a test failure (NG) and a test success (OK). Here, a test failure includes, for example, a case where the desired measurement values ​​are not met in the measurement unit 44. Furthermore, a test success includes, for example, a case where all the desired measurement values ​​are met in the measurement unit 44.

[0067] Table TB2 in Fig. 5 stores test results for each of execution times TM1 and TM2. Test result information D2 is provided from the information processing device 10 to the storage 50, for example, every time the information processing device 10 executes a test of task Tx. For example, it is shown that the integration test of modules a1 and a2 failed at execution time TM1 and was successful at execution time TM2. It is shown that the integration test of modules a2 and a3 was successful at execution time TM1 and was not executed at execution time TM2. It is also shown that the integration test of components X3 and X1 failed at both execution times TM1 and TM2.

[0068] The test result information D2 can be used to obtain the results of the most recent test. For example, the most recent test result of the integration test of modules a1 and a2 is a success, and the most recent test result of the integration test of modules a2 and a3 is a success. In contrast, the most recent test result of the integration test of components X3 and X1 is a failure. Furthermore, the test result information D2 can be used to obtain information on how many consecutive test failures have occurred in the past. For example, the most recent integration test of components X3 and X1 has failed two consecutive times.

[0069] The judgment information 52 is information for making various judgments regarding the test execution of the task Tx. The judgment information 52 includes, for example, file size information D3, safety standard information D4, and information regarding the time required to generate, register, and read the product Px.

[0070] 6 is a table TB3 illustrating an example of file size information D3 according to the embodiment. The file size information D3 is information related to the file size of the product Px used in testing the task Tx. The file size information D3 is provided from the information processing device 10 to the storage 50, for example, every time the information processing device 10 executes a test of the task Tx.

[0071] The example in Figure 6 shows that the file size of the product Px (hereinafter referred to as "product a1-a2") generated by integrating multiple modules a1 and a2 at execution time TM1 is 10 [MB], and the file size of the product a1-a2 at execution time TM2 is 12 [MB].

[0072] 7 is a table TB4 illustrating an example of safety standard information D4 according to the embodiment. The safety standard information D4 is information relating to the safety standard required for the source at the time when a test of the task Tx is executed. The safety standard information D4 is provided from the information processing device 10 to the storage 50, for example, every time the information processing device 10 executes a test of the task Tx.

[0073] An example of a safety standard is a safety standard for vehicles, more specifically, automobiles. An example of a safety standard is the ISO26262 Automotive Safety Integrity Level (ASIL). ASIL has multiple stages, such as QM, ASIL-A, ASIL-B, ASIL-C, and ASIL-D, with the required standards becoming stricter in this order. In other words, QM has the lenientest requirements, and ASIL-D has the strictest requirements.

[0074] In the example of Figure 7, the safety standard of module a1 at execution time TM1 is shown as QM, and the safety standard of module a1 at execution time TM2 is shown as ASIL-A. In other words, it shows that the safety standard of module a1 has been raised by one level following the update from execution time TM1 to execution time TM2 (Figure 4).

[0075] For sources other than module a1, there is no update from execution time TM1 to execution time TM2, so there is no change in safety standards. For example, the safety standard for modules a2, a3, b1, and b2 is QM, and the safety standard for component X3 is ASIL-D. By looking at the safety standard information D4 at the most recent execution time (execution time TM2 in Figure 7), it is possible to understand the safety standards currently required.

[0076] The determination information 52 includes information on the time taken to integrate a product Px that was integrated in the past (integration time T1). The determination information 52 also includes information on the time taken to register a product Px that was previously registered in the storage 50 (registration time T2). The determination information 52 also includes information on the time taken to read a product Px that was previously read from the storage 50 (readout time T3).

[0077] The integration time T1, registration time T2, and readout time T3 included in the determination information 52 may be values ​​based on the actual times required (actually measured values ​​or statistics of multiple actual measured values), or may be predicted values. In the case of predicted values, the integration time T1, registration time T2, and readout time T3 are predicted based on, for example, the file size of the product Px, the communication speed between the information processing device 10 and the storage 50, and the processing speed of the information processing device 10.

[0078] [1.8 Problems to be Solved by the Embodiments] The information processing system 1 includes a storage 50 (also called a build cache server) that stores a product Px (intermediate product) generated by integrating multiple sources. The storage 50 stores result information 51, for example in a table format, to manage the product Px and the test results of the task Tx executed using the product Px.

[0079] When executing a test of a task Tx in the information processing device 10, if the storage 50 is not present, the control unit 11 integrates multiple sources to generate a product Px each time the task Tx is input. However, since it takes time for the control unit 11 to integrate the product Px, it may take time to execute the test of the task Tx.

[0080] Therefore, the information processing system 1 is provided with a storage 50 that stores past products Px and test results. When a task Tx is input to the control unit 11, the control unit 11 inquires whether the storage 50 stores a product Px related to the task Tx and whether the past test results using the product Px were successful.

[0081] When the past test result is successful, the control unit 11 skips the execution of the test by the input task Tx, thereby shortening the time required for test execution. Also, even when the past test result is not successful (the test result is a failure or there is no test result), when the product Px integrated in the past is stored, the control unit 11 reads out the product Px from the storage 50, thereby shortening the time required for integration.

[0082] In order to achieve the above-mentioned time shortening, when the control unit 11 integrates a plurality of sources to generate the product Px, it stores the product Px in the storage 50. When executing a test, it stores the test result in the storage 50.

[0083] In recent years, with the large-scale growth of software development, the types of tests to be executed have increased, and the file size of the product Px used for one test has become larger. Therefore, when all the products Px are stored in the storage 50, the following problems occur.

[0084] (Problem 1) When the file size of the product Px is relatively large, the time for transmitting and receiving the product Px between the information processing device 10 and the storage 50 becomes longer. As a result, the total time (registration time T2) for registering the product Px generated by the control unit 11 in the past in the storage 50 and the communication time (reading time T3) for reading out the product Px registered in the storage 50 to the control unit 11 may be longer than the time (integration time T1) for integrating a plurality of sources to newly generate the product Px (T1 < T2 + T3). In this case, registering and reading out the product Px by the storage 50 actually deteriorates the efficiency of test execution.

[0085] (Problem 2) If a large number of products Px are registered in storage 50 or if products Px with large file sizes are registered in storage 50, the capacity (e.g., disk capacity) of storage 50 may become insufficient, and it may become impossible to register new products Px with relatively high priority.

[0086] In order to solve the above (Problem 1) and (Problem 2), in the information processing system 1 according to the embodiment, the storage 50 further stores determination information 52. The information processing device 10 further includes a determination unit 12. When the control unit 11 receives an input of a task Tx, the determination unit 12 determines, based on the determination information 52, whether to generate a new product Px and whether to register the newly generated product Px in the storage 50. Based on the determination result of the determination unit 12, the control unit 11 generates a new product Px, reads a past product Px from the storage 50, or registers the generated product Px in the storage 50.

[0087] In this way, the information processing system 1 does not uniformly register all products Px in the storage 50, but determines whether or not to register a product Px depending on the situation, thereby improving the efficiency of registration time. Furthermore, even if a product Px has already been registered in the storage 50, the information processing system 1 generates a new product Px depending on the situation, thereby improving the efficiency of read time. In this way, when a development method based on CI / CD is adopted, the information processing system 1 reduces the time required for test execution, thereby enabling tests to be executed more efficiently.

[0088] The specific steps of the information processing method executed by the information processing system 1 will be described below.

[0089] [1.9 Information Processing Methods] 8 is a flowchart showing an example of an information processing method executed by the information processing system 1. In the information processing system 1, first, a task Tx to be tested is input to the control unit 11 (task input step: step S100).

[0090] 9 is a subroutine showing the details of the task input process. First, a developer creates multiple sources using the terminal group 60 and stores the multiple sources in the repository 20 via the network (step S21). The multiple sources are stored in the repository 20 at appropriate times.

[0091] The SCM that manages the repository 20 creates a task Tx (step S22), for example, periodically (also called polling processing) or when a new source is stored in the repository 20 (also called push processing). For example, if the repository 20 already stores modules a1, a2, a3, b1, b2 and a component X3, and a new version of module a1 is stored in the repository 20, the SCM creates a task Tx related to module a1.

[0092] For example, the SCM creates a task Tx for executing an integration test of modules a1 and a2, a task Tx for executing an integration test of modules a1 and a3, a task Tx for executing a test of component X1, and a task Tx for executing an integration test including component X1 (e.g., an integration test of components X1 and X2). Furthermore, even if there is no update to the source, the SCM automatically creates a task Tx for software SW1 on a regular basis.

[0093] Thereafter, the created one or more tasks Tx are provided by the SCM from the repository 20 to the queue 31 (step S23).

[0094] The test tool 30 outputs the task Tx accumulated in the queue 31 to the information processing device 10, for example, by the FIFO method (step S24). The communication unit 14 of the information processing device 10 outputs the task Tx received from the test tool 30 to the control unit 11. As a result, the task Tx is input to the control unit 11, and step S100 ends.

[0095] 8, when the control unit 11 receives a new input of a task Tx, it reads out the result information 51 from the storage 50 (step S101).

[0096] Next, the control unit 11 determines whether or not a product Px identical to the product Px integrated by the source underlying the task Tx is registered in the storage 50 (step S102).

[0097] Specifically, the control unit 11 reads the version information D1 included in the result information 51. Then, it determines whether or not the hash values ​​of all sources that are the basis of the input task Tx match the hash values ​​of the corresponding sources stored in the version information D1.

[0098] If the hash value of at least one source among all the sources underlying the task Tx does not match, the product Px that is the same as the product Px integrated by the sources underlying the task Tx is not registered in the storage 50 (NO in step S102). That is, the product Px to be used in the test execution is different from the product Px registered in the storage 50. Therefore, it is not appropriate to substitute the product Px registered in the storage 50.

[0099] For example, consider the case where, as a result of updating module a1, a task Tx (hereinafter referred to as "task a1-a2") is created in the SCM for a test item that verifies whether a product Px obtained by integrating modules a1 and a2 works. In this case, for example, module a1 has a new hash value Ha1-3. If the latest hash value of module a1 registered in storage 50 is "Ha1-2" as shown in FIG. 4, the hash value of the source included in newly input task a1-a2 does not match the hash value of the source registered in storage 50. Therefore, the control unit 11 determines that the product Px integrated by the source that is the basis of the newly input task a1-a2 is not registered in storage 50. In this case, the control unit 11 proceeds to integration processing (step S105) described below.

[0100] On the other hand, consider a case where tasks a1-a2, which are created periodically in the SCM without being triggered by source updates, are input to the control unit 11. In this case, for example, module a1 has the same hash value Ha1-2 as at the time of the previous test execution (execution time TM2). Module a2 also has the same hash value Ha2-1 as at the execution time TM2. Therefore, the hash values ​​of all sources included in the newly input tasks a1-a2 match the hash values ​​of the corresponding sources registered in storage 50, and the control unit 11 determines that the product Px integrated by the sources that form the basis of the newly input tasks a1-a2 is registered in storage 50.

[0101] If a product Px related to the newly input task Tx is registered in the storage 50 (YES in step S102), the control unit 11 determines whether a successful test result for the input task Tx is registered in the storage 50 (step S103).

[0102] Specifically, the control unit 11 reads out the test result information D2 included in the result information 51. Then, based on the test result information D2, the control unit 11 checks whether the most recent test result of the newly input task Tx is successful. For example, as shown in FIG. 5, the most recent test result of tasks a1-a2 (i.e., at execution time TM2) is successful. In this case (YES in step S103), the control unit 11 proceeds to the termination determination process (step S110) described below and reuses the past test results. In this case, the information processing system 1 omits the integration process (step S105) and test process (step S108) described below, thereby reducing the time required to test the task Tx.

[0103] In the test result information D2, if the most recent test result for the newly input task Tx is a failure, or if there is no past test result for the newly input task Tx (NO in step S103), the process proceeds to the next step S104.

[0104] If the latest test result of the newly input task Tx is not successful in the test result information D2, the determination unit 12 determines whether or not to read the product Px from the storage 50 based on the determination information 52 (step S104).

[0105] Specifically, the determination unit 12 reads the determination information 52 from the storage 50. Then, based on the determination information 52, the determination unit 12 determines whether or not a read condition is satisfied for a product Px generated by integrating multiple sources that are the basis of the task Tx. Here, the read condition is at least one of the following first to third read conditions. The determination unit 12 may determine that the read condition is satisfied when one of the first to third read conditions is satisfied. Alternatively, the determination unit 12 may determine that the read condition is satisfied only when multiple conditions (e.g., the first and second read conditions) of the first to third read conditions are satisfied.

[0106] First read condition: The product Px stored in the storage 50, that is, the file size of the product Px used in the past test is less than a predetermined amount M1

[0107] Second read condition: The safety standard required for the product Px exceeds a predetermined level L1

[0108] Third read condition: The difference value (T1 - T3) obtained by subtracting the read time T3 for reading the product Px from the storage 50 from the integration time T1 for integrating a plurality of sources exceeds a predetermined value E1 (T1 - T3 > E1)

[0109] The determination unit 12 determines whether or not the first read condition is satisfied based on the file size information D3 included in the determination information 52. For example, when the determination target is the product a1 - a2, the determination unit 12 compares the file size of the most recent product a1 - a2 (in the example of FIG. 6, 12 [MB]) with the predetermined amount M1 in the file size information D3. Then, when the file size of the product a1 - a2 is less than the predetermined amount M1 (12 < M1 [MB]), the determination unit 12 determines that the first read condition is satisfied

[0110] For a product Px with a small file size, the read time T3 for reading from the storage 50 can be suppressed to be short. Therefore, in the case of a product Px whose file size is less than the predetermined amount M1, it is determined that the first read condition is satisfied, and by reading the product Px from the storage 50, it is possible to suppress the increase in the read time T3

[0111] Here, the predetermined amount M1 may be a fixed value or a variable value depending on the situation (for example, depending on the allowable read time T3). For example, the predetermined amount M1 may be changed so that it becomes larger as the allowable read time T3 becomes longer. The predetermined amount M1 is stored as a parameter in the storage unit 13, for example

[0112] The determination unit 12 determines whether the second read condition is satisfied based on the safety standard information D4 included in the determination information 52. For example, when the determination target is the products a1-a2, the safety standard required for the most recent products a1-a2 is "ASIL-A" of the module a1, which requires the stricter safety standard of the modules a1 and a2. In this case, the determination unit 12 compares the ASIL-A with a predetermined stage L1. Then, when the safety standard (ASIL-A) required for the products a1-a2 exceeds the predetermined stage L1 (ASIL-A>L1), the determination unit 12 determines that the second read condition is satisfied.

[0113] A product Px with high safety standards has high test requirements and is therefore more likely to fail. For this reason, products Px with high safety standards tend to be tested more frequently. By determining that a product Px with required safety standards exceeding a predetermined level L1 satisfies the second read condition and giving it higher priority for reading from the storage 50, the integration time T1 required to integrate the source and generate the product Px can be shortened.

[0114] Here, the predetermined stage L1 is a stage such as QM or ASIL-A. The predetermined stage L1 may be a fixed value or may be a variable value depending on the situation. For example, the predetermined stage L1 may be changed so that the longer the allowable read time T3, the lower the predetermined stage L1 becomes. The predetermined stage L1 is stored as a parameter in the storage unit 13, for example.

[0115] The determination unit 12 determines whether the third read condition is satisfied based on various times T1 and T3 included in the determination information 52. For example, when the determination target is the product a1-a2, the determination unit 12 compares a difference value (T1-T3) obtained by subtracting the read time T3 of the product a1-a2 from the integration time T1 of the product a1-a2 with a predetermined value E1. If the difference value exceeds the predetermined value E1 (T1-T3>E1), the determination unit 12 determines that the third read condition is satisfied.

[0116] For example, if the read time T3 is shorter than the integration time T1, the time can be reduced by reading the product Px from the storage 50 rather than integrating it anew from the source. Therefore, if the difference value (T1-T3) is larger, the time required for test execution can be reduced by configuring the product Px to be read preferentially from the storage 50.

[0117] Here, the predetermined value E1 may be a fixed value or may be a variable value depending on the situation. For example, the predetermined value E1 may be changed so that the longer the allowable read time T3, the smaller the predetermined value E1 becomes. The predetermined value E1 is stored as a parameter in the storage unit 13, for example.

[0118] As a result of the above, the determination unit 12 generates a determination result as to whether or not the read condition is satisfied. Then, the determination unit 12 outputs the determination result to the control unit 11. If the determination result of the determination unit 12 is "satisfying the read condition", the control unit 11 reads out the product Px from the storage 50 (YES in step S104). In this case, the control unit 11 then executes a test process (step S108) described below using the read out product Px.

[0119] On the other hand, if the determination result of the determination unit 12 is "not satisfying the read condition," the control unit 11 does not read the product Px from the storage 50 (NO in step S104). In this case, the control unit 11 generates a new product Px by integrating multiple sources based on the input task Tx (step S105).

[0120] After step S105, the determination unit 12 determines whether or not to register the newly generated product Px in the storage 50 (step S106). Specifically, the determination unit 12 determines whether or not the following registration conditions are satisfied based on the newly generated product Px. Here, the registration conditions are at least one of the following first to third registration conditions:

[0121] The determination unit 12 may determine that the registration condition is satisfied when one of the first to third registration conditions is satisfied. Alternatively, the determination unit 12 may determine that the registration condition is satisfied only when multiple conditions (for example, the first and second registration conditions) of the first to third registration conditions are satisfied.

[0122] First registration condition: By integrating multiple sources that form the basis of the input task Tx, the file size of the newly generated product Px must be less than a predetermined amount M2.

[0123] Second registration condition: The safety standard required for the product Px must exceed the specified level L2

[0124] Third registration condition: The difference (T1-(T2+T3)) obtained by subtracting the sum (T2+T3) of the registration time T2 for registering a newly generated product Px in the storage 50 and the read time T3 for reading the product Px from the storage 50 from the integration time T1 for integrating multiple sources exceeds a predetermined value E2 (T1-(T2+T3)>E2).

[0125] For example, when the target of the determination is a newly generated product a1-a2, the determination unit 12 compares the file size of the product a1-a2 with a predetermined amount M2. If the file size of the product a1-a2 is less than the predetermined amount M2, the determination unit 12 determines that the first registration condition is satisfied.

[0126] If the file size of the product Px is small, the registration time T2 for registering the product Px in the storage 50 can be kept short. Therefore, if the file size of the product Px is less than the predetermined amount M2, it is determined that the first registration condition is satisfied, and the product Px is registered in the storage 50, thereby preventing the registration time T2 from becoming long.

[0127] Here, the predetermined amount M2 may be a fixed value or may be a variable value depending on the situation. For example, the predetermined amount M2 may be changed so that the longer the allowable registration time T2, the larger the predetermined amount M2. The predetermined amount M2 is stored as a parameter in the storage unit 13, for example. The predetermined amount M2 may be the same value as the predetermined amount M1, or may be a different value.

[0128] The determination unit 12 determines whether the second read condition is satisfied based on the safety standard required for the newly generated product Px. Specifically, the determination unit 12 compares the safety standard required for the newly generated product Px with a predetermined stage L2. If the safety standard required for the product Px exceeds the predetermined stage L2, the determination unit 12 determines that the second read condition is satisfied.

[0129] A product Px with high safety standards has high test requirements and is therefore prone to failure. For this reason, products Px with high safety standards tend to be tested more frequently. By determining that a product Px with required safety standards exceeding a predetermined level L2 satisfies the second registration condition and by configuring the product Px to be registered in the storage 50 with higher priority, it is possible to store more products Px with high safety standards in the storage 50. This makes it possible to improve the registration rate of products Px in the storage 50 for input tasks Tx in step S102, and reduce the frequency of integration processing, etc.

[0130] Here, the predetermined stage L2 is a stage such as QM or ASIL-A. The predetermined stage L2 may be a fixed value or may be a variable value depending on the situation. For example, the predetermined stage L2 may be changed so that the longer the allowable registration time T2, the lower the predetermined stage L2 becomes. The predetermined stage L2 is stored as a parameter in the storage unit 13, for example. Furthermore, the predetermined stage L2 may be the same value as the predetermined stage L1, or may be a different value.

[0131] The determination unit 12 determines whether the third registration condition is satisfied based on various times T1, T2, and T3. The determination unit 12 compares a difference value (T1-(T2+T3)) obtained by subtracting the total time (T2+T3) of the registration time T2 and readout time T3 predicted to be required for the newly generated product Px from the integration time T1 of the product Px with a predetermined value E2. If the difference value exceeds the predetermined value E2 (T1-(T2+T3)>E2), the determination unit 12 determines that the third registration condition is satisfied.

[0132] For example, if the total time (T2+T3) is shorter than the integration time T1, it is possible to shorten the time required to register a newly generated product Px in the storage 50 and then read that product Px from the storage 50, rather than subsequently integrating the same product Px anew from the source. Therefore, by configuring the product Px to be preferentially registered in the storage 50 when the difference value (T1-(T2+T3)) is larger, it is possible to shorten the time required for test execution.

[0133] Here, the predetermined value E2 may be a fixed value or may be a variable value depending on the situation. For example, the predetermined value E2 may be changed so that the longer the permissible registration time T2, the smaller the predetermined value E2 becomes. The predetermined value E2 is stored as a parameter in the storage unit 13, for example.

[0134] As a result of the above, the determination unit 12 generates a determination result as to whether or not the registration conditions are satisfied. Then, the determination unit 12 outputs the determination result to the control unit 11. If the determination result of the determination unit 12 is "satisfying the registration conditions" (YES in step S106), the control unit 11 registers the newly generated product Px in the storage 50 (step S107).

[0135] On the other hand, when the determination result of the determination unit 12 is "not satisfying the registration condition" (NO in step S106), the control unit 11 skips step S107 and executes the test process (step S108). That is, when the determination result of the determination unit 12 is "not satisfying the registration condition", the control unit 11 does not register the newly generated product Px in the storage 50.

[0136] Next, the control unit 11 executes a test process (step S108). Specifically, the control unit 11 executes a test of the task Tx using the product Px read from the storage 50 or a newly generated product Px. The control unit 11 controls the circuit board 43 based on the task Tx, and measures the operation of the circuit board 43 using the measurement unit 44. Then, based on the measurement result of the measurement unit 44, it determines whether the test of the task Tx is successful or not.

[0137] After step S108, the control unit 11 registers the test results of the task Tx in the storage 50 (step S109). The test results are stored in the storage 50 in a table format as test result information D2 shown in FIG.

[0138] Finally, the control unit 11 determines whether or not to end the series of information processing (end determination process: step S110). Specifically, the control unit 11 determines whether or not there is another input of task Tx from the queue 31.

[0139] For example, in step S100, if multiple tasks Tx are input to the control unit 11 and the information processing from step S101 to step S109 is executed for the first task Tx, the process returns to step S101 to execute the information processing from step S101 to step S109 for the second task Tx (NO in step S110). If no other tasks Tx to be processed have been input to the control unit 11, the series of information processing ends (YES in step S110).

[0140] As described above, a series of information processing methods in the information processing system 1 ends. According to the information processing method, instead of uniformly registering or reading out the product Px, by registering or reading out the product Px according to the situation, the time required for test execution can be made more efficient.

[0141] [2. Variation Example] Hereinafter, a variation example of the embodiment will be described. In the variation example, the same components as those in the above embodiment are denoted by the same reference numerals, and the description thereof is omitted.

[0142] [2.1 Considering the Free Space of the Storage] In step S106, the determination unit 12 may correct various parameters M2, L2, and E2 according to the free space of the storage 50. For example, when the free space of the storage 50 is the first capacity C1, the determination unit 12 sets the predetermined amount M2 of the first registration condition as the first predetermined amount M21, the predetermined stage L2 of the second registration condition as the first stage L21, and the predetermined value E2 of the third registration condition as the first predetermined value E21, and determines whether the registration conditions are satisfied.

[0143] On the other hand, when the free space of the storage 50 is the second capacity C2 smaller than the first capacity C1 (C2 < C1), the determination unit 12 sets the predetermined amount M2 of the first registration condition as the second predetermined amount M22 smaller than the first predetermined amount M21, the predetermined stage L2 of the second registration condition as the second stage L22 higher than the first stage L21, and the predetermined value E2 of the third registration condition as the second predetermined value E22 larger than the first predetermined value E21, and determines whether the registration conditions are satisfied (M22 < M21, L22 > L21, E22 > E21).

[0144] That is, the smaller the free space of the storage 50, the stricter the registration conditions are made, and the products Px to be registered are limited to the products Px with higher priorities. Thereby, the remaining small capacity of the storage 50 can be utilized more effectively.

[0145] In the above, an example has been described in which the conditions for all of the first to third registration conditions are tightened depending on the free space of the storage 50. However, the conditions for at least one of the first to third registration conditions may be tightened depending on the free space of the storage 50. For example, the determination unit 12 may set the predetermined amount M2 for the first registration condition higher depending on the free space of the storage 50, and may set the predetermined level L2 and the predetermined value E2 for the second and third registration conditions to fixed values ​​regardless of the free space of the storage 50.

[0146] [2.2 Delete the products registered in the storage] In step S107, when registering a newly generated product Px in the storage 50, the control unit 11 may delete a product Px that has already been registered in the storage 50 from the storage 50. In this case, for example, the control unit 11 leaves in the storage 50 a product Px that requires a higher safety standard.

[0147] Specifically, if the safety standard required for a product Px already registered in storage 50 is the first stage L21, and the safety standard required for a product Px to be newly registered is the second stage L22, which is higher than the first stage L21, the control unit 11 deletes the already registered product Px from storage 50 and registers the newly generated product Px in storage 50.

[0148] By configuring in this way, even if the storage 50 is running low on capacity, it is possible to register in the storage 50 products Px that require stricter safety standards and have higher priorities.

[0149] [3. Notes] This disclosure includes the contents set forth in the following appendices.

[0150] [Appendix 1] 1. An information processing device that supports development of software by executing tests of tasks generated based on a plurality of sources included in the software, a control unit that integrates the plurality of sources that form the basis of the task to generate a product and executes a test of the task using the product; The control unit registers the product in the storage when a registration condition is satisfied, and does not register the product in the storage when the registration condition is not satisfied. Information processing device. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value.

[0151] [Appendix 2] 1. An information processing method for supporting software development by executing tests of tasks generated based on multiple sources included in the software, the method comprising: a first step of integrating a plurality of said sources underlying said task to generate a product if a read condition is not met; a second step of executing a test of the task using the artifact; a third step of registering the product in storage; a fourth step of reading the product generated in the first step previously executed from the storage if the reading condition is satisfied; An information processing method comprising: Here, the read condition is at least one of the following first to third read conditions. First reading condition: The file size of the generated file is less than a predetermined amount. Second reading condition: The safety standard required for the product exceeds a predetermined level. A third read condition is that the difference obtained by subtracting the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

[0152] [Appendix 3] 1. A computer program for supporting development of software by executing tests of tasks generated based on a plurality of sources included in the software, comprising: The computer program includes: a first step of integrating a plurality of said sources underlying said task to generate a product if a read condition is not met; a second step of executing a test of the task using the artifact; a third step of registering the product in storage; a fourth step of reading the product generated in the first step previously executed from the storage if the reading condition is satisfied; A computer program that executes Here, the read condition is at least one of the following first to third read conditions. First reading condition: The file size of the generated file is less than a predetermined amount. Second reading condition: The safety standard required for the product exceeds a predetermined level. A third read condition is that the difference obtained by subtracting the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

[0153] [Appendix 4] 1. A computer program for supporting development of software by executing tests of tasks generated based on a plurality of sources included in the software, comprising: The computer program includes: a first step of integrating a plurality of said sources underlying said task to generate a product; a second step of executing a test of the task using the artifact; a third step of registering the product in storage if the registration condition is satisfied, and not registering the product in storage if the registration condition is not satisfied; A computer program that executes Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: The file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a certain level Third registration condition: The difference obtained by subtracting the total time of the registration time of the product in the storage and the read time of the product from the integration time of the plurality of sources exceeds a predetermined value.

[0154] [4. Supplementary Notes] It should be noted that at least some of the above-described embodiments and various modifications may be combined with each other in any desired manner. Furthermore, the embodiments and modifications disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, and all modifications within the meaning and scope equivalent to the claims are intended to be included. [Explanation of symbols]

[0155] 1. Information Processing Systems 10. Information processing equipment 11 Control section 12 Judgment section 13 Storage section 14 Communications Department 15 Reading unit 16 Recording media 20 Repositories 30 Testing Tools 31 Queue 40 Test Environment 42 test sets 43 Circuit Board 44 Measuring part 50 Storage 51 Results information 52 Judgment information 60 terminals SW1 Software a1,a2,a3,b1,b2 modules X1, X2, X3 components Px product Tx,T1,T2,T3,T4 tasks D1 Version Information D2 Test Result Information D3 file size information D4 Safety standard information TB1,TB2,TB3,TB4 tables TM1, TM2 execution time T1 Integration Time T2 Registration Time T3 read time M1,M2 specified amount M21 1st predetermined amount M22 2nd predetermined amount L1, L2 designated stages L21 Phase 1 L22 Stage 2 E1,E2 Predetermined value E21 1st predetermined value E22 Second predetermined value

Claims

1. 1. An information processing system that supports development of software by executing tests of tasks generated based on multiple sources included in the software, comprising: a control unit that integrates the plurality of sources that form the basis of the task to generate a product and executes a test of the task using the product; The control unit registers the product in the storage when a registration condition is satisfied, and does not register the product in the storage when the registration condition is not satisfied. Information processing system. Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: the file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a predetermined level Third registration condition: A difference obtained by subtracting the total time of the registration time for registering the product in the storage and the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

2. a determination unit that determines whether the registration condition is satisfied, the control unit determines whether to register the product in the storage based on the determination result of the determination unit. The information processing system according to claim 1 .

3. The determination unit If the free space of the storage is a first space, determining whether the registration condition is satisfied by setting the predetermined amount of the first registration condition to a first predetermined amount, setting the stage of the second registration condition to a first stage, or setting the predetermined value of the third registration condition to a first predetermined value; When the free space of the storage is a second capacity that is smaller than the first capacity, the predetermined amount of the first registration condition is set to a second predetermined amount that is smaller than the first predetermined amount, the stage of the second registration condition is set to a second stage that is higher than the first stage, or the predetermined value of the third registration condition is set to a second predetermined value that is larger than the first predetermined value, and it is determined whether or not the registration condition is satisfied. The information processing system according to claim 2 .

4. When the registration condition is satisfied, the control unit deletes the product whose stage is a first stage and which has already been registered in the storage, and newly registers the product whose stage is a second stage higher than the first stage in the storage. The information processing system according to claim 1 .

5. the software is software executed by an in-vehicle device mounted in a vehicle, The safety standard is ASIL (Automotive Safety Integrity Level) of ISO 26262. The information processing system according to claim 1 .

6. When the task is input to the control unit, if a read condition is satisfied, the control unit reads from the storage the product generated when the task was previously input to the control unit, and if the read condition is not satisfied, the control unit newly generates the product based on the task currently input to the control unit. The information processing system according to any one of claims 1 to 5. Here, the read condition is at least one of the following first to third read conditions. First reading condition: the file size of the product is less than a predetermined amount Second reading condition: The safety standard required for the product exceeds a predetermined level. Third read condition: A difference value obtained by subtracting a read time for reading the product from the storage from an integration time for integrating the plurality of sources exceeds a predetermined value.

7. 1. An information processing system that supports development of software by executing tests of tasks generated based on multiple sources included in the software, comprising: a control unit that integrates the plurality of sources that are the basis of the task to generate a product, registers the product in a storage, and executes a test of the task using the product; When the task is input to the control unit, if a read condition is satisfied, the control unit reads from the storage the product generated when the task was previously input to the control unit, and if the read condition is not satisfied, the control unit newly generates the product based on the task currently input to the control unit. Information processing system. Here, the read condition is at least one of the following first to third read conditions. First reading condition: the file size of the product is less than a predetermined amount Second reading condition: The safety standard required for the product exceeds a predetermined level. Third read condition: A difference value obtained by subtracting a read time for reading the product from the storage from an integration time for integrating the plurality of sources exceeds a predetermined value.

8. 1. An information processing method for an information processing system that supports development of software by generating tasks based on a plurality of sources included in the software and executing tests of the tasks, comprising: the information processing system includes a control unit, a first step in which the control unit generates a product by integrating a plurality of the sources that form the basis of the task; a second step in which the control unit executes a test of the task using the product; a third step of the control unit registering the product in a storage if a registration condition is satisfied, and not registering the product in the storage if the registration condition is not satisfied; An information processing method comprising: Here, the registration condition is at least one of the following first to third registration conditions. First registration condition: the file size of the product is less than a predetermined amount Second registration condition: The safety standards required for the product exceed a predetermined level Third registration condition: A difference obtained by subtracting the total time of the registration time for registering the product in the storage and the read time for reading the product from the storage from the integration time for integrating the plurality of sources exceeds a predetermined value.

Citation Information

Patent Citations

  • Test case selection method and selection system

    JP2010134643A

  • Information processing device, information processing system, computer program, and method

    JP2018037052A

  • Method and Apparatus for Software Simulation

    US20100198799A1

  • Continuous development and delivery system

    US20220261333A1

  • Development assistance system

    WO2016016975A1