Semantic Catalogue for Code Modification Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based services, particularly IaaS, face challenges in debugging and testing due to the complexity and size of their executable source code, as larger teams introduce more modifications, leading to increased debugging time and the inability of traditional test suites to detect semantic errors or ensure semantic correctness.

Innovation Solution

A semantic catalogue is created to track and test modifications by defining semantic objects that represent the meaning of code segments, mapping these objects to specific code locations, and using them to execute test suites that detect semantic-related errors and relationships, thereby facilitating debugging and ensuring semantic correctness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional test suites are used to test cloud-based services, then basic functional testing can be performed, but semantic errors and semantic correctness cannot be detected

Engineering Contradiction:
Improvedetection capabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces semantic objects as intermediary elements that bridge the gap between traditional test suites and semantic correctness verification. These semantic objects serve as mediators that connect code segments to their intended semantic meanings, enabling the detection of semantic errors while maintaining the existing test suite structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the codebase into meaningful semantic units by defining semantic objects that represent specific code segments with their associated semantic meanings. This segmentation allows for targeted semantic testing without requiring complete rewriting of the testing system, thus improving detection capability while managing complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If frequent modifications are made to executable source code by larger development teams, then cloud-based services can be continuously updated and improved, but debugging errors becomes increasingly time consuming and burdensome

Engineering Contradiction:
Improveupdate frequencyVSAvoiddebugging time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by defining semantic objects and establishing semantic relationships before modifications are made to the code. This allows for proactive tracking of semantic correctness, enabling developers to identify potential issues before they become actual bugs, thus reducing debugging time while maintaining high update frequency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through semantic relationship tracking that automatically monitors modifications to code segments. When changes are made, the system provides immediate feedback on whether semantic relationships are maintained or violated, enabling rapid identification and correction of errors without extensive manual debugging.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If semantic objects are defined and mapped to code segments to track modifications, then semantic correctness can be verified, but the complexity of the testing system increases

Engineering Contradiction:
Improvesemantic verification accuracyVSAvoidsemantic catalogue complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent makes semantic objects universal by designing them to serve multiple functions: representing code segments, encoding semantic meanings, tracking modifications, and verifying semantic relationships. This multi-functionality reduces the need for separate specialized components, thereby improving measurement precision without proportionally increasing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11119907B1Techniques for tracking and testing code modifications using semantic catalogue
Publication Date: 2021.09.14 ORACLE INT CORP
  • US11119907B1 patent drawing
  • US11119907B1 patent drawing
  • US11119907B1 patent drawing

AI summary

Techniques are described for building a semantic catalogue including a set of semantic objects. A semantic object may be used to map a granularity (e.g., a level of abstraction) and a semantic characteristic (e.g., a meaning or interpretation) to one or more code segments (e.g., a range of lines of code) of executable source code. An application development system may track modifications to the executable source code in terms of semantics using the semantic catalogue. Additionally, the application development system may execute test suites designed based on the semantic catalogue to detect semantic-related errors, semantic relationships between multiple semantic objects, or inconsistencies with semantic objects.