Language-Independent Program Validation for Scripting Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods fail to effectively validate computer program applications, particularly those implemented in scripting languages that do not support the concept of classes and interfaces, leading to difficulties in detecting errors before runtime.

Innovation Solution

The approach involves receiving a language-independent description of a computer program, which includes a definition module and an implementation module, and generating a language-dependent program that can be validated by compiling the interface and class, allowing for syntax and usage checks to be performed, even for programs written in languages that do not natively support interfaces or classes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If scripting languages are used to implement computer programs, then ease of operation and rapid development are improved, but the ability to detect errors before runtime deteriorates because scripting languages do not support interfaces and classes

Engineering Contradiction:
Improveease of programmingVSAvoiderror detection capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary validation system that translates scripting language code into a form that can be validated using interface and class concepts. A validator component acts as a mediator between the scripting language parser and the validation logic, enabling error detection in scripts by translating them into an intermediate representation that supports interface-based validation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary validation of scripting language code before runtime execution. By validating the script code during the parsing and compilation phase, the system detects errors early in the development process, preventing runtime errors and improving reliability without sacrificing the ease of using scripting languages.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If language-specific validation methods are used for each programming language, then validation precision is improved, but device complexity and maintenance difficulty increase

Engineering Contradiction:
Improvevalidation precisionVSAvoidvalidation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal validation system that can validate multiple programming languages including scripting languages and compiled languages. The validator uses a common interface-based validation mechanism that works across different language types, eliminating the need for separate validation systems for each language and reducing overall system complexity.

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

Solution Approach 2:

The patent changes the validation approach from language-specific syntax checking to parameter-based interface validation. By validating against language-independent interface definitions rather than language-specific syntax rules, the system achieves consistent validation precision across different languages while simplifying the validation logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7584457B2Validating programs
Publication Date: 2009.09.01 SAP SE
  • US7584457B2 patent drawing
  • US7584457B2 patent drawing
  • US7584457B2 patent drawing

AI summary

Methods and apparatus, including computer program products implement techniques for validating programs. A language-independent description of a computer program is received, and the language-independent description is validated. The language-independent description includes a definition module and an implementation module. A language-dependent program is generated from the language-independent description, where the language-dependent program includes an interface and a class, and the language-dependent program is validated.