Sign In to Follow Application
View All Documents & Correspondence

System And Method For Predictive Detection And Resolution Of Software Compatibility Bugs

Abstract: The present invention describes a system and method for predictive detection and resolution of software compatibility bugs. The system comprises of a software composition analyser module, build artifact analyser module, environment discovery engine module, canonical component graph builder module, compatibility repository module, what-if simulation engine module and correction proposal engine module, CI/CD feedback loop module, and non-resolvable warning engine module. The compatibility engine uses constraint-solving algorithms to evaluate alternate component sets. The build artifacts are scanned using language-specific or OS-level tools to extract embedded dependencies. The target environment discovery is augmented with SBOM metadata. The corrections are automatically generated and pushed into a CI/CD workflow. The compatibility repository evolves based on validation feedback from prior builds. The system combines static composition analysis with real-time environment discovery and dynamic resolution simulation.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
11 April 2025
Publication Number
41/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Persistent Systems
Bhageerath, 402, Senapati Bapat Rd, Shivaji Cooperative Housing Society, Gokhale Nagar, Pune - 411016, Maharashtra, India

Inventors

1. Mr. Nitish Shrivastava
10764 Farallone Dr, Cupertino, CA 95014-4453, United States.
2. Mr. Bharath Mohanraj
6883, Chantel Ct, San Jose, CA 95129, United States
3. Mr. Anurag Kumar
6917, Chantel Ct., San Jose, CA – 95129, United States

Specification

Description:FIELD OF INVENTION
The present invention relates to software deployment systems. It particularly relates to a system and method for predictively detecting and resolving software compatibility bugs between application components and runtime environments. More specifically, the system uses a combination of Software Bill of Materials (SBOM), build artifacts, target environment discovery, a compatibility knowledge graph, and an intelligent What-if simulation engine to pre-emptively resolve conflicts.

BACKGROUND
The modern software development landscape is characterized by its reliance on a vast ecosystem of open-source libraries, third-party modules, and containerized deployment strategies. This complexity, while offering numerous benefits in terms of development speed and feature richness, introduces significant challenges in maintaining software compatibility across diverse runtime environments.
Specifically, the deployment of applications to environments such as cloud virtual machines, container orchestration systems, and on-premise infrastructure frequently encounters compatibility bugs. These bugs manifest as unexpected failures, performance degradation, or security vulnerabilities, stemming from mismatches in component versions, unresolved dependencies, or platform-specific conflicts. Traditional software analysis tools, including those focused on Software Composition Analysis (SCA), often provide static insights into application dependencies. While these tools are valuable for identifying known vulnerabilities and licensing issues, they lack the dynamic integration necessary to effectively assess and resolve compatibility issues within the context of specific target environments.
A critical gap exists in the current state of the art: the absence of an intelligent, predictive system capable of pre-emptively identifying and resolving software compatibility bugs before deployment. This necessitates a system that can effectively bridge the divide between static component analysis and dynamic runtime environment discovery. The need for such a system is becoming increasingly acute as software deployments become more complex and distributed. The proliferation of microservices, containerization, and cloud-native architectures exacerbates the challenges of ensuring compatibility across heterogeneous environments.
NL2029881 describes methods, systems, and apparatus for automatic detection of software bugs are disclosed. An example apparatus includes a comparator to compare reference code to input code to detect a source code error in the input code; a graph generator to generate a graphical representation of the reference code or the input code, the graphical representation to identify non-overlapping code regions; and a root cause determiner to determine a root cause of the source code error in the input code, the root cause based on the non-overlapping code regions.
US10949338B1 describes methods and devices for analysing source code to detect potential bugs in the code. Specifically, a device retrieves source code of an application. For each distinct execution of a plurality of executions of the application, the device initiates the respective execution at a particular starting point of the source code and inputs, into the source code, a unique set of inputs relative to any other execution. The device stores, into a path log, an indication of each line of source code and stores, into an output log, an indication of each output object encountered during the respective execution. Each output object includes a local variable dependent on the inputs. The device analyses, using a machine learning model, the path and output logs to identify an abnormality indicative of a potential bug in the source code. The device outputs a graphical representation of the abnormality.
Therefore, there is a pressing need for a novel approach that combines comprehensive software composition analysis and for an intelligent, predictive system that prevents such failures before deployment.

