Automated SDLC Build System for Distributed Software Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Software Development Life Cycle (SDLC) methods require manual scripting and configuration for build and validation processes, leading to inefficiencies and a need for fully automated approaches that can automatically construct and execute software builds and validation processes without user intervention.

Innovation Solution

A system that automatically constructs and executes software builds and validation processes using distributed cloud compute resources, analyzing user-supplied code to generate test suites, identify build and test environment parameters, and optimize build and test operations, allowing for automatic detection and resolution of issues, and real-time communication of test results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual scripting and configuration are used for build and validation processes, then system complexity and setup overhead are reduced, but automation extent and productivity are limited

Engineering Contradiction:
Improveautomation of build and validation processesVSAvoidsystem complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system performs self-configuration by automatically analyzing submitted code repositories to identify build tools, dependencies, and test frameworks. The build system serves itself by generating configuration files and scripts without requiring manual intervention, thereby increasing automation while managing complexity through intelligent self-detection algorithms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts build parameters and configuration settings based on automated analysis of the codebase. By changing parameters such as build tools, dependency versions, and test frameworks according to the detected project characteristics, the system achieves high automation without requiring complex manual configuration for each project type.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If fully automated build and test environments are constructed, then productivity and speed are improved, but setup overhead and system complexity increase

Engineering Contradiction:
Improvebuild and validation speedVSAvoidsetup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of the code repository during the initial setup phase to automatically detect build tools, dependencies, and test frameworks. By completing this detection and configuration generation beforehand, the system minimizes setup time while enabling fast automated builds and validations in subsequent executions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates standardized templates and configuration files that can be copied and adapted for different project types. By maintaining a library of pre-configured build and test environment templates, the system reduces setup overhead while preserving productivity through rapid template instantiation and customization.

Inventive Principle:
Principle #26Copying

3Power

If distributed cloud compute resources are used, then scalability and processing power are improved, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improvecompute resources for building and testingVSAvoiddistributed system management
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The system introduces a build system as an intermediary layer between the user and distributed cloud compute resources. This intermediary automatically manages the complexity of resource allocation, task distribution, and result aggregation, allowing users to leverage powerful distributed computing without directly managing its complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The build system is designed as a universal platform that can manage diverse distributed compute resources including cloud services, local machines, and hybrid environments. By creating a multi-functional resource management layer that handles various resource types through unified interfaces, the system reduces the complexity of managing heterogeneous distributed resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10474559B2System for distributed software quality improvement
Publication Date: 2019.11.12 SOLANO LABS
  • US10474559B2 patent drawing
  • US10474559B2 patent drawing
  • US10474559B2 patent drawing

AI summary

Provided is a system for building and validating an application (including e.g., various software versions and revisions, programming languages, code segments, among other examples) without any scripting required by a system user. In one embodiment, an SDLC system is configured to construct a build and test environment, by automatically analyzing a submitted project. The build environment is configured to assemble existing user code, for example, to generate an application to test. Code building can include any one or more of code compilation, assembly, and code interpretation. The system can include a user interface provided to clients, users, and/or customer environments to facilitate user interaction and control of build and test validation. The system can accept user specification of configurations that controls the way the system runs the user's tests. The system can also provide flexible billing models for different customers.