Automated Software Validation and Repair Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software validation frameworks are inflexible, static, and fail to scale with multiple integrated applications, lacking the ability to introduce interdependencies between validation checks and requiring manual updates for system environment checks, which can lead to unpredictable application behavior and system corruption.

Innovation Solution

An automated system comprising a validation engine, listener, and repair engine that performs dynamic validation checks and repairs system environment conditions based on predefined rules, allowing for modular integration of validation checks and conditional logic to support various modes of operation and system environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If custom validation libraries are used to check system environment properties, then automation of validation checks is improved, but flexibility to modify or add checks without re-releasing applications deteriorates

Engineering Contradiction:
Improveautomation of validation checksVSAvoidflexibility to modify validation checks
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The validation system is segmented into separate components: a static validation framework and dynamic configuration files (XML). The framework provides automated validation execution, while external configuration files store check definitions, properties, and expected values. This separation allows the framework to remain fixed while enabling flexibility through configuration file modifications without requiring application re-release.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

External XML configuration files serve as intermediaries between the validation framework and the actual validation logic. These files act as a mediator layer that allows system administrators to define, modify, and update validation checks, properties, and thresholds without changing the underlying framework code, thus providing flexibility while maintaining automation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If fixed validation check values are used for each system property, then simplicity of validation criteria is improved, but ability to handle diverse system configurations and interdependencies deteriorates

Engineering Contradiction:
Improvesimplicity of validation criteriaVSAvoidability to handle diverse configurations
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The validation system transitions from static, hard-coded values to dynamic configuration-driven values. The XML configuration files allow validation properties, expected values, and check criteria to be dynamically defined and modified based on different system configurations, operations, and environments, enabling the system to adapt to diverse configurations while maintaining a simple underlying validation mechanism.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows validation parameters (expected values, thresholds, check criteria) to be changed through configuration files rather than code modifications. This enables different sets of validation checks to be performed depending on the operation being performed, supporting diverse system configurations while keeping the validation engine itself simple and unchanged.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If validation framework is designed for single application, then ease of implementation is improved, but scalability to support multiple integrated applications deteriorates

Engineering Contradiction:
Improveease of implementationVSAvoidscalability to support multiple applications
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The validation framework is designed with universal, application-agnostic architecture. It provides generic validation execution capabilities that can handle any number of applications through configuration files. The same framework infrastructure supports validation for multiple integrated applications by simply loading different configuration files, enabling scalability without requiring separate validation systems for each application.

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

Solution Approach 2:

The system scales from single-application to multi-application support by adding a configuration file dimension rather than changing the core framework. Each application can have its own XML configuration file defining its specific validation checks, properties, and interdependencies, allowing the framework to handle multiple applications simultaneously through configuration rather than code changes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Adaptability or versatility

If manual validation checks are used, then flexibility in performing checks is improved, but time consumption and error potential deteriorates

Engineering Contradiction:
Improveflexibility in performing checksVSAvoidtime consumption for validation
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Validation checks, expected values, and system properties are pre-defined and configured in XML configuration files before execution. This preliminary configuration allows the automated framework to perform validations efficiently without requiring manual setup during each validation run, reducing time consumption while maintaining the flexibility of configurable check criteria.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7962788B2Automated treatment of system and application validation failures
Publication Date: 2011.06.14 ORACLE INT CORP
  • US7962788B2 patent drawing
  • US7962788B2 patent drawing
  • US7962788B2 patent drawing

AI summary

Automated tools to validate a system environment for an application (and/or any other type of software component) and/or repair system environment conditions that might prevent the proper installation and/or functioning of the application or component are presented. Such tools can facilitate the installation and/or upgrade of software by automating the process of ensuring that all necessary requirements for the proper functioning of the software have been met.