DEFINITIONS:
The expression “system” used hereinafter in this specification refers to an ecosystem comprising, but is not limited to a system with a user, input and output devices, processing unit, plurality of mobile devices, a mobile device-based application to identify dependencies and relationships between diverse businesses, a visualization platform, and output; and is extended to computing systems like mobile, laptops, computers, PCs, etc.
The expression “input unit” used hereinafter in this specification refers to, but is not limited to, mobile, laptops, computers, PCs, keyboards, mouse, pen drives or drives.
The expression “output unit” used hereinafter in this specification refers to, but is not limited to, an onboard output device, a user interface (UI), a display kit, a local display, a screen, a dashboard, or a visualization platform enabling the user to visualize, observe or analyse any data or scores provided by the system.
The expression “processing unit” refers to, but is not limited to, a processor of at least one computing device that optimizes the system.
The expression “large language model (LLM)” used hereinafter in this specification refers to a type of machine learning model designed for natural language processing tasks such as language generation. LLMs are language models with many parameters, and are trained with self-supervised learning on a vast amount of text.
The expression “API” used hereinafter in this specification stands for Application Programming Interface. It is a set of protocols, routines, and tools for building software and applications. An API specifies how software components should interact and allows different software systems to communicate with each other.
The expression “Software Bill of Materials (SBOM)” used hereinafter in this specification refer a machine-readable file containing an inventory of all the software components used in an application, including open-source, proprietary, or licensed components. It provides information on authorship, vulnerability, dependency, and other details as the application evolves over time.
The expression “persistent uniform resource locator (PURL)” used hereinafter in this specification refers to a uniform resource locator (URL) (i.e., location-based uniform resource identifier or URI) that is used to redirect to the location of the requested web resource. PURLs redirect HTTP clients using HTTP status codes.
The expression “parsing” used hereinafter in this specification refers to the process of analysing code (or any input data) to understand its structure and meaning based on the rules of a language (like Python, JavaScript, etc.).
The expression “package manifest” used hereinafter in this specification refer to a configuration file that describes metadata about a software package—such as its name, version, dependencies, scripts, and other important settings required for building, installing, or running the package.
The expression “environment identifier” used hereinafter in this specification refer to a label, name, or unique ID used to specify or distinguish between different execution environments where software runs—like development, testing, staging, or production.
The expression “CI/CD pipeline” used hereinafter in this specification refer to a set of automated steps that build, test, and deploy code every time changes are made—making software delivery faster, safer, and more reliable.CI/CD stands for: CI = Continuous Integration CD = Continuous Delivery (or Continuous Deployment).
The expression “Compatibility bugs” used hereinafter in this specification refer to issues that occur when software behaves incorrectly or crashes because it's not fully compatible with the environment it's running in. The bugs often come from mismatched assumptions between the software and its platform, libraries, or tools.
OBJECTS OF THE INVENTION:
The primary object of the present invention is to provide a system and method for predictive detection and resolution of software compatibility bugs.
Another object of the present invention is to provide a system and method for predictive detection and resolution of software compatibility bugs that parses application SBOMs and build artifacts to extract dependency trees.
Yet another object of the invention is to provide a system and method for predictive detection and resolution of software compatibility bugs that uses Software Composition Analysis, Target Environment Discovery, and Intelligent What-If Simulation.
Yet another object of the invention is to provide a system and method for predictive detection and resolution of software compatibility bugs that validates fixes via CI/CD pipeline integration and flags unsolvable conflicts for manual review.

SUMMARY
Before the present invention is described, it is to be understood that the present invention is not limited to specific methodologies and materials described, as these may vary as per the person skilled in the art. It is also to be understood that the terminology used in the description is for the purpose of describing the particular embodiments only and is not intended to limit the scope of the present invention.

The present invention describes a system and method for predictive detection and resolution of software compatibility bugs. The system uses software composition analysis, target environment discovery, and intelligent what-if simulation. The system comprises of an input unit, a processing unit and output unit, wherein the processing unit further comprises of software composition analyser module, build artifact analyser module, environment discovery engine module, canonical component graph builder module, compatibility repository module, what-if simulation engine module and correction proposal engine module, CI/CD feedback loop module, and non-resolvable warning engine module.
According to an aspect of the present invention, the method comprises the steps of parsing application SBOMs and build artifacts to extract dependency trees; discovering runtime modules, libraries, and services from the target environment; building a unified graph of components and queries a compatibility repository built from public dependency graphs and historical deployment data; simulating possible resolutions using a constraint-solving what-if engine; proposing fixes and updating dependency files; validating fixes via CI/CD pipeline integration and flagging unsolvable conflicts for manual review.

BRIEF DESCRIPTION OF DRAWINGS
A complete understanding of the present invention may be made by reference to the following detailed description which is to be taken in conjugation with the accompanying drawing. The accompanying drawing, which is incorporated into and constitutes a part of the specification, illustrates one or more embodiments of the present invention and, together with the detailed description, it serves to explain the principles and implementations of the invention.

FIG.1 illustrates a flowchart that depicts the method of the present invention.

