SMT-Guided Inductive Equivalence for Vetted Code Replacement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software often includes inefficient or less than ideal code portions due to the time requirements associated with finding and reviewing existing software, lack of knowledge of its presence, or personal preference, leading to suboptimal performance and resource usage, particularly in mobile computing where storage, processing, and power are critical.

Innovation Solution

A machine-based system uses SMT solvers and automated theorem provers to identify functionally equivalent candidate functions and automatically transform them into vetted, preferred functions, ensuring equivalence within defined hypothesis strength and resource limitations, thereby optimizing code for efficiency, security, and readability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If programmers manually review and select existing software code, then code quality and performance can be improved, but time consumption and development efficiency deteriorate

Engineering Contradiction:
Improvecode qualityVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by automatically identifying functionally equivalent code segments and generating replacement code without human intervention. The automated code review system analyzes existing code, finds equivalent implementations, and performs replacements autonomously, eliminating the need for manual programmer review while maintaining code quality improvements

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual review process with an automated computational system. Instead of programmers manually examining and comparing code segments, an automated system uses algorithms to identify equivalent code and generate optimized replacements, substituting human mechanical review with automated mechanical processing

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If programmers write new code instead of using existing software, then personal preference and customization are satisfied, but development time and resource usage increase

Engineering Contradiction:
ImprovecustomizationVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system uses copying by identifying existing functional code segments and creating copies or variations of them for replacement. Instead of requiring programmers to write code from scratch to satisfy personal preference, the system copies proven functional implementations and adapts them to the specific context, maintaining customization while improving development efficiency

Inventive Principle:
Principle #26Copying

3Productivity

If inefficient code is used in mobile computing, then development speed is maintained, but storage, processing, and power consumption worsen

Engineering Contradiction:
Improvedevelopment speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary action by automatically identifying and replacing inefficient code segments before the software is deployed to mobile devices. The automated code review and replacement process occurs during development, preparing optimized code in advance so that when the software runs on mobile devices, it consumes less power and resources without requiring slower development processes

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3545407B1Inductive equivalence in machine-based instruction editing
Publication Date: 2025.09.03 PHASE CHANGE SOFTWARE LLC
  • EP3545407B1 patent drawingFigure 1
  • EP3545407B1 patent drawingFigure 2
  • EP3545407B1 patent drawingFigure 3

AI summary

Computer software development has produced many advances within computer science and in most aspects of modern society. Even with modern quality control, bug finding, and other code checking applications, computer software is often less than ideal. A developer may write code that is functionally accurate but lacks security, documentation, speed, storage, reusability, or other element that may make a segment of software code less than ideal. Identifying equivalent code, within a defined hypothesis strength and/or resource limitation, and, when found, replacing it with a vetted equivalent promotes the deployment of software that is more robust, secure, usable and reusable, and/or satisfies performance or other objectives.