Code-Block Markers for Software Maintainability and Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems lack awareness of the characteristics of code-blocks being executed, leading to issues in maintainability, performance, and security, such as incomplete cleanup during software updates and inability to differentiate between internal and external function calls.

Innovation Solution

A system that assigns unique markers to each code-block based on desired performance and security characteristics, allowing the processor to differentiate and track code-blocks, and notify the operating system of transitions, enabling improved maintainability, performance, and security by associating markers with code-blocks and managing memory allocation accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code-blocks are executed in a single thread without markers, then the system is simpler to implement, but the system lacks awareness of code-block characteristics leading to poor maintainability and security

Engineering Contradiction:
Improvesystem awareness of code-block characteristicsVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the code into distinct code-blocks with unique markers, allowing the system to differentiate and track each segment's characteristics. This segmentation enables the processor to maintain awareness of code-block properties without requiring complete system redesign, resolving the contradiction between system awareness and structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces markers as intermediary elements carried by code-blocks to convey their characteristics to the processor and operating system. These markers act as mediators that enable system awareness without directly modifying the code-execution mechanism, thus improving reliability while minimizing complexity increase.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of repair

If markers are assigned to each code-block to improve maintainability and security, then code-block differentiation and tracking are enabled, but the system requires additional translation and processing steps

Engineering Contradiction:
Improvecode-block maintainabilityVSAvoidcode translation and processing efficiency
Core Design Contradiction:
Ease of repairVSProductivity

Solution Approach 1:

The patent performs marker assignment during the compilation or loading phase before code execution begins. By pre-assigning markers to code-blocks, the system avoids adding overhead during runtime execution, thereby maintaining high productivity while enabling improved maintainability through marker-based tracking.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The code-blocks carry their own markers as part of their structure, allowing them to identify and track themselves without requiring external intervention during execution. This self-service mechanism enables maintainability features while minimizing processing overhead, as the markers are inherent to the code-blocks rather than added by external systems.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If code-blocks with different characteristics are executed together in a single application, then resource utilization is optimized, but security risks increase due to inability to differentiate between internal and external function calls

Engineering Contradiction:
Improvecode-block execution flexibilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent assigns unique markers to code-blocks based on their specific characteristics and execution requirements. This local quality differentiation allows the system to maintain execution flexibility while enabling security measures, as each code-block's marker indicates its trust level and execution context, allowing selective execution based on security policies.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements a feedback mechanism where the operating system monitors marker changes during code execution and can respond accordingly. When a code-block with restricted execution privileges attempts to call external functions, the system detects the marker change and blocks the call, thus preventing security vulnerabilities while maintaining the flexibility to execute diverse code-blocks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8850410B2System using a unique marker with each software code-block
Publication Date: 2014.09.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8850410B2 patent drawing
  • US8850410B2 patent drawing
  • US8850410B2 patent drawing

AI summary

A system and method for improving software maintainability, performance, and/or security by associating a unique marker to each software code-block; the system comprising of a plurality of processors, a plurality of code-blocks, and a marker associated with each code-block. The system may also include a special hardware register (code-block marker hardware register) in each processor for identifying the markers of the code-blocks executed by the processor, without changing any of the plurality of code-blocks.