Pipeline-Agnostic Rule Sets for CI/CD Code Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software development, managing dynamic rules for code validation is burdensome, requiring modifications to application code and extensive testing, especially when these rules are embedded directly into the script, leading to potential security threats and unexpected issues.
Innovation Solution
Implementing a Controls as a Service (CaaS) system that uses a rules engine to analyze code samples with pipeline-agnostic rule sets, allowing rule modifications without altering the code, and using a front-end web interface to generate rule sets, which includes a specialized data retrieval process to select appropriate data streams based on the code sample, thereby decoupling rule sets from code and reducing the need for extensive testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If rules are embedded directly into the application code script, then the rules can be dynamically changed and applied, but any modification requires careful review of application code, precise edits to capture the modification, and copious amounts of testing prior to re-deployment
Solution Approach 1:
The patent segments the rule management system into two independent components: (1) a rules engine that executes rules, and (2) a separate rules repository that stores and manages rule definitions. This segmentation allows rules to be modified in the repository without affecting the application code that uses them, eliminating the need for code reviews, precise edits, and extensive testing when changing rules. The rules engine retrieves rules dynamically from the repository, maintaining adaptability while reducing complexity.
Solution Approach 2:
The patent extracts rule definitions from the application code and places them in a separate, dedicated rules repository. This extraction separates the rule management burden from the application code, allowing rules to be modified independently without requiring changes to, review of, or testing of the application code. The application code simply references the rules repository, maintaining functionality while simplifying rule management.
2Device complexity
If a rules engine with separate rule sets is used, then rule modifications do not require code changes and extensive testing, but the system requires a specialized data retrieval process to select appropriate data streams from external databases based on code samples
Solution Approach 1:
The patent introduces an intermediary component (the rules engine with integrated data retrieval logic) that mediates between the rules repository and external databases. This intermediary automatically selects the appropriate data streams from external databases based on the code sample being analyzed and the rules being applied. It handles the complexity of data stream identification and retrieval, shielding users from this difficulty while enabling flexible rule modifications.
Solution Approach 2:
The rules engine implements self-service by automatically identifying and selecting the appropriate data streams from external databases based on the code sample characteristics and rule requirements. The system autonomously performs data retrieval without requiring manual configuration or user intervention, simplifying the process while handling the complexity internally through automated data stream selection logic.
Data Source
AI summary
The systems and methods provide continuous integration and continuous deployment pipeline management using pipeline-agnostic rule sets applied to pre-deployment code samples. The system standardizes the application of a rule set to a pre-deployment code sample to use data at a given location, but the system allows for the sample itself to determine which data stream of the data streams at that data location is used. As such, the systems and methods avoid the need for the plethora of rule sets that would overwhelm a user and defeat the purpose of the CaaS product, but the system allows for processing pre-deployment code samples that are specific to the sample.