DETAILED DESCRIPTION OF INVENTION:
Before the present invention is described, it is to be understood that this invention is not limited to methodologies described, as these may vary as per the person skilled in the art. It is also to be understood that the terminology used in the description is for the purpose of describing the particular embodiments only and is not intended to limit the scope of the present invention. Throughout this specification, the word “comprise”, or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps. The use of the expression “at least” or “at least one” suggests the use of one or more elements or ingredients or quantities, as the use may be in the embodiment of the invention to achieve one or more of the desired objects or results. Various embodiments of the present invention are described below. It is, however, noted that the present invention is not limited to these embodiments, but rather the intention is that modifications that are apparent are also included.
The present invention describes a system and method for predictive detection and resolution of software compatibility bugs. The system uses software composition analysis, target environment discovery, and intelligent what-if simulation. The system comprises of an input unit, a processing unit and output unit, wherein the processing unit further comprises of software composition analyser module, build artifact analyser module, environment discovery engine module, canonical component graph builder module, compatibility repository module, what-if simulation engine module and correction proposal engine module, CI/CD feedback loop module, and non-resolvable warning engine module.
According to an embodiment of the present invention,
According to the embodiment of the present invention, the function of the modules are described hereunder:
1. Software composition analyser module:
• Input is SBOM files (CycloneDX/SPDX) and package manifests (e.g., pom.xml, package.json). It processes extracts component names, versions, licenses, PURLs.
• Example: An SBOM lists log4j:2.14.0. The analyser tags it with known CVEs and dependencies like slf4j.
2. Build artifact analyser module:
• Input is JAR, Docker images, Python wheels, ELF binaries. A JAR file is a packaged Java application that bundles together Java class files, metadata, and resources (like images or config files). A Docker image is a snapshot of a complete software environment: code, dependencies, OS libraries, and more. A python wheel is a binary distribution format for Python packages—used by tools like pip. ELF is a standard binary format for executables, object code, shared libraries, and core dumps in Unix/Linux systems. It processes the input by using tools for analysing software artifacts like binaries, JARs and containers like (jdeps, readelf, syft) to extract embedded dependencies. Jdeps is Java Dependency analyser, readelf is ELF File reader. The build artifacts are scanned using language-specific or OS-level tools to extract embedded dependencies.
Extracting embedded dependencies refers to the process of identifying and pulling out libraries, packages, or modules that are bundled inside a larger software artifact—like a .jar, .whl, Docker image, or binary—so they can be analyzed or reused separately.
• Example: A JAR file reveals embedded commons-io:2.4, logback:1.2.3.
3. Environment discovery engine module:
• Input is the target environment identifier (VM ID, Docker image, etc). It processes the input by using Docker API, SSH agents, dpkg, yum to scan installed modules. If SBOM exists for the target, it is merged for accuracy. The target environment discovery is augmented with SBOM metadata.
• Example: On a RedHat container, discovers glibc:2.17, openssl:1.0.2.
4. Canonical component graph builder module:
• In the graph structure, the Nodes are components and the edges are dependencies/conflicts. The attributes are source (SBOM, env, artifact), hash, version, license.
5. Compatibility repository module:
• This module contains curated graphs from Maven Central, PyPI, Docker Hub, etc. It also maintains known incompatible pairs, e.g., tensorflow:2.10 vs numpy:1.26. The structure is Graph database (Neo4j) with traversal APIs. The compatibility engine uses constraint-solving algorithms to evaluate alternate component sets. The compatibility repository evolves based on validation feedback from prior builds.
• Example Query: “Which version of openssl works with grpc:1.45.0 and alpine:3.17?”
6. What-if simulation engine module:
• This module functions to simulate all configurations that resolve conflicts.
• It uses Z3 or SAT solvers to find minimal component substitutions.
• Example:
o Input: Conflict between log4j:2.14.0 and openssl:1.0.2
o Output: Suggests upgrading to log4j:2.17.1, compatible with openssl:1.1.1.
7. CORRECTION PROPOSAL ENGINE module:
• This module updates manifests or Docker files.
• Examples:
o requirements.txt: Replaces flask with a compatible version.
o Docker file: Adds RUN apt-get upgrade openssl
• CI/CD Trigger: Automatically pushes fix to GitHub Actions or Jenkins.
8. CI/CD feedback loop module:
• This module functions to runs tests, captures logs. It also adds result to compatibility repository. The corrections are automatically generated and pushed into a CI/CD workflow.
• Example: If build passes with suggested changes, the repository tags this combination as safe.
9. Non-resolvable warning engine module:
• This module functions to detect dead-ends. As an output it flags: “Incompatible with base image. Recommend infra update.” The module helps to raise unresolved configuration warnings, suggesting infrastructure or platform changes.
• Example: Alpine image lacks Glibc. Suggest switching to Debian.

