Incremental Software Part Testing for Dependency-Aware Release

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software systems, rebuilding dependent software parts due to updates leads to inefficiencies and resource wastage, as manual review is required to identify and rectify testing failures, prolonging the development process.

Innovation Solution

Implementing a method where each software part is tested individually for local functionality, with parts passing tests being released, and issues are identified earlier, reducing unnecessary rebuilding and analysis time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire software system is rebuilt and tested together after any update, then functionality verification is comprehensive, but development time and resource consumption increase significantly

Engineering Contradiction:
Improvefunctionality verificationVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the software system into independent software parts with defined interfaces. Each software part can be tested and released independently, eliminating the need to rebuild and test the entire system. The build system tracks dependencies between software parts and only rebuilds affected components, significantly reducing development time while maintaining comprehensive functionality verification through incremental testing.

Inventive Principle:
Principle #1Segmentation

2Difficulty of detecting and measuring

If manual review is performed to identify testing failures, then root cause analysis is thorough, but the process becomes prolonged and inefficient

Engineering Contradiction:
Improveroot cause analysisVSAvoiddevelopment efficiency
Core Design Contradiction:
Difficulty of detecting and measuringVSProductivity

Solution Approach 1:

The patent implements automated feedback mechanisms where the build system continuously monitors test results and provides immediate feedback about failures. When a software part fails testing, the system automatically identifies the specific failure and notifies relevant developers, eliminating the need for manual review while maintaining thorough root cause analysis through automated error tracking and reporting.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The build system performs self-service by automatically detecting, analyzing, and reporting testing failures without human intervention. The system tracks which software parts depend on updated components, automatically rebuilds only the necessary parts, and identifies specific failure locations, freeing developers from manual review tasks while improving development efficiency.

Inventive Principle:
Principle #25Self-service

3Stability of the object's composition

If all dependent software parts are rebuilt whenever one software part is updated, then system consistency is maintained, but resource wastage occurs from rebuilding functioning parts

Engineering Contradiction:
Improvesystem consistencyVSAvoidcomputational resources
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The patent implements a dynamic build system that adapts to changes in the software architecture. The system maintains a dependency map that tracks which software parts depend on others, and dynamically determines which parts need rebuilding based on actual dependency relationships. This dynamic approach maintains system consistency by rebuilding only when necessary while avoiding wasteful reconstruction of unaffected components.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250355787A1Software development by incremental software part test and release
Publication Date: 2025.11.20 TOYOTA JIDOSHA KK
  • US20250355787A1 patent drawing
  • US20250355787A1 patent drawing
  • US20250355787A1 patent drawing

AI summary

Software development by incremental software part test and release is performed by detecting an update of a hardware communication specification, building a new version of an upstream software part in a software system based on the updated hardware communication specification, testing the new version of the upstream software part, and in response to the testing of the new version of the upstream software part being successful, releasing the new version of the upstream software part in the software system, building a new version of a downstream software part based on the new version of the upstream software part, testing the new version of the downstream software part, and in response to the testing of the new version of the downstream software part being successful, releasing the new version of the downstream software part in the software system.