Middleware Switch for Binary Defect Repair

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software defect management systems face challenges in efficiently fixing defects in deployed software, as third-party patches and plug-ins lack knowledge of the internal workings of the software, making it difficult to effectively address defects post-deployment.

Innovation Solution

A middleware switch system that intercepts API calls, determines if they are defective, and routes them to a local implementation or the original server, ensuring correct processing by maintaining a local copy of shared data and implementing necessary business logic to handle defective APIs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If third-party patches or plug-ins are used to fix software defects, then the software can be repaired post-deployment, but the effectiveness is reduced because third parties lack knowledge of the internal workings of the original software

Engineering Contradiction:
Improvepost-deployment defect repair capabilityVSAvoiddefect fixing effectiveness
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

The patent introduces a wrapper as an intermediary layer between the defective software and the third-party defect management system. This wrapper provides controlled access to internal software states and structures through standardized interfaces, enabling third parties to effectively diagnose and fix defects without needing deep knowledge of the proprietary internal workings. The wrapper acts as a mediator that translates internal software states into observable information while maintaining encapsulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If patches are used to correct defects by replacing defective code, then the defect is fixed, but the system requires access to and knowledge of the internal software structure

Engineering Contradiction:
Improvesoftware correctnessVSAvoidaccess to internal structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a wrapper that contains copied representations of internal software states, data structures, and execution contexts. Instead of requiring direct access to the original proprietary internal structures, the wrapper maintains replicated versions that can be safely inspected and manipulated. This copying approach allows third-party defect management systems to work with accurate representations of internal states without needing access to or knowledge of the actual proprietary implementation details.

Inventive Principle:
Principle #26Copying

3Ease of repair

If wrapper solutions are implemented to encapsulate defective portions, then the defective code is isolated, but developing the wrapper requires knowledge of the internal structure of the defective software

Engineering Contradiction:
Improvedefect isolation capabilityVSAvoidwrapper development complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms within the wrapper that automatically generate the necessary interface definitions, state representations, and access methods. The wrapper includes automated tools that can introspect the defective software and generate the appropriate wrapper code and interface specifications without requiring manual analysis by wrapper developers. This self-service capability significantly reduces the complexity of wrapper development while maintaining the ability to effectively encapsulate and isolate defective portions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9547581B2Systems and methods for fixing software defects in a binary or executable file
Publication Date: 2017.01.17 WIPRO LTD
  • US9547581B2 patent drawing
  • US9547581B2 patent drawing
  • US9547581B2 patent drawing

AI summary

This disclosure relates generally to application development, and more particularly to systems and methods for fixing software defects in a binary or executable file. In one embodiment, a software defect management system is disclosed, comprising: a processor; and a memory disposed in communication with the processor and storing processor-executable instructions comprising instructions for: obtaining an application programming interface call for a black-box software application; determining whether the black-box software application is configured in a defective manner to process the application programming interface call; identifying a call processing application to process the application programming interface call, based on determining whether the black-box software application is configured in a defective manner to process the application programming interface call; and providing the application programming interface call for the identified call processing application.