Dynamic Code Instrumentation for Faulty Activity Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing monitoring systems for web services in computer networks fail to efficiently detect and highlight faulty activities in software applications, leading to potential performance bottlenecks and increased costs due to missed alerts or false alarms.
Innovation Solution
A method and system that monitor response times of software application activities, compare them to pre-defined thresholds, detect faulty activities, and highlight corresponding code snippets for swift identification and modification using a processor and memory-based implementation with dynamic code instrumentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If monitoring systems use traditional response time measurement methods, then they can detect performance issues, but they generate false alerts and missed detections leading to inaccurate fault identification
Solution Approach 1:
The patent changes the measurement parameter from simple response time to execution time of specific code snippets. By instrumenting the code to measure execution time of individual snippets rather than overall response time, the system achieves more precise fault detection with reduced false alerts, as each snippet's execution can be independently monitored and compared against thresholds.
Solution Approach 2:
The patent replaces traditional mechanical monitoring approaches with dynamic code instrumentation. Instead of using external probes or logs to measure performance, the system embeds measurement code directly into the application code snippets, allowing for more accurate and reliable execution time measurement that directly correlates with actual faults.
2Difficulty of detecting and measuring
If monitoring systems implement comprehensive code instrumentation, then they can precisely identify faulty code snippets, but the system complexity and implementation difficulty increase significantly
Solution Approach 1:
The patent segments the code into discrete snippets and instruments each snippet independently with measurement code. This segmentation allows the monitoring system to track execution time of individual code segments rather than the entire application, making fault identification more straightforward while keeping the instrumentation manageable through systematic code division.
Solution Approach 2:
The patent introduces an intermediary monitoring layer that sits between the code snippets and the execution environment. This intermediary automatically instruments code snippets, measures their execution time, and compares results against thresholds, thereby simplifying the overall system by centralizing the complex measurement logic in a dedicated intermediary component rather than scattering it throughout the application.
3Speed
If monitoring systems continuously monitor all code snippets, then they can detect faults in real-time, but the monitoring cost and computational overhead increase
Solution Approach 1:
The patent applies local quality by setting different monitoring thresholds and measurement granularities for different code snippets based on their criticality. Frequently executed or critical snippets are monitored with stricter thresholds, while less critical snippets use more relaxed monitoring, thereby reducing overall computational overhead while maintaining fast detection speed for important faults.
Solution Approach 2:
The patent implements partial monitoring by selectively instrumenting only the most critical code snippets rather than monitoring every single snippet in the application. This partial action approach achieves sufficient fault detection speed for critical paths while minimizing the computational overhead associated with instrumenting and monitoring the entire codebase.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed are a method and a system for monitoring one or more activities offered by a software application in a computer network. The method comprises monitoring a response time for one or more activities. The one or more activities are performed by a software application. The method further comprises comparing the response time of the one or more activities with a corresponding pre-defined threshold time. The method also comprises detecting a faulty activity of the one or more activities based on the comparison. The method further comprises highlighting a code snippet corresponding to the faulty activity in a source code of the software application.