Virtual Machine Exception Message Enhancement via Bytecode Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing exception handling in virtual machines provides insufficient information for users to identify and troubleshoot programming errors, leading to inefficient and error-prone manual analysis, and imposes performance penalties due to the use of extended stack traces.

Innovation Solution

A system and method that generates enhanced exception messages by associating a default message with a virtual machine exception, allowing for the creation of an extended message upon request, which includes detailed information extracted from bytecode analysis to identify the source of the error, reducing manual analysis and preserving system resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If extended stack traces are used to provide detailed exception information, then the information completeness is improved, but the system performance deteriorates due to heavy performance penalties

Engineering Contradiction:
Improveexception informationVSAvoidsystem performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies partial action by providing detailed exception information only when requested, rather than always generating extended stack traces. The system offers a default concise exception message and allows users to request enhanced information with additional context, thereby reducing unnecessary processing overhead while maintaining the capability to provide comprehensive information when needed.

Inventive Principle:
Principle #16Partial or excessive action

2Loss of information

If manual search of program is performed to resolve errors, then the information completeness is improved, but the time consumption increases

Engineering Contradiction:
Improveerror source informationVSAvoiderror resolution time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-collecting and storing relevant contextual information (such as local variable values and bytecode data) when exceptions occur, making this information readily available for later analysis. When users request enhanced exception messages, the pre-collected information is quickly assembled and presented, eliminating the need for manual program searching and significantly reducing error resolution time.

Inventive Principle:
Principle #10Preliminary action

3Difficulty of detecting and measuring

If extended stack traces with local variable values are provided, then the diagnostic capability is improved, but the message clarity deteriorates for null exceptions

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmessage clarity
Core Design Contradiction:
Difficulty of detecting and measuringVSEase of operation

Solution Approach 1:

The patent applies local quality by providing different levels of exception information tailored to specific needs. For null exceptions specifically, the system enhances the message to clearly indicate which variable returned null, while for other exception types, it provides appropriate contextual information. This localized enhancement maintains message clarity for specific exception types while preserving diagnostic capability across all exception types.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7877640B2Method and system for providing enhanced exception messages for exceptions thrown by virtual machines
Publication Date: 2011.01.25 SAP SE
  • US7877640B2 patent drawing
  • US7877640B2 patent drawing
  • US7877640B2 patent drawing

AI summary

A system and method are provided to provide enhanced exception messages for exceptions thrown by virtual machines. In one embodiment, an exception is detected when it is thrown at a virtual machine when a programming error is detected. A first message is associated to the exception, the first message including a default message. A request is received for a second message to be associated with the exception. The second message is associated to the exception in response to the request, the second message including an extended message explaining the exception.