Semantic Data Binding for Automated Software Test Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of modern software makes it difficult to verify functionality through code review alone, necessitating a resource-intensive and tedious process of creating meaningful input data for testing, which lacks efficiency and uniformity.

Innovation Solution

Binding semantic meaning to the syntactic type of data values enables the creation of synmantic data objects that include syntactic type attributes and semantic meaning attributes, allowing for the automated generation of relevant data for software testing, reducing the need for manual data creation and enhancing test coverage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual creation of test data is performed, then test coverage can be ensured, but the process becomes tedious and resource-intensive

Engineering Contradiction:
Improvetest coverageVSAvoidtime for data creation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by allowing the testing framework to automatically generate test data based on semantic type definitions and syntactic requirements, eliminating the need for manual data creation while ensuring comprehensive test coverage through automated data generation processes

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-defining semantic types and their associated syntactic characteristics before testing begins. This allows the system to automatically generate appropriate test data without manual intervention, as the data generation rules are established in advance through semantic type declarations

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If ad hoc data creation is performed for each software test, then relevant test data can be generated, but the process lacks efficiency and uniformity

Engineering Contradiction:
Improvedata relevanceVSAvoidtesting efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system utilizes parameter changes by dynamically adjusting data generation parameters based on semantic type definitions. The automated system varies syntactic parameters (data types, formats, constraints) according to the semantic meaning being tested, enabling efficient and uniform data creation across different test scenarios without manual intervention

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements universality by creating a unified framework that handles diverse data generation requirements through a single semantic type system. This multi-functional approach allows the same framework to generate various types of test data (strings, numbers, dates, complex structures) according to their semantic meanings, improving overall testing efficiency

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

3Extent of automation

If semantic meaning is bound to syntactic type, then automated data generation is enabled, but system complexity increases

Engineering Contradiction:
Improvedata generation automationVSAvoidsystem structure
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the system into distinct semantic types, each with well-defined syntactic characteristics and generation rules. This modular segmentation allows automated data generation to be implemented through discrete, manageable type definitions rather than a monolithic complex system, making the automation approach more achievable and maintainable

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7565648B2Syntactic to semantic binding
Publication Date: 2009.07.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7565648B2 patent drawing
  • US7565648B2 patent drawing
  • US7565648B2 patent drawing

AI summary

In order to facilitate automated operations with software, semantic meaning of data values is bound to the syntactic type of the data values. In a described implementation, a piece of software accepts inputs and produces outputs. The inputs have a specified syntactic type (e.g., runtime type) and an expected semantic meaning. The semantic meaning corresponds to a real-world description of relevant data for the input. Providing a data set that matches the specified syntactic type and the expected semantic meaning as input to the software enables a relevant operation with the software to be performed. An example automated operation is the testing of a piece of software. In another described implementation, a synmantic data object is created and/or utilized that includes a syntactic type attribute and a semantic meaning attribute for the contained data value(s). Other optional attributes include locale indication and a validity flag.