Aggregating Code Change Requests for CI Pipelines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional continuous integration (CI) pipelines face inefficiencies due to the need to process each code change request (CCR) sequentially, leading to long waiting times and resource wastage, as they implement all testcases, even when changes are independent, causing delays in feature releases and increased resource utilization.
Innovation Solution
A method to aggregate CCRs into groups based on non-overlapping testcases, allowing independent changes to be processed together, reducing the need for extensive testing and resource allocation by identifying and grouping testcases with distinct functions, thereby streamlining the CI pipeline process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all testcases are implemented for each CCR sequentially, then code quality is ensured, but processing time and resource utilization increase significantly
Solution Approach 1:
The patent segments the testcase execution process by grouping CCRs with non-overlapping testcases into separate batches. Each batch is processed independently, allowing parallel execution while ensuring code quality through comprehensive testing of each segment.
Solution Approach 2:
The patent applies partial action by selectively executing only the necessary testcases for each CCR group rather than all testcases. By identifying non-overlapping testcases, the system performs sufficient testing to ensure quality without the excessive overhead of running complete testcase suites for every CCR.
2Productivity
If each CCR is processed individually, then failure causes are easily isolated, but resource wastage and processing delays occur
Solution Approach 1:
The patent merges multiple CCRs into groups based on testcase overlap analysis. CCRs with non-overlapping testcases are combined into single processing batches, enabling parallel execution and improving productivity while reducing resource wastage from repeated testcase execution.
Solution Approach 2:
The patent changes the processing parameter from individual CCR execution to batched CCR execution. By dynamically adjusting the grouping parameter based on testcase overlap, the system optimizes both productivity and resource utilization without sacrificing failure isolation capability.
3Loss of time
If non-overlapping CCRs are processed concurrently, then CI pipeline execution time is reduced, but complexity in managing grouped CCRs increases
Solution Approach 1:
The patent performs preliminary action by pre-analyzing testcase overlap and creating CCR groups before the actual CI pipeline execution. This upfront preparation reduces the complexity of concurrent management during execution, as the grouping logic is already established and can be processed in parallel.
Data Source
AI summary
A method, system, and computer program product to aggregate code change requests for a continuous integration pipeline. The method may include receiving a plurality of code change requests (CCRs) for a software product that are to be processed by a continuous integration (CI) pipeline. The method may also include obtaining all functions of the software product tested by all testcases in a testcase set. The method may also include selecting a plurality of groups of testcases from the testcase set, each group of the plurality of groups of testcases corresponding to a CCR from the plurality of CCRs. The method may also include identifying at least two groups of testcases from the plurality of groups of testcases without overlapping code. The method may also include aggregating each CCR that corresponds to the at least two groups of testcases into a single CCR group.


