Context-Sensitive Diagnostic Formatter Hierarchy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-level object-oriented languages generate complex and confusing diagnostic messages that mask underlying errors, and existing compiler diagnostic systems fail to preserve semantic information, leading to poor user understanding and integration issues across different programming environments.

Innovation Solution

A system that encapsulates and manages diagnostic information by preserving semantic data in structured representations, allowing for context-sensitive formatting through a hierarchy of pluggable diagnostic formatters, including raw, rich, and tunneling formatters, to provide customized and concise diagnostic outputs adapted to specific environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a compiler generates detailed diagnostic messages for high-level object-oriented languages, then comprehensive error information is provided, but the messages become complex and confusing, masking the actual problem

Engineering Contradiction:
Improvediagnostic information completenessVSAvoiduser understanding
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The diagnostic message is segmented into multiple hierarchical levels: a concise summary level for immediate understanding, and detailed expansion levels for comprehensive information. Users can navigate from the summary to specific detail levels as needed, preventing information overload while maintaining accessibility to complete diagnostic data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The diagnostic system dynamically adapts the level of detail presented based on user interaction and context. The message structure transitions from a compact initial view to expanded detailed views only when users request or need specific information, making the interface adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If diagnostic messages are customized for specific programming environments, then the information is more relevant to the user context, but the system complexity increases due to multiple formatting requirements

Engineering Contradiction:
Improveenvironment-specific customizationVSAvoidformatter hierarchy complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A hierarchical formatter system acts as an intermediary layer between the compiler and various programming environments. Multiple formatters (basic, rich, tunneling) are organized in a hierarchy that automatically selects the appropriate formatter based on the target environment, eliminating the need for the compiler to directly handle multiple environment-specific formats.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The formatter hierarchy provides universal support for multiple programming environments through a single unified system. Each formatter in the hierarchy can handle different environment requirements, making the overall system multi-functional and adaptable to various contexts without requiring separate diagnostic systems for each environment.

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

3Adaptability or versatility

If semantic information is preserved in structured representations, then context-sensitive formatting is enabled, but the data structure complexity increases

Engineering Contradiction:
Improvecontext-sensitive outputVSAvoiddata structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Semantic information is preserved in structured representations during the compilation phase, before diagnostic output is generated. This preliminary structuring of diagnostic data with embedded semantic context enables flexible, context-sensitive formatting later without requiring complex processing at the output stage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9582394B2Encapsulating and managing diagnostic information
Publication Date: 2017.02.28 ORACLE INT CORP
  • US9582394B2 patent drawing
  • US9582394B2 patent drawing
  • US9582394B2 patent drawing

AI summary

The disclosed embodiments provide a system that encapsulates and manages diagnostic information. During operation, the system detects an event that generates diagnostic information, and stores this diagnostic information in a format that preserves semantic information associated with the event. The system also determines an output context (e.g., the intended target environment) for the diagnostic information, and then uses the preserved semantic information to output the diagnostic information in a context-sensitive format suited for the output context. Note that outputting customized diagnostic information that is adapted to a specific target environment facilitates improving the quality of diagnostic information presented to a user.