EMBEDDED WORKFLOWS
Workflow A: Ingestion
Input: SBOM + Artifacts + Target
├──> Parse SBOM
├──> Analyze Artifacts
└──> Scan Environment

Canonical Graph of Components
Workflow B: Conflict Resolution
Canonical Graph
└──> What-If Engine
├──> Simulates alternatives
└──> Suggests fix: e.g., upgrade log4j, switch base image

Updated Manifest + Docker file
Workflow C: CI/CD Integration
Corrected App Spec
└──> Trigger CI/CD Build
├──> Test, Lint, Validate
└──> Success? Update Knowledge Graph : Flag Error
According to an embodiment of the present invention, the method for hybrid review and risk assessment of software commit request, as illustrated in FIG. 1, comprises the steps of:
• parsing application SBOMs and build artifacts to extract dependency trees;
• discovering runtime modules, libraries, and services from the target environment;
• building a unified graph of components and queries a compatibility repository built from public dependency graphs and historical deployment data;
• simulating possible resolutions using a constraint-solving what-if engine;
• proposing fixes and updating dependency files;
• validating fixes via CI/CD pipeline integration;
• flagging unsolvable conflicts for manual review.
Therefore, the present invention provides a predictive system that combines static composition analysis with real-time environment discovery and dynamic resolution simulation intelligent. It provides a predictive system that detects and resolves software compatibility bugs between application components and runtime environments.
While considerable emphasis has been placed herein on the specific elements of the preferred embodiment, it will be appreciated that many alterations can be made and that many modifications can be made in preferred embodiment without departing from the principles of the invention. These and other changes in the preferred embodiments of the invention will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the invention and not as a limitation.
, Claims:We claim,

1. A system and method for predictive detection and resolution of software compatibility bugs
characterised in that
the system comprises of an input unit, a processing unit and output unit, wherein the processing unit further comprises of software composition analyser module, build artifact analyser module, environment discovery engine module, canonical component graph builder module, compatibility repository module, what-if simulation engine module and correction proposal engine module, CI/CD feedback loop module, and non-resolvable warning engine module;
and the method comprises the steps of:
• parsing application SBOMs and build artifacts to extract dependency trees;
• discovering runtime modules, libraries, and services from the target environment;
• building a unified graph of components and queries a compatibility repository built from public dependency graphs and historical deployment data;
• simulating possible resolutions using a constraint-solving what-if engine;
• proposing fixes and updating dependency files;
• validating fixes via CI/CD pipeline integration;
• flagging unsolvable conflicts for manual review.

2. The system and method as claimed in claim 1, wherein the system uses software composition analysis, target environment discovery, and intelligent what-if simulation.

3. The system and method as claimed in claim 1, wherein the compatibility engine uses constraint-solving algorithms to evaluate alternate component sets.

4. The system and method as claimed in claim 1, wherein build artifacts are scanned using language-specific or OS-level tools to extract embedded dependencies.

5. The system and method as claimed in claim 1, wherein the target environment discovery is augmented with SBOM metadata.

6. The system and method as claimed in claim 1, wherein corrections are automatically generated and pushed into a CI/CD workflow.

7. The system and method as claimed in claim 1, wherein the compatibility repository evolves based on validation feedback from prior builds.

8. The system and method as claimed in claim 1, wherein non-resolvable warning engine module raises unresolved configuration warnings, suggesting infrastructure or platform changes.

9. The system and method as claimed in claim 1, wherein the system combines static composition analysis with real-time environment discovery and dynamic resolution simulation.

Documents

Application Documents

# Name Date
1 202521036194-STATEMENT OF UNDERTAKING (FORM 3) [11-04-2025(online)].pdf 2025-04-11
2 202521036194-POWER OF AUTHORITY [11-04-2025(online)].pdf 2025-04-11
3 202521036194-FORM 1 [11-04-2025(online)].pdf 2025-04-11
4 202521036194-FIGURE OF ABSTRACT [11-04-2025(online)].pdf 2025-04-11
5 202521036194-DRAWINGS [11-04-2025(online)].pdf 2025-04-11
6 202521036194-DECLARATION OF INVENTORSHIP (FORM 5) [11-04-2025(online)].pdf 2025-04-11
7 202521036194-COMPLETE SPECIFICATION [11-04-2025(online)].pdf 2025-04-11
8 202521036194-FORM-9 [26-09-2025(online)].pdf 2025-09-26
9 202521036194-FORM 18 [01-10-2025(online)].pdf 2025-10-01
10 Abstract.jpg 2025-10-08