Compiler-Linked Logging Module for Detailed Program Usage Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems for data analysis in productive environments are unable to provide detailed information on specific techniques, programs, and programming logic, failing to identify executed subroutines or dynamically called functionalities, resulting in an incomplete view of program usage.

Innovation Solution

A logging module links to a compiler to collect data on executing programs, determining procedures and maintaining counts, which are compiled into a detailed data source for further analysis, enabling the retrieval and enrichment of usage data for optimization and project planning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional systems collect information about program usage, then data collection is performed, but the information is not 100% correct or very detailed

Engineering Contradiction:
Improveinformation accuracyVSAvoiddetail completeness
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent introduces an intermediary component (logging module or instrumentation layer) that sits between the program execution and the data collection system. This intermediary captures detailed execution information including function modules, methods, classes, subroutines, and dynamically called functionalities, providing both accuracy and completeness without interfering with the original program behavior.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces conventional mechanical or manual information collection methods with automated instrumentation and logging mechanisms. This substitution enables comprehensive tracking of program execution details including dynamic function calls and subroutine invocations, achieving 100% accuracy and complete detail coverage that was not possible with conventional approaches.

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

2Device complexity

If conventional systems provide high level view, then system simplicity is maintained, but programming logic of execution cannot be caught

Engineering Contradiction:
Improvesystem simplicityVSAvoidprogramming logic detail
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent segments the data collection and analysis functionality into distinct modular components. The logging module captures execution details, the instrumentation layer tracks program flow, and separate analysis components process the collected data. This segmentation maintains system simplicity at each layer while collectively capturing complete programming logic information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary instrumentation layer that transparently instruments program execution without modifying the original code structure. This intermediary captures detailed programming logic including function calls, method invocations, and subroutine execution while maintaining the simplicity of the original system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If detailed usage data is collected, then analysis accuracy improves, but data collection and processing complexity increases

Engineering Contradiction:
Improveusage data accuracyVSAvoiddata collection complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces complex manual data collection and processing mechanisms with automated instrumentation and logging systems. The instrumentation layer automatically captures detailed usage data including function modules, methods, classes, and subroutines during program execution, eliminating the need for manual tracking while achieving 100% accuracy.

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

Solution Approach 2:

The patent implements self-service mechanisms where the program execution environment automatically generates and logs detailed usage data during normal operation. The logging module captures execution information without external intervention, and the system self-processes the data through automated analysis components, reducing collection complexity while maintaining high precision.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9280439B2Usage analysis of productive environment to establish new data source for process optimization and project planning
Publication Date: 2016.03.08 SAP SE
  • US9280439B2 patent drawing
  • US9280439B2 patent drawing
  • US9280439B2 patent drawing

AI summary

Systems and methods to provide usage analysis of a productive environment are provided. In example embodiments, a logging module links to a compiler to obtain information on a program as the program is being executed by the compiler. One or more procedures of the program may be determined and a count for each of the one or more determined procedures maintained. The determined one or more procedures and the count for each of the one or more determined procedures are stored in a buffer as log data. The log data is compiled, using one or more processors, into a detailed data source for further analysis.