Runtime Exception Interception for Code Quality Assessment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current tools fail to accurately measure code quality during runtime due to hidden or suppressed issues in binary code, and cumbersome or unavailable source code, making it difficult to perform comprehensive error checks.

Innovation Solution

An apparatus and method that intercepts exceptions generated by an application during runtime, collects exception information, and analyzes it to generate reports indicating code quality, using instrumentation code and a runtime collector, analyzer, and report generator to categorize and score the application's performance based on exception types, locations, and severity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If binary code is used for runtime measurement, then measurement speed is improved, but measurement precision deteriorates due to hidden or suppressed issues

Engineering Contradiction:
Improvemeasurement speedVSAvoidcode quality assessment accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary layer (instrumentation code and runtime collector) between the binary code execution and the measurement process. This intermediary captures exception information and runtime data without requiring source code access, thereby maintaining measurement speed while improving precision by accessing previously hidden runtime information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If source code is used for complete error check, then measurement precision is improved, but device complexity increases due to cumbersome source code handling

Engineering Contradiction:
Improveerror detection completenessVSAvoidsource code processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the essential measurement functionality from source code analysis by capturing exception information and runtime data directly during execution. This extraction eliminates the need for cumbersome source code handling while maintaining comprehensive error detection capabilities through runtime exception monitoring.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If runtime exception monitoring is implemented, then measurement precision is improved, but use of energy increases due to continuous monitoring overhead

Engineering Contradiction:
Improvecode quality measurement accuracyVSAvoidruntime monitoring energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent implements partial monitoring by focusing specifically on exception information and critical runtime events rather than continuous comprehensive monitoring of all application activities. This selective approach maintains high measurement precision for code quality assessment while reducing energy consumption by avoiding excessive monitoring overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9052980B2Exception based quality assessment
Publication Date: 2015.06.09 BMC HELIX INC
  • US9052980B2 patent drawing
  • US9052980B2 patent drawing
  • US9052980B2 patent drawing

AI summary

The embodiments may include an apparatus for measuring code quality using exceptions. The apparatus may include a runtime collector configured to intercept exceptions generated by an application, and collect exception information for each exception, during runtime of the application, based on instrumentation code included within the application. The apparatus may include a collection module configured to store the intercepted exceptions and corresponding exception information in a memory unit, an exception analyzer configured to analyze the intercepted exceptions based on the collected exception information stored in the memory unit, and a report generator configured to generate at least one report based on the analysis. The at least one report may provide an indication of code quality of the application.