Dynamic Code Instrumentation for Faulty Activity Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefault detection accuracyVSAvoidalert reliability
Core Design Contradiction:
Measurement precisionVSReliability

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improvefaulty code identification easeVSAvoidmonitoring system complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefault detection speedVSAvoidmonitoring computational overhead
Core Design Contradiction:
SpeedVSLoss of energy

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2990950B1Monitoring activities of a software application
Publication Date: 2021.05.12 TATA CONSULTANCY SERVICES LTD
  • EP2990950B1 patent drawingFigure 1
  • EP2990950B1 patent drawingFigure 2
  • EP2990950B1 patent drawingFigure 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.