Runtime API Event Monitoring Without Application Code Changes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional instrumentation techniques for application monitoring modify the original application code, affecting its execution behavior and requiring language-specific agents, which is inefficient and disruptive.

Innovation Solution

A hook-based agent monitors and analyzes application execution by detecting invocations of a runtime engine API without modifying the application code, supporting multiple languages and versions through agnostic functionality and event-based monitoring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If instrumentation code is inserted into application code for monitoring, then monitoring capability is improved, but application code integrity and execution behavior deteriorate

Engineering Contradiction:
Improvemonitoring capabilityVSAvoidapplication code integrity
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The monitoring system is segmented into separate components: the application code remains untouched while monitoring functionality is divided into independent instrumentation code that operates separately. The agent processes instrumentation code independently from application execution, allowing monitoring without modifying application integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An agent acts as an intermediary between the application code and monitoring functions. The agent loads instrumentation code and processes it separately from application execution, mediating between the need for monitoring and the requirement to preserve application code integrity without direct code insertion.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If language-specific agents are used for monitoring, then monitoring precision is improved, but system complexity and administrative overhead worsen

Engineering Contradiction:
Improvemonitoring precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The agent is designed with universal functionality to handle multiple programming languages through a single unified implementation. The agent can process instrumentation code for different languages (Java, .NET, JavaScript) without requiring separate language-specific agents, reducing system complexity while maintaining monitoring precision across diverse platforms.

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

Data Source

PatentUS12475232B2Runtime application monitoring without modifying application program code
Publication Date: 2025.11.18 VERACODE INC
  • US12475232B2 patent drawing
  • US12475232B2 patent drawing
  • US12475232B2 patent drawing

AI summary

To facilitate runtime monitoring and analysis of an application without modifying the actual application code, an agent monitors and analyzes an application through detection and evaluation of invocations of an API of a runtime engine provided for execution of the application. The agent registers to receive events which are generated upon invocation of target functions of the runtime engine API based on its load. Once loaded, the agent initially determines the language and language version number of the runtime engine. The agent determines associations of events for which to monitor and corresponding analysis code to execute upon detection of the invocations based on the language and version number information. When the agent detects an event during execution of the application based on invocations of the runtime engine API, the agent can monitor and analyze execution of the application based on execution of analysis code corresponding to the detected event.