Merit-Based Software Build Inclusion System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software development organizations face challenges in consistently creating usable builds of software systems under development, as they need to ensure that downstream parties can utilize the most recent program code updates, while maintaining stability and controlling code contributions effectively.
Innovation Solution
A method and system for determining the merit score of users based on the success of their prior changes, where the merit score is compared to a threshold to decide whether to include their changes in a build, allowing for flexible acceptance criteria based on user credibility and contribution history.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If stringent controls are applied to determine what program code may be contributed to a build, then build stability is improved, but the ability to incorporate recent program code updates is reduced
Solution Approach 1:
The patent implements dynamic control by adjusting the stringency of code contribution controls based on build stability level. More stable builds apply stricter controls, while less stable builds allow more flexible contributions. This dynamic adjustment resolves the contradiction by adapting the control level to the current state of the build system.
Solution Approach 2:
The patent changes the parameter of control stringency based on the stability continuum. By varying the acceptance criteria for code contributions according to the build's position on the stability continuum, the system balances between maintaining stability and incorporating updates efficiently.
2Adaptability or versatility
If multiple different builds are created to serve downstream parties, then usability for different parties is improved, but system complexity increases
Solution Approach 1:
The patent creates builds with universal characteristics by designing them to serve multiple downstream parties simultaneously. Builds are constructed with broad compatibility and functionality that can be utilized by test teams, early adopters, integrating partners, and other downstream users, reducing the need for multiple specialized builds.
Solution Approach 2:
The patent segments the build creation process into standardized templates or categories that can be selectively applied. By organizing builds into reusable segments with defined characteristics, the system manages complexity while maintaining adaptability for different downstream needs.
3Manufacturing precision
If a merit-based system is implemented to filter code contributions, then build quality is improved, but the processing overhead increases
Solution Approach 1:
The patent implements a self-service merit evaluation system where the build system automatically assesses code contributions against predefined criteria. The system serves itself by autonomously determining merit scores and making acceptance decisions, eliminating the need for manual review while maintaining quality control.
Solution Approach 2:
The patent incorporates feedback mechanisms where the outcomes of code contributions are tracked and used to refine merit evaluation. The system learns from past contributions and adjusts merit scores accordingly, improving quality control while streamlining the evaluation process through automated feedback loops.
Data Source
AI summary
Software configuration management for a software system under development includes receiving a change to the software system under development from a first user, determining a merit score for the first user, wherein the merit score is calculated according to success of prior changes received from the first user, and comparing, using a processor, the merit score for the first user with a merit threshold for the software system under development. The change is accepted for inclusion in a build of the software system under development responsive to determining that the merit score for the first user complies with the merit threshold.


