Source Code File Association System for CI/CD Test Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional technologies do not provide users with information regarding the specific source code exercised when integration test suites are executed, leading to inefficiencies in the Continuous Integration and Continuous Delivery (CI/CD) lifecycle and requiring the execution of all integration test suites, regardless of the source code under test.
Innovation Solution
A source code file association system that preprocesses integration test suite output and encodes it for input into a machine learning system, which identifies the portion of source code exercised by the integration test suites, allowing for dynamic mapping of test suites to source code files.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all integration test suites are executed regardless of source code changes, then comprehensive testing coverage is ensured, but execution time and computational resources are wasted on irrelevant test suites
Solution Approach 1:
The system performs preliminary analysis of source code changes before executing integration test suites. By preprocessing commit messages, file changes, and code metrics upfront, the system prepares association data that enables selective test execution, avoiding unnecessary test suite runs while maintaining comprehensive coverage for relevant tests
Solution Approach 2:
The patent replaces the mechanical approach of executing all test suites with a machine learning-based prediction system. The ML model analyzes code changes and predicts which test suites are relevant, substituting brute-force execution with intelligent prediction to reduce execution time while maintaining reliability
2Ease of operation
If integration test suites are executed without source code association, then simple test execution is maintained, but information about specific source code exercised is lost
Solution Approach 1:
The system introduces an intermediary association layer between test suites and source code. The machine learning model acts as a mediator that connects executed test suites with the source code files they exercise, capturing and storing these associations without complicating the actual test execution process
Solution Approach 2:
The system creates a copy or representation of the test-source code association data in a database. This copied information preserves the relationship between test suites and source code without interfering with the simplicity of test execution, allowing users to query which code was exercised by which tests
3Productivity
If machine learning preprocessing is implemented to identify source code associations, then targeted test execution is enabled, but system complexity increases
Solution Approach 1:
The system segments the test optimization problem into distinct components: code change analysis, association prediction, and test selection. By dividing the complex ML preprocessing task into manageable segments (parsing, feature extraction, prediction, validation), the system improves productivity while managing complexity through modular architecture
Solution Approach 2:
The machine learning model serves multiple functions: it predicts test suite relevance, identifies exercised source code, and provides associations for both unit and integration tests. This multi-functionality justifies the added complexity by delivering comprehensive benefits across different test types and improving overall system productivity
Data Source
AI summary
Methods, system, and non-transitory processor-readable storage medium for a source code file association system are provided herein. An example method includes receiving, by a project management tool associated with a software test lifecycle system, a pull request to merge software code changes with a software project repository on an enterprise system. The software testing life cycle system executes a plurality of integration test suites associated with the pull request on at least one test system associated with the enterprise system. The integration test suites are executed to test the software code changes. The project management tool captures the integration test suite output. A source code file association system preprocesses the integration test suite output for input into a machine learning system. The integration test suite output is encoded. The output of the machine learning system identifies at least a portion of source code exercised by the integration test suites.


