Interactive Code Execution with Versioned Memory Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software development systems require restarting procedures from the beginning when changes are needed, lacking the ability to undo specific steps and modify code interactively.

Innovation Solution

An approach that includes an interpreter with a versioned memory system, allowing interactive coding by enabling the modification of code during runtime and rolling back memory to previous states, combined with natural language processing for user-friendly interaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional software execution systems are used, then code execution is straightforward and reliable, but any modification requires restarting the entire procedure from the beginning

Engineering Contradiction:
ImproveInteractive code modificationVSAvoidProcedure restart time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the procedural execution into discrete, independently controllable steps. Each step can be individually modified, executed, or undone without affecting the entire procedure. The system maintains a structured record of each step's execution state, allowing selective manipulation of specific segments rather than requiring full procedure restarts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-executing code steps and storing their results in memory before they are officially committed. This allows the user to examine intermediate results, make informed decisions about modifications, and undo specific steps if needed, all without restarting the entire procedure. The preliminary execution state is preserved and can be restored.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If code is written in an abstract setting with variables, then the code is more general and reusable, but it is more difficult to write and debug

Engineering Contradiction:
ImproveCode reusabilityVSAvoidCode writing difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer between abstract code and concrete execution results. This intermediary maintains a detailed record of each step's execution state, variable values, and memory changes. Users can interact with this intermediary to examine intermediate results, understand how abstract variables are being processed, and make targeted modifications without dealing with the full complexity of abstract programming.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If all code steps are executed sequentially, then the procedure is simple to implement, but inability to undo specific steps forces complete restarts

Engineering Contradiction:
ImproveSystem simplicityVSAvoidDevelopment efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the system continuously monitors and records the execution state of each code step. After each step executes, the system provides feedback about the resulting memory state and variable values. This feedback enables users to make informed decisions about which steps to modify or undo, and the system uses this feedback to selectively revert only the necessary steps rather than requiring complete procedure restarts.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12561133B2Coding interactively without having to restart a procedure
Publication Date: 2026.02.24 KOGNITOS INC
  • US12561133B2 patent drawing
  • US12561133B2 patent drawing
  • US12561133B2 patent drawing

AI summary

Disclosed is an improved approach to implement software programming which allows for interactive coding without having to restart a procedure. This is implemented using a combination of an interpreter which allows for modification of code during runtime using an interactive console and a versioned memory system used by the interpreter to roll-back memory to a previous state of execution.