US9734040B2 - Animated highlights in a graph representing an application - Google Patents
Animated highlights in a graph representing an application Download PDFInfo
- Publication number
- US9734040B2 US9734040B2 US13/899,504 US201313899504A US9734040B2 US 9734040 B2 US9734040 B2 US 9734040B2 US 201313899504 A US201313899504 A US 201313899504A US 9734040 B2 US9734040 B2 US 9734040B2
- Authority
- US
- United States
- Prior art keywords
- graph
- highlight
- node
- application
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Definitions
- a programmer often examines and tests an application during development in many different manners.
- the programmer may run the application in various use scenarios, apply loading, execute test suites, or perform other operations on the application in order to understand how the application performs and to verify that the application operates as designed.
- the programmer may locate the problem area in source code and improve or change the code in that area. Such improvements may then be tested again to verify that the problem area was corrected.
- Code elements may be selected from a graph depicting an application.
- the graph may show code elements as nodes, with edges representing connections between the nodes.
- the connections may be messages passed between code elements, code flow relationships, or other relationships.
- a code element or group of code elements are selected from the graph, the corresponding source code may be displayed.
- the code may be displayed in a code editor or other mechanism by which the code may be viewed, edited, and manipulated.
- Breakpoints may be set by selecting nodes on a graph depicting code elements and relationships between code elements.
- the graph may be derived from tracing data, and may reflect the observed code elements and the observed interactions between code elements. In many cases, the graph may include performance indicators.
- the breakpoints may include conditions which depend on performance related metrics, among other things.
- the nodes may reflect individual instances of specific code elements, while other embodiments may present nodes as the same code elements that may be utilized by different threads.
- the breakpoints may include parameters or conditions that may be thread-specific.
- Relationships between code elements in an application may be selected and used during analysis and debugging of the application.
- An interactive graph may display code elements and the relationships between code elements, and a user may be able to select a relationship from the graph, whereupon details of the relationship may be displayed. The details may include data passed across the relationship, protocols used, as well as the frequency of communication, latency, queuing performance, and other performance metrics.
- a user may be able to set breakpoints, increase or decrease tracing options, or perform other actions from the relationship selection.
- Highlighted objects may traverse a graph representing an application's code elements and relationships between those code elements.
- the highlighted objects may be animated to represent how the objects are processed in an application.
- the graph may represent code elements and relationships between the code elements, and the highlighting may be generated by tracing the application to determine the flow of the object through code elements and across relationships.
- a user may control the highlighted graph with a set of playback controls for playing through the sequence of highlights on the graph.
- the playback controls may include pause, rewind, forward, fast forward, and other controls.
- the controls may also include a step control which may step through small time increments.
- a graph representing code element and relationships between code elements may have elements combined to consolidate or collapse portions of the graph.
- a filter may operate between the graph data and a renderer to show the graph in different states.
- the graph may be implemented with an interactive user interface through which a user may select a node, edge, or groups of nodes and edges, then apply a filter or other transformation.
- the user selects to combine a group of code elements, the combined elements may be displayed as a single element.
- the single element may be presented with visual differentiation to show that the element is a collapsed or combined element, as opposed to a singleton element.
- FIG. 1 is a diagram illustration of an embodiment showing a user interface with an interactive graph representing code elements and relationships between the code elements.
- FIG. 2 is a diagram illustration of an embodiment showing a device that may display an interactive graph representing an application being traced.
- FIG. 3 is a diagram illustration of an embodiment showing a network environment with a visualization system with dispersed components.
- FIG. 4 is a flowchart illustration of an embodiment showing a method for displaying a graph and selecting source code to display in response to an interaction with the graph.
- FIG. 5 is a diagram illustration of an embodiment showing an example user interface with a breakpoint creation.
- FIG. 6 is a diagram illustration of an embodiment showing an example user interface with an edge selection.
- FIG. 7 is a flowchart illustration of an embodiment showing a method for setting and using breakpoints.
- FIGS. 8A, 8B, and 8C are diagram illustrations of an example embodiment showing a progression of highlighting placed on a graph representing an application.
- FIG. 9 is a flowchart illustration of an embodiment showing a method for highlighting a graph to trace an object's traversal across a graph.
- FIG. 10 is a diagram illustration of an embodiment showing a distributed system with an interactive graph and filters.
- FIGS. 11A and 11B are diagram illustrations of an example embodiment showing a sequence of applying a filter to a graph.
- FIG. 12 is a flowchart illustration of an embodiment showing a method for creating and applying filters to a graph.
- a graph showing code elements and relationships between code elements may be used to select and display the code elements.
- the graph may represent both static and dynamic relationships between the code elements, including performance another metrics gathered while tracing the code elements during execution.
- the interactive graph may have active input areas that may allow a user to select a node or edge of the graph, where the node may represent a code element and the edge may represent a relationship between code elements. After selecting the graph element, the corresponding source code or other representation of the code element may be displayed.
- the code elements may be displayed in a code editor, and a user may be able to edit the code and perform various functions on the code, including compiling and executing the code.
- the selected code elements may be displayed with highlighting or other visual cues so that a programmer may easily identify the precise line or lines of code represented by a node selected from the graph.
- a selection of an edge may identify two code elements, as each edge may link the two code elements.
- some embodiments may display both code elements. Such code elements may both be displayed on a user interface simultaneously using different display techniques.
- embodiments may display one of the code elements linked by an edge. Some such embodiments may present a user interface that may allow a user to select between the two code elements. In one such example, a user interface may be presented that queries the user to select an upstream or downstream element when the relationship has a notion of directionality. In another example, a user interface may merely show the individual lines of code associated with each node, then permit the user to select the line of code for further investigation and display.
- the graph may contain information derived from static and dynamic analysis of an application.
- Static analysis may identify blocks of code as well as some relationships, such as a call tree or flow control relationships between code elements.
- Dynamic analysis may identify blocks of code by analyzing the code in an instrumented environment to detect blocks of code and how the code interacts during execution. Some embodiments may identify messages passed between code elements, function calls made from one code element to another, or other relationships.
- the graph may display summarized or other observations about the execution of the code. For example, a tracer may gather data about each code element, such as the amount of processor or memory resources consumed, the amount of garbage collection performed, number of cache misses, or any of many different performance metrics.
- the graph may be displayed with some representation of performance metrics.
- a code element may be displayed with a symbol, size, color, or other variation that may indicate a performance metric.
- the size of a symbol displaying a node may indicate the processing time consumed by the element.
- the width of an edge may represent the amount of data passed between code elements or the number of messages passed.
- An interactive graph may serve as an input tool to select code elements from which breakpoints may be set. Objects relating to a selected code element may be displayed and a breakpoint may be created from one or more of the objects. In some cases, the breakpoints may be applied to the selected code element or to an object such that the breakpoint may be satisfied with a different code element.
- the interactive graph may display code elements and relationships between code elements, and may visually illustrate the operation of an application.
- the graph may be updated in real time or near real time, and may show performance related metrics using various visual effects.
- a user may interact with the graph to identify specific code elements that may be of interest, then select the code elements to create a breakpoint.
- Performance and other tracer data may be displayed with the selected code elements.
- Such data may include metrics, statistics, and other information relating to the specific code element.
- metrics may be, for example, resource consumption statistics for memory, processor, network, or other resources, comparisons between the selected code elements and other code elements, or other data.
- the metrics may include parameters that may be incorporated into a breakpoint.
- the graph may contain performance related data, a user may observe the operations and performance of an application prior to selecting where to insert a breakpoint.
- the combination of performance data and relationship structure of the application may greatly assist a user in selecting a meaningful location for a breakpoint.
- the relationship structure may help the user understand the application flow, as well as identify dependencies and bottlenecks that may not be readily apparent from the source code.
- the performance data may identify those application elements that may be performing above or below expectations. The combination of both the relationship structure and the performance data may be much more efficient and meaningful than other methods for identifying locations for breakpoints.
- a relationship between code elements may be selected from an interactive graph representing code elements as nodes and relationships between code elements as edges.
- the relationship may represent many different types of relationships, from function calls to shared memory objects. Once selected, the relationship may be used to set breakpoints, monitor communications across the relationship, increase or decrease tracing activities, or other operations.
- the relationship may be a message passing type of relationship, some of which may merely pass acknowledgements while others may include data objects, code elements, or other information.
- Some message passing relationships may be express messages, which may be managed with queues and other message passing components.
- Other message passing relationships may be implied messages, where program flow, data, or other elements may be passed from one code element to another.
- the relationship may be a shared memory relationship, which may represent memory objects that may be written by one code element and read by another code element. Such a relationship may be identified when the first code element may take a write lock on the memory object and the second code element may be placed in a waiting state until the write lock may be released.
- a breakpoint may be set using information related to the relationship.
- the breakpoint may be set for messages passed across the selected relationship, such as when messages exceed a certain size, frequency, or contain certain parameters or parameter values.
- Objects may be highlighted in an animated graph depicting an application being executed.
- the graph may contain nodes representing code elements and edges representing relationships between the code elements.
- the highlighted objects may represent data elements, requests, processes, or other objects that may traverse from one code element to another.
- the highlighted objects may visually depict how certain components may progress through an application.
- the highlights may visually link the code elements together so that an application programmer may understand the flow of the application with respect to a particular object.
- an application that may process web requests may be visualized.
- An incoming request may be identified and highlighted and may be operated upon by several different code elements.
- the graph depicting the application may have a highlighted visual element, such as a bright circle, placed on a node representing the code element that receives the request.
- the graph may show the highlighted bright circle traversing various relationships to be processed by other code elements.
- the request may be processed by multiple code elements, and the highlighted bright circle may be depicted over each of the code elements in succession.
- the highlighted objects may represent a single data element, a group of data elements, or any other object that may be passed from one code element to another.
- the highlighted object may be an executable code element that may be passed as a callback or other mechanism.
- Callbacks may be executable code that may be passed as an argument to other code, which may be expected to execute the argument at a convenient time.
- An immediate invocation may be performed in the case of a synchronous callback, while asynchronous callbacks may be performed at some later time.
- Many languages may support callbacks, including C, C++, Pascal, JavaScript, Lua, Python, Perl, PHP, Ruby, C#, Visual Basic, Smalltalk, and other languages.
- callbacks may be expressly defined and implemented, while in other cases callbacks may be simulated or have constructs that may behave as callbacks.
- Callbacks may be implemented in object oriented languages, functional languages, imperative languages, and other language types.
- the animation of a graph may include playback controls that may pause, rewind, play, fast forward, and step through the sequence of code elements that an object may encounter.
- playback controls may pause, rewind, play, fast forward, and step through the sequence of code elements that an object may encounter.
- the real time speed of execution is much faster than a human may be able to comprehend.
- a human user may be able to slow down or step through a sequence of operations so that the user can better understand how the application processes the highlighted object.
- a graph representing code elements and relationships between code elements of an application may be filtered to combine a group of elements to represent the group of elements as a single element on the graph.
- the graph may have interactive elements by which a user may select nodes to manipulate, and through which a filter may be applied.
- the filters may operate as a transformation, translation, or other operation to prepare the graph data prior to rendering.
- the filters may include consolidating multiple nodes into a single node, expanding a single node into multiple nodes, applying highlights or other visual cues to the graph elements, adding performance data modifiers to graph elements, and other transformations and operations.
- the filters may enable many different manipulations to be applied to tracer data.
- a data stream may be transmitted to a rendering engine and the filters may be applied prior to rendering.
- Such cases may allow tracer data to be transmitted and stored in their entirety, while allowing customized views of the data to be shown to a user.
- filter refers to any transformation of data prior to display.
- a filter may remove data, concatenate data, summarize data, or perform other manipulations. In some cases, a filter may combine one data stream with another.
- a filter may also analyze the data in various manners, and apply highlights or other tags to the data so that a rendering engine may render a graph with different features.
- filter is meant to include any type of transformation that may be applied to data and is not meant to be limiting to a transformation where certain data may be excluded from a data stream.
- the graph may have interactive elements by which various filters may be applied.
- the interactive elements may include selecting nodes, edges, or groups of nodes and edges to which a filter may be applied.
- a legend or other interactive element may serve as a mechanism to identify groups of nodes to which filters may be applied.
- some embodiments may apply different highlighting or other visual differentiations. Such highlighting may indicate that filters or transformations had been applied to the highlighted elements.
- the terms “profiler”, “tracer”, and “instrumentation” are used interchangeably. These terms refer to any mechanism that may collect data when an application is executed. In a classic definition, “instrumentation” may refer to stubs, hooks, or other data collection mechanisms that may be inserted into executable code and thereby change the executable code, whereas “profiler” or “tracer” may classically refer to data collection mechanisms that may not change the executable code. The use of any of these terms and their derivatives may implicate or imply the other. For example, data collection using a “tracer” may be performed using non-contact data collection in the classic sense of a “tracer” as well as data collection using the classic definition of “instrumentation” where the executable code may be changed. Similarly, data collected through “instrumentation” may include data collection using non-contact data collection mechanisms.
- data collected through “profiling”, “tracing”, and “instrumentation” may include any type of data that may be collected, including performance related data such as processing times, throughput, performance counters, and the like.
- the collected data may include function names, parameters passed, memory object names and contents, messages passed, message contents, registry settings, register contents, error flags, interrupts, or any other parameter or other collectable data regarding an application being traced.
- execution environment may be used to refer to any type of supporting software used to execute an application.
- An example of an execution environment is an operating system.
- an “execution environment” may be shown separately from an operating system. This may be to illustrate a virtual machine, such as a process virtual machine, that provides various support functions for an application.
- a virtual machine may be a system virtual machine that may include its own internal operating system and may simulate an entire computer system.
- execution environment includes operating systems and other systems that may or may not have readily identifiable “virtual machines” or other supporting software.
- references to “a processor” include multiple processors. In some cases, a process that may be performed by “a processor” may be actually performed by multiple processors on the same device or on different devices. For the purposes of this specification and claims, any reference to “a processor” shall include multiple processors which may be on the same device or different devices, unless expressly specified otherwise.
- the subject matter may be embodied as devices, systems, methods, and/or computer program products. Accordingly, some or all of the subject matter may be embodied in hardware and/or in software (including firmware, resident software, micro-code, state machines, gate arrays, etc.) Furthermore, the subject matter may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
- a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
- computer readable media may comprise computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by an instruction execution system.
- the computer-usable or computer-readable medium could be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, of otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- the embodiment may comprise program modules, executed by one or more systems, computers, or other devices.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- functionality of the program modules may be combined or distributed as desired in various embodiments.
- FIG. 1 is a diagram of an embodiment 100 showing an example user interface with an interactive graph and application code representing a selected code element.
- a user may navigate the source code of an application by interacting with the graph, which may cause a window or other viewing mechanism to display the source code and other information.
- the graph may show individual code elements and the relationships between code elements.
- performance metrics may be displayed as part of the graph, and the performance metrics may help a programmer identify areas of code for inspection. For example, performance bottlenecks, poorly executing code, or other conditions may be highlighted by visually representing performance data through the graph elements, and a programmer may identify a code element based on the performance data for further analysis.
- Embodiment 100 illustrates a user interface 102 that may contain a title bar 104 , close window button 106 , and other elements of a user interface window as an example user interface.
- a graph 108 may be displayed within the user interface 102 .
- the graph may represent code elements and the relationships between code elements in an application.
- the code elements may be represented as nodes 110 and the relationships between code elements may be represented as edges 112 .
- code elements without relationships between code elements may be included, and such code elements may be presented as a single node element that may be unconnected to other code elements
- the graph 108 may represent an application, where each code element may be some unit of executable code that may be processed by a processor.
- a code element may be a function, process, thread, subroutine, or some other block or group of executable code.
- the code elements may be natural partitions or groupings that may be created by a programmer, such as function definitions or other such grouping.
- one or more of the code elements may be arbitrarily defined or grouped, such as an embodiment where some number of lines of executable code may be treated as a code element. In one such example, each group of 10 lines of code may be identified as a code element. Other embodiments may have other mechanisms for identifying natural or arbitrary code elements.
- the graph 108 may display both static and dynamic data regarding an application.
- Static data may be any information that may be gathered through static code analysis, which may include control flow graphs, executable code elements, some relationships between code elements, or other information.
- Dynamic data may be any information that may be gathered through tracing or monitoring of the application as the application executes. Dynamic data may include code element definitions, relationships between code elements, as well as performance metrics, operational statistics, or other measured or gathered data.
- the graph 108 may present performance and operational data using visual representations of the data.
- the size of an icon on a particular node may indicate a measurement of processing time, memory, or other resource that a code element may have consumed.
- the thickness, color, length, animation, or other visual characteristic of an edge may represent various performance factors, such as the amount of data transmitted, the number of messages passed, or other factors.
- the graph 108 may include results from offline or other analyses. For example, an analysis may be performed over a large number of data observations to identify specific nodes and edges that represent problem areas of an application. One such example may be bottleneck analysis that may identify a specific code element that may be causing a processing slowdown. Such results may be displayed on the graph 108 by highlighting the graph, enlarging the affected nodes, animating the nodes and edges, or some other visual cue.
- Real time data may be displayed on a graph 108 .
- the real time data may include performance metrics that may be gathered during ongoing execution of the application, including displaying which code elements have been executed recently or the performance measured for one or more code elements.
- a user may interact with the graph 108 to select an element 112 .
- the user may select the element 112 using a cursor, touchscreen, or other input mechanism.
- when hovering over the selected element 112 or selecting the selected element 112 may cause a label 114 to be displayed.
- the label 114 may include some information, such as library name, function name, or other identifier for the code element.
- a code editing window 116 may be presented on the user interface 102 .
- the code editing window 116 may be a window having a close window button 118 , scroll bar 122 , and other elements. In some cases, the code editing window 116 may float over the graph 108 and a user may be able to move or relocate the code editing window 116 .
- Application code 120 may be displayed in the code editing window 116 .
- the application code 120 may be displayed with line numbers 124 , and a code element 126 may be highlighted.
- the application code 120 may be the source code representation of the application being tested.
- the source code In languages with compiled code, the source code may have been compiled prior to execution. In languages with interpreted code, the source code may be consumed directly by a virtual machine, just in time compiler, or other mechanism.
- the code editing window 116 may be part of an integrated development environment, which may include compilers, debugging mechanisms, execution management mechanisms, and other components.
- An integrated development environment may be a suite of tools through which a programmer may develop, test, and deploy an application.
- a highlighted code element 126 may be shown in the code editing window 116 .
- the highlighted code element 126 may represent the portion of the application represented by the selected element 112 .
- the highlighted code element 126 may illustrate a subset of many lines of code represented by the selected element 112 .
- One example may highlight the first line of many lines of code represented by the selected element 112 .
- the highlighted code element 126 may identify all of the code represented by the selected element 112 .
- a data display 130 may contain various additional information that may be useful for a programmer.
- the data display 130 may include parameter values for memory objects used by the application.
- the data display 130 may include performance data gathered from a tracer, which sometimes may be summary data or statistics.
- FIG. 2 illustrates an embodiment 200 showing a single device with an interactive graph for navigating application code.
- Embodiment 200 is merely one example of an architecture where a graph may be rendered on a display, and a user may select nodes or edges of the graph to display portions of the underlying source code for the application.
- the diagram of FIG. 2 illustrates functional components of a system.
- the component may be a hardware component, a software component, or a combination of hardware and software.
- Some of the components may be application level software, while other components may be execution environment level components.
- the connection of one component to another may be a close connection where two or more components are operating on a single hardware platform. In other cases, the connections may be made over network connections spanning long distances.
- Each embodiment may use different hardware, software, and interconnection architectures to achieve the functions described.
- Embodiment 200 illustrates a device 202 that may have a hardware platform 204 and various software components.
- the device 202 as illustrated represents a conventional computing device, although other embodiments may have different configurations, architectures, or components.
- the device 202 may be a server computer. In some embodiments, the device 202 may still also be a desktop computer, laptop computer, netbook computer, tablet or slate computer, wireless handset, cellular telephone, game console or any other type of computing device.
- the hardware platform 204 may include a processor 208 , random access memory 210 , and nonvolatile storage 212 .
- the hardware platform 204 may also include a user interface 214 and network interface 216 .
- the random access memory 210 may be storage that contains data objects and executable code that can be quickly accessed by the processors 208 .
- the random access memory 210 may have a high-speed bus connecting the memory 210 to the processors 208 .
- the nonvolatile storage 212 may be storage that persists after the device 202 is shut down.
- the nonvolatile storage 212 may be any type of storage device, including hard disk, solid state memory devices, magnetic tape, optical storage, or other type of storage.
- the nonvolatile storage 212 may be read only or read/write capable.
- the nonvolatile storage 212 may be cloud based, network storage, or other storage that may be accessed over a network connection.
- the user interface 214 may be any type of hardware capable of displaying output and receiving input from a user.
- the output display may be a graphical display monitor, although output devices may include lights and other visual output, audio output, kinetic actuator output, as well as other output devices.
- Conventional input devices may include keyboards and pointing devices such as a mouse, stylus, trackball, or other pointing device.
- Other input devices may include various sensors, including biometric input devices, audio and video input devices, and other sensors.
- the network interface 216 may be any type of connection to another computer.
- the network interface 216 may be a wired Ethernet connection.
- Other embodiments may include wired or wireless connections over various communication protocols.
- the software components 206 may include an operating system 218 on which various software components and services may operate.
- An operating system may provide an abstraction layer between executing routines and the hardware components 204 , and may include various routines and functions that communicate directly with various hardware components.
- An execution environment 220 may manage the execution of an application 222 .
- the operations of the application 222 may be captured by a tracer 224 , which may generate tracer data 226 .
- the tracer data 226 may identify code elements and relationships between the code elements, which a renderer 228 may use to produce a graph 230 .
- the graph 230 may be displayed on an interactive display device, such as a touchscreen device, a monitor and pointer device, or other physical user interface.
- the graph 230 may be created in whole or in part from data derived from source code 232 .
- a static code analyzer 234 may generate a control flow graph 236 from which the renderer 228 may present the graph 230 .
- the graph 230 may contain data that may be derived from static sources, as well as data from dynamic or tracing sources.
- a graph 230 may contain a control flow graph on which tracing data may be overlaid to depict various performance or other dynamic data.
- Dynamic data may be any data that may be derived from measuring the operations of an application during execution, whereas static data may be derived from the source code 232 or other representation of the application without having to execute the application.
- a user input analyzer 238 may receive selections or other user input from the graph 230 .
- the selections may identify specific code elements through the selection of one or more nodes, specific relationships through the selection of one or more edges, or other user input.
- the selections may be made by picking displayed objects in the graph in an interactive manner.
- other user interface mechanisms may be used to select objects represented by the graph. Such other user interface mechanisms may include command line interfaces or other mechanisms that may select objects.
- a code display 242 may be presented on a user interface, and the code display 242 may display source code 240 that corresponds with the selection on the graph 230 .
- a selection on the graph 230 may be correlated with a line number or other component in source code 240 through a source code mapping 241 .
- the source code mapping 241 may contain hints, links, or other information that may map source code to the code elements represented by a node on the graph 230 .
- source code may be compiled or interpreted in different manners to yield executable code.
- source code may be compiled into intermediate code, which may be compiled with a just in time compiler into executable code, which may be interpreted in a process virtual machine.
- the compilers, interpreters, or other components may update the source code mapping 241 .
- Other embodiments may have other mechanisms to determine the appropriate source code for a given code element represented by a node on the graph 230 .
- the graph 230 and other elements may be part of an integrated development environment.
- An integrated development environment may be a single application or group of tools through which a developer may create, edit, compile, debug, test, and execute an application.
- an integrated development environment may be a suite of applications and components that may operate as a cohesive, single application. In other cases, such a system may have distinct applications or components.
- An integrated development environment may include an editor 244 and compiler 246 , as well as other components, such as a debugger, execution environment 220 and other components.
- Some embodiments may incorporate an editor 244 with the code display 242 .
- the code display 242 may be presented using an editor 244 , so that the user may be able to edit the code directly upon being displayed.
- a programmer may use independent applications for developing applications.
- the editor 244 , compiler 246 , and other components may be distinct applications that may be invoked using command line interfaces, graphical user interfaces, or other mechanisms.
- FIG. 3 illustrates an embodiment 300 showing multiple devices that may generate an interactive graph for navigating application code.
- Embodiment 300 is merely one example of an architecture where some of the functions of embodiments 100 and 200 may be delivered across a network by disparate devices.
- the diagram of FIG. 3 illustrates functional components of a system.
- the component may be a hardware component, a software component, or a combination of hardware and software.
- Some of the components may be application level software, while other components may be execution environment level components.
- the connection of one component to another may be a close connection where two or more components are operating on a single hardware platform. In other cases, the connections may be made over network connections spanning long distances.
- Each embodiment may use different hardware, software, and interconnection architectures to achieve the functions described.
- Embodiment 300 may represent one example where multiple devices may deliver an interactive graph to a development environment. Once the graph is presented, a user may interact with the graph to navigate through the application code.
- Embodiment 300 may be similar in function to embodiment 200 , but may illustrate an architecture where other devices may perform various functions. By having a dispersed architecture, certain devices may perform only a subset of the operations that may be performed by the single device in embodiment 200 . Such an architecture may allow computationally expensive operations to be placed on devices with different capabilities, for example.
- Embodiment 300 may also be able to create a graph that represents an application executing on multiple devices.
- a set of execution systems 302 may contain a hardware platform 304 , which may be similar to the hardware platform 204 of embodiment 200 .
- Each hardware platform 304 may support an execution environment 306 , where an application 308 may execute and a tracer 310 may collect various tracer data, including performance data.
- Many applications may execute on multiple devices. Some such applications may execute multiple instances of the application 308 in parallel, where the instances may be identical or nearly identical to each other. In other cases, some of the applications 308 may be different and may operate in serial or have some other process flow.
- a network 312 may connect the various devices in embodiment 300 .
- the network 312 may be any type of communication network by which devices may be connected.
- a data collection system 314 may collect and process tracer data.
- the data collection system 314 may receive data from the tracer 310 and store the data in a database.
- the data collection system 314 may perform some processing of the data in some cases.
- the data collection system 314 may have a hardware platform 316 , which may be similar to the hardware platform 204 of embodiment 200 .
- a data collector 318 may receive and store tracer data 320 from the various tracers 310 .
- Some embodiments may include a real time analyzer 322 which may process the tracer data 320 to generate real time information about the application 308 . Such real time information may be displayed on a graph representing the application 308 .
- An offline analysis system 324 may analyze source code or other representations of the application 308 to generate some or all of a graph representing the application 308 .
- the offline analysis system 324 may execute on a hardware platform 326 , which may be similar to the hardware platform 204 of embodiment 200 .
- the offline analysis system 324 may perform two different types of offline analysis.
- the term offline analysis is merely a convention to differentiate between the real time or near real time analysis and data that may be provided by the data collection system 314 .
- the operations of the offline analysis system 324 may be performed in real time or near real time.
- Offline tracer analysis 328 may be a function that performs in depth analyses of the tracer data 320 . Such analyses may include correlation of multiple tracer runs, summaries of tracer data, or other analyses that may or may not be able to be performed in real time or near real time.
- a static code analyzer 330 may analyze the source code 332 to create a control flow graph or other representation of the application 308 . Such a representation may be displayed as part of an interactive graph from which a user may navigate the application and its source code.
- a rendering system 334 may gather information relating to an interactive graph and create an image or other representation that may be displayed on a user's device.
- the rendering system 334 may have a hardware platform 336 , which may be similar to the hardware platform 204 of embodiment 200 , as well as a graph constructor 338 and a renderer 340 .
- the graph constructor 338 may gather data from various sources and may construct a graph which the renderer 340 may generate as an image.
- the graph constructor 338 may gather such data from the offline analysis system 324 as well as the data collection system 314 .
- the graph may be constructed from offline data analysis only, while in other embodiments, the graph may be constructed from only from data collected through tracing.
- a development system 342 may represent a user's device where a graph may be displayed and application code may be navigated.
- the development system 342 may include an integrated development environment 346 .
- the development system 342 may have a hardware platform 344 , which may be similar to the hardware platform 204 of embodiment 200 .
- Several applications may execute on the hardware platform 344 .
- the various applications may be components of an integrated development environment 346 , while in other cases, the applications may be independent applications that may or may not be integrated with other applications.
- the applications may include a graph display 348 , which may display a graph image created by the renderer 340 .
- the graph display 348 may include real time data, including performance data that may be generated by a real time analyzer 322 .
- a code display 350 may be presented that may include source code 352 represented by a selected graph element.
- the applications may also include an editor 354 and compiler 356 .
- a communications engine 351 may gather data from the various sources so that a graph may be rendered.
- the communications engine 351 may cause the graph constructor 338 to retrieve data from the static code analyzer 330 , the offline tracer analysis 328 , and the real time analyzer 322 so that the renderer 340 may create a graph image.
- FIG. 4 is a flowchart illustration of an embodiment 400 showing a method for displaying a graph and selecting and presenting code in response to a selection from the graph.
- Embodiment 300 may illustrate a method that may be performed by the device 202 of embodiment 200 or the collective devices of embodiment 300 .
- Embodiment 400 may illustrate a method that includes static analysis 402 , dynamic analysis 404 , rendering 406 , and code selection 408 .
- the method represented one method for navigating an application code through a visual representation of the application as a graph, which may have nodes representing code elements and edges representing relationships between the code elements.
- the graph may be generated from static analysis 402 , dynamic analysis 404 , or a combination of both, depending on the application.
- the static analysis 402 may include receiving source code in block 410 and performing static code analysis in block 412 to generate a control flow graph or other representation of the application.
- a control flow graph may identify blocks of executable code and the relationships between them. Such relationships may include function calls or other relationships that may be expressed in the source code or may be derived from the source code.
- the dynamic analysis 404 may include receiving the source code in block 414 , preparing the source code for execution in block 416 , and executing the application in block 418 from which the source code may be monitored in block 420 to generate tracer data.
- the dynamic analysis 404 may identify code elements and relationships between code elements by observing the actual behavior of the code during execution.
- the dynamic analysis 404 may include the operations to trace the application.
- an application may be compiled or otherwise processed when being prepared for execution in block 416 .
- a tracer may be configured to gather various metrics about the application, which may include identifying code elements and relationships between code elements.
- a graph generated from static code analysis may be different from a graph generated by dynamic analysis.
- static code analysis may identify multiple relationships that may not actually be exercised during execution under normal circumstances or loading.
- dynamic analysis may generate a graph that represents the actual portions of the application that were exercised.
- the dynamic analysis 404 may include gathering performance data in block 424 .
- the performance data may be added to a graph to help the user understand where performance bottlenecks may occur and other performance related information.
- the rendering 406 may include identifying code elements in block 426 and relationships may be identified in block 428 .
- the code elements and relationships may be identified using static code analysis, whereas other embodiments may identify code elements and relationships using dynamic analysis or a combination of static or dynamic analysis.
- the graph may be rendered in block 430 once the code elements and relationships are identified.
- performance data may be received in block 432 and the graph may be updated with performance data in block 434 .
- the process may loop back to block 430 to render the graph with updated performance data. Such a loop may update the graph with real time or near real time performance data.
- a code element may be identified in block 438 .
- the code element may correspond with an element selected from the graph, which may be one or more nodes or edges of the graph.
- a link to the source code from the selected element may be determined in block 440 and the source code may be displayed in block 442 .
- Any related data elements may be identified in block 444 and may be displayed in block 446 .
- the process may loop back to block 430 to update the graph with performance data.
- the code may be updated in block 450 , recompiled in block 452 , and the execution may be restarted in block 454 .
- the process may return to blocks 410 and 414 to generate a new graph.
- FIG. 5 is a diagram illustration of an example embodiment 500 where a breakpoint may be created from a selection.
- Embodiment 500 illustrates an example user interface that may contain a list of objects associated with a selected element from a graph. From the list of objects, a breakpoint may be created and launched.
- the example of embodiment 500 may be merely one example of a user interface through which a breakpoint may be set. Other embodiments may use many different user interface components to display information about objects related to a selection and to define and deploy a breakpoint. The example of embodiment 500 is merely one such embodiment.
- a user interface 502 may contain a graph 504 that may have interactive elements.
- the graph 504 may represent an application with nodes representing code elements and edges representing relationships between the code elements.
- the graph 504 may be displayed with interactive elements such that a user may be able to select a node or edge and interact with source code, data objects, or other elements related to the selected element.
- Node 506 is illustrated as being selected. In many cases, a highlighted visual effect may indicate that the node 506 is selected. Such a visual effect may be a visual halo, different color or size, animated blinking or movement, or some other effect.
- An object window 508 may be presented in response to the selection of node 506 .
- the object window may include various objects related to the node, and in the example of embodiment 500 , those objects may be object 510 , which may be a variable X with a value of 495, and an object 512 “customer_name” with a value of “John Doe”.
- the object 512 is a selected object 514 .
- a breakpoint window 516 may be presented.
- the breakpoint window 516 may include a user interface where a user may create an expression that defines a breakpoint condition. Once defined, the breakpoint may be stored and the execution may continue. When the breakpoint is satisfied, the execution may pause and allow the user to explore the state of the application at that point.
- a user may select object 512 and may be presented with a menu.
- the menu may be a drop down menu or pop up menu that may include options for browsing object values, viewing source code, setting breakpoints, or other options.
- FIG. 6 is a diagram illustration of an example embodiment 600 where objects may be explored by selecting an edge on a graph representing an application.
- Embodiment 600 is merely one example of a user interface 602 where a user may select an edge and interact with objects relating to the edge.
- the graph 604 may represent an application, where each node may represent a code element and the edges may represent relationships between the code elements.
- the relationships may be any type of relationship, including observed relationships such as function calls, shared memory objects, or other relationships that may be inferred or expressed from tracer data. In other cases, the relationships may include relationships that may be derived from static code analysis, such as control flow elements.
- a user may be presented with several options for how to interact with the edge 606 .
- the options may include viewing data objects, viewing performance elements, setting breakpoints, viewing source code, and other options.
- a statistics window 608 may show some observed statistics as well as objects or data associated with the relationship.
- Two statistics 610 and 612 may be examples of observed performance data that may be presented.
- the edge 606 may represent a relationship where messages and data may be passed between two code elements.
- the statistics 610 and 612 may show the data volume passed between the code elements as well as the message volume or number of messages passed.
- the statistics window 608 may include a set of objects passed between the code elements.
- the objects 614 , 616 , and 618 may include “customer_name”, “customer_address”, and “last_login”.
- a data window 620 may be presented that show the values of the parameter “customer_name”.
- the values may be the data associated with “customer_name” that was passed along the relationship represented by edge 606 .
- Embodiment 600 is merely one example of the interaction that a user may have with a relationship in an interactive graph. Based on the selection of the relationship, a breakpoint may be created that pauses execution when a condition is fulfilled regarding the relationship. For example, a breakpoint condition may be set to trigger when any data are passed across the relationship, when the performance observations cross a specific threshold, or some other factor.
- FIG. 7 is a flowchart illustration of an embodiment 700 showing a method for setting breakpoints from interactions with a graph that illustrates an application.
- Embodiment 700 may be an example of a breakpoint that may be created from the user interactions of selecting a node as in embodiment 500 or selecting an edge as in embodiment 600 for a graph that illustrates an application.
- graph data may be collected that represents code elements and relationships between code elements.
- the graph data may include all code elements and all known relationships for a given application.
- the graph data may include recently used code elements and relationships, which may be a subset of the complete corpus of code elements and relationships.
- a graph may be displayed in block 704 .
- the graph may have various interactive elements, where a user may be able to select and interact with a node, edge, groups of nodes or edges, or other elements.
- the user may be able to pick specific elements directly from the graph, such as with a cursor or touchscreen interface.
- Such a selection may be received in block 706 .
- the selection may be a node or edge on the graph.
- a code object related to the selected element may be identified in block 708 .
- the code object may be any memory object, code element, data, metadata, performance metric, or other item that may be associated with the code element.
- objects relating to the corresponding code element may be identified.
- Such objects may include the source code, memory objects and other data accessed by the code element, as well as performance observations, such as time spent processing, memory usage, CPU usage, garbage collection performed, cache misses, or other observations.
- the objects relating to the corresponding relationship may be identified.
- Such objects may include the parameters and protocols passed across the relationship, the data values of those parameters, as well as performance observations which may include number of communications across the relationship, data values passed, amount of data passed, and other observations.
- some embodiments may include objects related to the sending and receiving code elements for a selected relationship.
- the objects retrieved may include all of the objects related to the relationship as well as all of the objects related to both code elements within the relationship.
- Some such embodiments may filter the objects when displaying the objects such that only a subset of objects are displayed.
- the identified objects or a subset of the identified objects may be displayed in block 710 .
- a breakpoint may be received in block 712 .
- a user interface may assist a user in creating a breakpoint using one or more of the objects identified in block 708 .
- Such a user interface may include selection mechanisms where a user may be able to pick an object and set a parameter threshold or some other expression relating to the object, and then the expression may be set as a breakpoint.
- a user interface may allow a user to create a complex expression that may reference one or more of the various objects to set as a breakpoint.
- the breakpoint may be set in block 714 .
- setting a breakpoint may involve transmitting the breakpoint condition to a tracer or other component, where the component may monitor the execution and evaluate the breakpoint condition to determine when to pause execution.
- the monitoring component may be part of an execution environment.
- execution may continue in block 716 until a breakpoint may be satisfied in block 718 . Once the breakpoint is satisfied in block 718 , execution may be paused in block 720 .
- the term satisfying the breakpoint in block 718 may be any mechanism by which the breakpoint conditions may be met.
- the breakpoint may be defined in a negative manner, such that execution may continue so long as the breakpoint condition is not met.
- the breakpoint may be defined in a positive manner, such that execution may continue as long as the breakpoint condition is met.
- the code element in which the breakpoint was satisfied may be identified in block 722 .
- a breakpoint may be set by interacting with one node or edge representing one code element or a pair of code elements, and a breakpoint may be satisfied by a third code element.
- the code objects related to the code element in which the breakpoint was satisfied may be identified in block 724 and displayed in block 726 .
- a user may interact with the objects to inspect and query the objects while the application is in a paused state. Once such examination has been completed, the user may elect to continue execution in block 728 .
- the user may elect to continue execution with the same breakpoint in block 732 and the process may loop back to block 716 after resetting the breakpoint.
- the user may also elect to remove the breakpoint in block 732 , and the breakpoint may be removed in block 734 and loop back to block 702 .
- the user may also elect not to continue, where the execution may stop in block 730 .
- FIGS. 8A, 8B, and 8C are diagram illustrations of a graph at a first time period 802 , a second time period 804 , and a third time period 806 , respectively.
- the sequence of time periods 802 , 804 , and 806 represent the progression of a highlighted code object that may traverse a graph.
- Each step in the sequence of illustrated time periods 802 , 804 , and 806 may represent multiple time steps and sequences, and the illustration of time periods 802 , 804 , and 806 are selected to display certain sequences in abbreviated form.
- An object may be highlighted as the object or related objects traverse through the graph.
- An object may be a memory object that may be passed from one code element to another.
- the code element may be transformed at each code element and emitted as a different object.
- the object may be a processing pointer or execution pointer and the highlighting may illustrate a sequence of code elements that may be executed as part of the application.
- the sequence of execution may be presented on a graph by highlighting code elements in sequence.
- the relationships on a graph may also be highlighted.
- Some embodiments may use animation to show the execution flow using movement of highlights or objects traversing the graph in sequence.
- Some embodiments may show directional movement of an object across the graph using arrows, arrowheads, or other directional indicators.
- One such directional indicator may illustrate an object, such as a circle or other shape that may traverse from one code element to another in animated form.
- the highlighting may allow a user to examine how the object interacts with each code element.
- the progression of an object through the graph may be performed on a step by step basis, where the advancement of an object may be paused at each relationship so that the user may be able to interact with the nodes and edges to examine various data objects.
- the traversal of an object through the graph may be shown in real time in some embodiments, depending on the application.
- the application may process objects so quickly that the human eye may not be capable of seeing the traversal or the graph may not be updated fast enough.
- the traversal of the object through the graph may be shown at a slower playback speed.
- the playback may be performed using historical or stored data which may or may not be gathered in real time.
- an object may start at node 808 and traverse to node 810 and then to node 812 .
- Such a traversal may reflect the condition where an object was processed at node 808 , then the object or its effects were processed by nodes 810 and 812 in sequence.
- the starting object may change, be transformed, or otherwise produce downstream effects.
- the output of a code element may be tracked and illustrated as highlighted elements on the graph.
- an incoming request may include a data element that may be processed by several code elements.
- the data element may change and the processing may cause other code elements to begin processing.
- Such changes or effects may be identified and highlighted on the graph as an aftereffect of the original object being monitored.
- the highlighting in the sequence of graphs may reflect the location or operations performed on a specific memory object.
- the code element that may consume the memory object may be highlighted as the memory object traverses the application.
- the sequence of execution or processing may go from node 812 to node 814 to node 816 and back to node 812 .
- the sequence illustrated in period 804 may reflect a loop of execution control. In some cases, the loop may be performed many times while following an object.
- the sequence of execution may go from node 812 to nodes 814 and 816 in parallel, then to node 818 and 820 in series.
- the example of time period 806 may illustrate where a single object being tracked at node 812 may cause two or more code elements to be executed in parallel. The parallel operations may then converge in node 818 .
- FIG. 9 is a flowchart illustration of an embodiment 900 showing a method for highlighting a graph for movement of an object through a graph.
- the operations of embodiment 900 may produce highlights across a graph such as those illustrated in the time periods 802 , 804 , and 806 .
- Embodiment 900 may illustrate a method for displaying highlights on a graph, where the highlights may represent an object and its effects that may flow through an application.
- embodiment 900 may be presented using live data, which may be gathered and displayed in real time or near real time.
- embodiment 900 may be presented using stored or historical data that may be gathered during one time period and replayed at a later time period.
- each step of a sequence that may update the graph may be paused to allow a user to visualize the transition from a previous state.
- Such an embodiment may pause the sequence at each step and continue with a user input.
- Such an embodiment may continue with the user pressing ‘return’ or some other mechanism to advance the sequence.
- the sequence may pause for a period of time, such as 0.25 seconds, 0.5 seconds, one second, two seconds, or some other time, then continue to the nest step in the sequence.
- Graph data representing the code elements and relationships of the code elements of an application may be received in block 902 .
- a graph may be displayed in block 904 .
- An object to be tracked may be received in block 906 .
- the object may be selected through a user interface.
- the object may be selected by interacting with a graph and identifying an object through a user interface which may display one or more objects that may be tracked.
- the object may be identified through a programmatic interface.
- the location of the objects to be tracked may be identified in block 908 .
- the location may refer to a node or edge on the graph. In some cases, a single object or tracking condition may result in multiple nodes or edges being highlighted.
- the highlights may be displayed on the graph in block 910 .
- the display may be paused in block 914 and the process may loop back to block 912 . Once a condition to proceed to the next time interval has been met in block 912 , the process may continue.
- next locations for highlighting may be identified.
- the next location may be a plurality of locations.
- One example of such a case may be a condition where multiple processes or threads may be launched as a result of processing a first code element.
- the process may loop back to block 918 .
- a highlight may be created in block 922 for the relationship connecting an old location to a new location.
- the highlight may have a directional indicator, such as a graduated color, arrow, arrowhead, moving animation, or some other indicator.
- Embodiment 900 illustrates a method where an older location may have a deprecated highlight, which is created in block 924 .
- the deprecated highlight may be less intense such that a user may be able to visualize the movement of an object or its effects from an old location to a new location.
- the highlight may be removed for a location two generations old in block 926 .
- the graph may be updated with the changes to the highlighting in block 928 .
- the process may return to block 910 to display the graph with highlights.
- FIG. 10 is a diagram illustration of an embodiment 1000 showing a distributed system with an interactive graph.
- Embodiment 1000 is an example of the components that may be deployed to collect and display tracer data, and to use filter to modify the visual representation of the data.
- Embodiment 1000 illustrates two different mechanisms for deploying filters that may change a displayed graph.
- filters may be applied just prior to rendering a graph.
- filters may be applied by a tracer to transform raw tracer data from which a graph may be rendered.
- Various embodiments may deploy one or both mechanisms for applying filters to the tracer data.
- a tracer 1004 may collect tracer data 1006 .
- the tracer data 1006 may identify code elements and relationships between the code elements.
- a dispatcher 1008 may transmit the tracer data across a network 1010 to a device 1030 .
- the device 1030 may be a standalone computer or other device with the processing capabilities to render and display a graph, along with user interface components to manipulate the graph.
- the device 1030 may have a receiver 1012 that may receive the tracer data 1006 .
- a filter 1014 may transform the data prior to a renderer 1016 which may generate a graph 1020 that may be shown on a display 1018 .
- a user interface 1022 may collect input from a user from which a navigation manager 1024 may create, modify, and deploy filters 1014 .
- the filters may cause the tracer data 1006 to be rendered using different groupings, transformations, or other manipulations.
- the navigation manager 1024 may cause certain filters to be applied by the tracer 1004 .
- the navigation manager 1024 may receive input that may change how the tracer 1004 collects data, then create a filter that may express such changes.
- the filters may include adding or removing data elements in the tracer data 1006 , increasing or decreasing tracer frequency, causing the tracer 1004 to perform data manipulations and transformations, or other changes.
- Some filters may be transmitted by a dispatcher 1026 across the network 1010 to a receiver 1028 , which may pass the changes to the tracer 1004 .
- the filters may be applied at the tracer 1004 to change the tracer data 1006 for subsequent tracing operations. The effects of such transformations may be subsequently viewed on the graph 1020 .
- FIGS. 11A and 11B are diagram illustrations of user interfaces showing graphs 1102 and 1104 , respectively.
- the sequence of graphs 1102 and 1104 illustrate a user experience where a filter may be applied to combine a group of graph elements into a single node.
- the graph 1102 represents an application with two groups of code elements.
- One group of code elements may be members of “hello_world”, while other code elements may be members of “disk_library”.
- Nodes 1106 , 1108 , 1110 , 1112 , and 1114 are illustrated as being members of “disk_library”, and each node are illustrated as shaded to represent their group membership.
- Node 1114 is illustrated as being selected and may have a halo or other visual highlighting applied.
- a user interface 1116 may be presented to the user.
- the user interface 1116 may include many different filters, transformations, or other operations that may be performed. In many cases, such operations may use the selected node 1114 as an input to a selected operation. In the example of graph 1102 , options may include combining nodes together, expanding the selected node into multiple nodes, viewing source code, displaying memory objects, and displaying performance data. These options are mere examples which may or may not be included on various embodiments. In some cases, additional operations may be present.
- a selection 1118 may indicate that the user selects to combine nodes similar to the selected node 1114 .
- graph 1104 the nodes 1106 , 1108 , 1110 , 1112 , and 1114 are illustrated as combined into node 1130 .
- Graph 1104 illustrates the results of applying a combination filter to the data of graph 1102 , where the combination filter combines all similar nodes into a single node.
- Another user interface mechanism may be a legend 1120 , which may show groups 1122 and 1124 as the “hello_world” and “disk_library” groups.
- the shading of the groups shown in the legend may correspond to the shading applied to the various nodes in the graph.
- the legend 1120 may operate as a user interface mechanism by making combine and expand operations available through icons 1126 and 1128 . Such icons may be toggled to switch between combined and expanded modes.
- edges connecting various nodes to the combined node 1130 may be highlighted.
- edges 1132 , 1134 , and 1136 may be illustrated as dashed or have some other visual differentiation over other edges. Such highlighting may indicate that one, two, or more relationships may be represented by the highlighted edges.
- the legend 1138 may illustrate groups 1140 and 1142 with icons 1144 and 1146 .
- the icon 1144 may illustrate that the group is illustrated as combined, and may be toggled to change back to the graph 1102 .
- FIG. 12 is a flowchart illustration of an embodiment 1200 showing a method for creating and applying filters to a displayed graph.
- Embodiment 1200 may illustrate one method that may accomplish the transformation illustrated in FIGS. 11A and 11B , as well as one method performed by the components of embodiment 1000 .
- Graph data representing code elements and relationships between code elements may be received in block 1202 and a graph may be displayed from the data in block 1204 .
- the process may loop back to block 1202 to display updated graph data.
- the graph may reflect real time or near real time updates which may be collected from a tracer.
- the updates may pause in block 1208 .
- the selected object may be highlighted in block 1210 and a menu may be presented in block 1212 .
- a user may select an operation from the menu in block 1214 . If the operation does not change a filter in block 1216 , the operation may be performed in block 1218 .
- some of the operations may include displaying source code for a selected element, displaying performance data related to the selected element, setting a breakpoint, or some other operation.
- the filter definition may be received in block 1220 .
- the filter definition may be a predefined change to a filter which may be merely selected by a user. In some cases, a user may enter data, create expressions, or provide some other filter definition.
- the filter may be applied to a graph renderer in block 1222 and the process may loop back to block 1202 .
- the filter may be transmitted to a tracer or other data source so that the effects of the filter may be viewed on the graph in block 1204 .
Abstract
Description
Claims (23)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/899,504 US9734040B2 (en) | 2013-05-21 | 2013-05-21 | Animated highlights in a graph representing an application |
CN201480029533.0A CN105229617A (en) | 2013-05-21 | 2014-01-15 | For the chart of navigation application code |
PCT/US2014/011733 WO2014189553A1 (en) | 2013-05-21 | 2014-01-15 | Graph for navigating application code |
EP14801342.8A EP3000041A4 (en) | 2013-05-21 | 2014-01-15 | Graph for navigating application code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/899,504 US9734040B2 (en) | 2013-05-21 | 2013-05-21 | Animated highlights in a graph representing an application |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140189651A1 US20140189651A1 (en) | 2014-07-03 |
US9734040B2 true US9734040B2 (en) | 2017-08-15 |
Family
ID=51018883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/899,504 Active US9734040B2 (en) | 2013-05-21 | 2013-05-21 | Animated highlights in a graph representing an application |
Country Status (1)
Country | Link |
---|---|
US (1) | US9734040B2 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342396A1 (en) * | 2015-05-20 | 2016-11-24 | Ab lnitio Technology LLC | Visual program specification and compilation of graph-based computation |
US20180137667A1 (en) * | 2016-11-14 | 2018-05-17 | Oracle International Corporation | Graph Visualization Tools With Summary Visualization For Very Large Labeled Graphs |
US20180189388A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US10379990B2 (en) * | 2016-06-29 | 2019-08-13 | Oracle International Corporation | Multi-dimensional selective tracing |
US10477363B2 (en) | 2015-09-30 | 2019-11-12 | Microsoft Technology Licensing, Llc | Estimating workforce skill misalignments using social networks |
US10585575B2 (en) | 2017-05-31 | 2020-03-10 | Oracle International Corporation | Visualizing UI tool for graph construction and exploration with alternative action timelines |
US10592396B2 (en) | 2018-04-23 | 2020-03-17 | Microsoft Technology Licensing, Llc | Memory validity states in time-travel debugging |
US20200167153A1 (en) * | 2018-11-26 | 2020-05-28 | International Business Machines Corporation | Highlight source code changes in user interface |
US10986196B1 (en) | 2017-11-27 | 2021-04-20 | Lacework Inc. | Using agents in a data center to monitor for network connections |
US11120082B2 (en) | 2018-04-18 | 2021-09-14 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
US11158098B2 (en) | 2017-05-31 | 2021-10-26 | International Business Machines Corporation | Accelerating data-driven scientific discovery |
US11157386B2 (en) * | 2018-12-18 | 2021-10-26 | Sap Se | Debugging rules based on execution events stored in an event log |
US11201955B1 (en) | 2019-12-23 | 2021-12-14 | Lacework Inc. | Agent networking in a containerized environment |
US11256759B1 (en) | 2019-12-23 | 2022-02-22 | Lacework Inc. | Hierarchical graph analysis |
US11269603B2 (en) * | 2018-11-26 | 2022-03-08 | Sap Se | Compiler for context-dependent code global data types |
US20220215101A1 (en) * | 2017-11-27 | 2022-07-07 | Lacework, Inc. | Dynamically generating monitoring tools for software applications |
US20220329616A1 (en) * | 2017-11-27 | 2022-10-13 | Lacework, Inc. | Using static analysis for vulnerability detection |
US11765249B2 (en) | 2017-11-27 | 2023-09-19 | Lacework, Inc. | Facilitating developer efficiency and application quality |
US11770398B1 (en) | 2017-11-27 | 2023-09-26 | Lacework, Inc. | Guided anomaly detection framework |
US11785104B2 (en) | 2017-11-27 | 2023-10-10 | Lacework, Inc. | Learning from similar cloud deployments |
US11792284B1 (en) | 2017-11-27 | 2023-10-17 | Lacework, Inc. | Using data transformations for monitoring a cloud compute environment |
US11818156B1 (en) | 2017-11-27 | 2023-11-14 | Lacework, Inc. | Data lake-enabled security platform |
US11849000B2 (en) | 2017-11-27 | 2023-12-19 | Lacework, Inc. | Using real-time monitoring to inform static analysis |
US11895135B2 (en) | 2017-11-27 | 2024-02-06 | Lacework, Inc. | Detecting anomalous behavior of a device |
US11894984B2 (en) | 2017-11-27 | 2024-02-06 | Lacework, Inc. | Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments |
US11909752B1 (en) | 2017-11-27 | 2024-02-20 | Lacework, Inc. | Detecting deviations from typical user behavior |
US11916947B2 (en) | 2017-11-27 | 2024-02-27 | Lacework, Inc. | Generating user-specific polygraphs for network activity |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US9665474B2 (en) | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
CN105765560B (en) | 2013-11-13 | 2019-11-05 | 微软技术许可有限责任公司 | The component software executed based on multiple tracking is recommended |
WO2015071778A1 (en) | 2013-11-13 | 2015-05-21 | Concurix Corporation | Application execution path tracing with configurable origin definition |
CN105320504B (en) * | 2014-06-25 | 2018-08-17 | 成都普中软件有限公司 | A kind of visual software modeling method constructing software view based on software member view |
US9940105B2 (en) * | 2015-09-28 | 2018-04-10 | International Business Machines Corporation | Scalable code division and workflow chart |
KR102052338B1 (en) * | 2016-11-18 | 2019-12-04 | (주)씽크포비엘 | Visualization method for tracking analysis of testcase design information, testcase generating apparatus, and computer-readable recording medium |
US11379192B2 (en) * | 2018-09-25 | 2022-07-05 | Salesforce, Inc. | Saving a snippet of visual programming logic for reuse amongst programs created using an automation building tool |
US11257263B1 (en) * | 2018-10-23 | 2022-02-22 | Palantir Technologies Inc. | Systems and methods for generating dynamic pipeline visualizations |
US11132403B2 (en) * | 2019-09-06 | 2021-09-28 | Digital Asset Capital, Inc. | Graph-manipulation based domain-specific execution environment |
US10990879B2 (en) | 2019-09-06 | 2021-04-27 | Digital Asset Capital, Inc. | Graph expansion and outcome determination for graph-defined program states |
Citations (302)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327568A (en) | 1989-07-31 | 1994-07-05 | Hitachi, Ltd. | Apparatus for supporting graphic data driven program development and for displaying instruction execution results superimposed on the graphic program |
EP0610581A2 (en) | 1993-01-29 | 1994-08-17 | International Business Machines Corporation | Visualization tool for graphically displaying trace data produced by a parallel processing computer |
US5642511A (en) * | 1994-12-16 | 1997-06-24 | International Business Machines Corporation | System and method for providing a visual application builder framework |
US5732277A (en) | 1986-10-24 | 1998-03-24 | National Instruments Corporation | Graphical system for modelling a process and associated method |
US5740440A (en) | 1995-01-06 | 1998-04-14 | Objective Software Technology | Dynamic object visualization and browsing system |
US5758183A (en) | 1996-07-17 | 1998-05-26 | Digital Equipment Corporation | Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution |
US5778004A (en) | 1995-06-02 | 1998-07-07 | Unisys Corporation | Vector translator |
US5835085A (en) * | 1993-10-22 | 1998-11-10 | Lucent Technologies Inc. | Graphical display of relationships |
US5852449A (en) * | 1992-01-27 | 1998-12-22 | Scientific And Engineering Software | Apparatus for and method of displaying running of modeled system designs |
US5946488A (en) | 1997-05-16 | 1999-08-31 | Thnkage Ltd. | Method for selectively and incrementally displaying the results of preprocessing |
US5999192A (en) * | 1996-04-30 | 1999-12-07 | Lucent Technologies Inc. | Interactive data exploration apparatus and methods |
US6003143A (en) | 1994-06-30 | 1999-12-14 | Compaq Computer Corporation | Tool and method for diagnosing and correcting errors in a computer program |
WO2000007100A1 (en) | 1998-07-30 | 2000-02-10 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6026362A (en) | 1995-09-11 | 2000-02-15 | Compaq Computer Corporation | Tool and method for diagnosing and correcting errors in a computer program |
US6038395A (en) * | 1994-12-16 | 2000-03-14 | International Business Machines Corporation | System and method for implementing proxy objects in a visual application builder framework |
US6108340A (en) | 1997-03-21 | 2000-08-22 | International Business Machines Corporation | Incidence graph based communications and operations method and apparatus for parallel processing architecture |
US6202199B1 (en) | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6219826B1 (en) | 1996-08-01 | 2001-04-17 | International Business Machines Corporation | Visualizing execution patterns in object-oriented programs |
US6226787B1 (en) * | 1999-01-25 | 2001-05-01 | Hewlett-Packard Company | Visualization method and system for dynamically displaying operations of a program |
US6243857B1 (en) | 1998-02-17 | 2001-06-05 | Nemasoft, Inc. | Windows-based flowcharting and code generation system |
US6266804B1 (en) | 1997-12-23 | 2001-07-24 | Ab Initio Software Corporation | Method for analyzing capacity of parallel processing systems |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US20010034859A1 (en) | 2000-03-02 | 2001-10-25 | Swoboda Gary L. | Configurable debug system with wire list walking |
US20020007297A1 (en) | 2000-04-17 | 2002-01-17 | Clarke Hernan Jose | Method and system for enterprise wide production scheduling |
US6374271B1 (en) | 1997-09-26 | 2002-04-16 | Fuji Xerox Co., Ltd. | Hypermedia document authoring using a goals outline and a presentation outline |
US20020073063A1 (en) | 2000-08-10 | 2002-06-13 | International Business Machines Corporation | Generation of runtime execution traces of applications and associated problem determination |
US20020085041A1 (en) | 1997-01-24 | 2002-07-04 | Masayuki Ishikawa | Method and apparatus for editing data used in creating a three-dimensional virtual reality environment |
US20020087949A1 (en) | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US20020138788A1 (en) | 2000-12-21 | 2002-09-26 | Britt Yenne | Computer software run-time analysis systems and methods |
US20020157086A1 (en) | 1999-02-04 | 2002-10-24 | Lewis Brad R. | Methods and systems for developing data flow programs |
US20020163498A1 (en) | 1997-04-25 | 2002-11-07 | Chang Dean C. | Design of force sensations for haptic feedback computer interfaces |
US20020178185A1 (en) * | 2001-05-22 | 2002-11-28 | Allan Kuchinsky | Database model, tools and methods for organizing information across external information objects |
US20020199172A1 (en) | 2001-06-07 | 2002-12-26 | Mitchell Bunnell | Dynamic instrumentation event trace system and methods |
US20020196229A1 (en) | 2001-06-26 | 2002-12-26 | Frank Chen | Graphics-based calculator capable of directly editing data points on graph |
US20030037248A1 (en) * | 2001-03-26 | 2003-02-20 | John Launchbury | Crypto-pointers for secure data storage |
US20030061574A1 (en) | 2001-06-15 | 2003-03-27 | Sanjeev Saluja | Procedure for optimizingmergeability and datapath widths of data flow graphs |
US20030067481A1 (en) * | 2001-03-31 | 2003-04-10 | Christopher Chedgey | System and method for computer-aided graph-based dependency analysis with integrated documentation |
US20030088854A1 (en) | 1999-12-23 | 2003-05-08 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US20030106046A1 (en) | 2001-11-30 | 2003-06-05 | International Business Machines Corporation | Inheritance breakpoints for use in debugging object-oriented computer programs |
US20030140280A1 (en) | 1999-06-03 | 2003-07-24 | Microsoft Corporation | Method and apparatus for analyzing performance of data processing system |
US6681384B1 (en) | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
US20040012638A1 (en) | 2002-05-24 | 2004-01-22 | Donnelli Richard K. | System and method of electronic commitment tracking |
US20040073529A1 (en) | 2002-10-10 | 2004-04-15 | Stanfill Craig W. | Startup and control of graph-based computation |
US20040083425A1 (en) | 2002-10-24 | 2004-04-29 | Dorwart Richard W. | System and method for creating a graphical presentation |
US6742003B2 (en) | 2001-04-30 | 2004-05-25 | Microsoft Corporation | Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications |
US6748585B2 (en) | 2000-11-29 | 2004-06-08 | Microsoft Corporation | Computer programming language pronouns |
US20040117768A1 (en) | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts |
US20040117172A1 (en) | 2002-12-12 | 2004-06-17 | Kohsaku Shibata | Simulation apparatus, method and program |
US20040128093A1 (en) * | 2002-12-26 | 2004-07-01 | International Business Machines Corporation | Animated graphical object notification system |
US20040154016A1 (en) | 2003-01-31 | 2004-08-05 | Randall Keith H. | System and method of measuring application resource usage |
US6775423B2 (en) | 2000-05-03 | 2004-08-10 | Microsoft Corporation | Systems and methods for incrementally updating an image in flash memory |
US6792595B1 (en) | 1998-12-23 | 2004-09-14 | International Business Machines Corporation | Source editing in a graphical hierarchical environment |
US6792460B2 (en) | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US20040205302A1 (en) | 2003-04-14 | 2004-10-14 | Bryan Cantrill | Method and system for postmortem identification of falsely shared memory objects |
US20050021318A1 (en) * | 2003-06-10 | 2005-01-27 | Keisuke Inoue | Shape generation apparatus, control method to cause computer apparatus to operate as shape generation apparatus and computer executable program to allow computer apparatus to execute the control method |
US6862727B2 (en) | 2001-08-24 | 2005-03-01 | Formfactor, Inc. | Process and apparatus for adjusting traces |
US20050102636A1 (en) | 2003-11-07 | 2005-05-12 | Microsoft Corporation | Method and system for presenting user interface (UI) information |
US20050120333A1 (en) | 2002-02-18 | 2005-06-02 | Katsuro Inoue | Software component importance evaluation system |
US20050177820A1 (en) | 2003-12-19 | 2005-08-11 | International Business Machines Corporation | Method and system for debugging business process flow |
US20050180330A1 (en) | 2004-02-17 | 2005-08-18 | Touchgraph Llc | Method of animating transitions and stabilizing node motion during dynamic graph navigation |
US20050188272A1 (en) | 2004-01-30 | 2005-08-25 | Bodorin Daniel M. | System and method for detecting malware in an executable code module according to the code module's exhibited behavior |
US6938186B2 (en) | 2002-05-28 | 2005-08-30 | Microsoft Corporation | System and method for performing a path-sensitive verification on a program |
US20050204344A1 (en) * | 2004-03-12 | 2005-09-15 | Hideaki Shinomi | Program analysis device, analysis method and program of same |
US20050262470A1 (en) | 2004-05-21 | 2005-11-24 | Microsoft Corporation | Method and system for graph analysis and synchronization |
US20050278208A1 (en) | 2004-06-15 | 2005-12-15 | Microsoft Corporation | Method and system for restarting a project management system scheduling engine based on user input of contractual start/finish data |
US20060015850A1 (en) | 2004-07-19 | 2006-01-19 | Accurev, Inc. | Determining which software component versions of an issue resolution are included in a version of a software development project at a particular time |
US20060015612A1 (en) | 2004-06-03 | 2006-01-19 | Fujitsu Limited | Trace processing program, method and apparatus |
US20060075390A1 (en) | 2004-09-16 | 2006-04-06 | International Business Machines Corporation | Method and system for tracing components of computer applications |
US20060106843A1 (en) | 2004-11-17 | 2006-05-18 | Targit A/S | Database track history |
US20060130016A1 (en) | 2003-03-17 | 2006-06-15 | Wagner John R | Method of kernal-mode instruction interception and apparatus therefor |
US7093234B2 (en) | 2001-08-24 | 2006-08-15 | International Business Machines Corporation | Dynamic CPU usage profiling and function call tracing |
US20060182133A1 (en) | 2003-12-12 | 2006-08-17 | Takanori Choumaru | Data transmission device |
US20060212852A1 (en) | 2005-03-16 | 2006-09-21 | Jinwoo Hwang | Methods, systems and computer program products for detecting memory leaks |
US7120901B2 (en) | 2001-10-26 | 2006-10-10 | International Business Machines Corporation | Method and system for tracing and displaying execution of nested functions |
US20060242627A1 (en) | 2000-12-26 | 2006-10-26 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US20060248177A1 (en) | 2005-04-29 | 2006-11-02 | Sap Aktiengesellschaft | Common trace files |
US20060265397A1 (en) | 2001-03-06 | 2006-11-23 | Knowledge Vector, Inc. | Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution |
US20070022000A1 (en) * | 2005-07-22 | 2007-01-25 | Accenture Llp | Data analysis using graphical visualization |
US20070028189A1 (en) * | 2005-07-27 | 2007-02-01 | Microsoft Corporation | Hierarchy highlighting |
US7174536B1 (en) | 2001-02-12 | 2007-02-06 | Iowa State University Research Foundation, Inc. | Integrated interactive software visualization environment |
US20070050174A1 (en) | 2005-08-30 | 2007-03-01 | Dewitt Jimmie E Jr | Method and apparatus for adaptive tracing with different processor frequencies |
US20070060205A1 (en) | 2005-09-09 | 2007-03-15 | Huhn Kim | Event display apparatus for mobile communication terminal and method thereof |
US7194664B1 (en) | 2003-09-08 | 2007-03-20 | Poon Fung | Method for tracing application execution path in a distributed data processing system |
US7203925B1 (en) | 2001-09-14 | 2007-04-10 | Emc Corporation | Graphical compiler |
US7219300B2 (en) | 2002-09-30 | 2007-05-15 | Sanavigator, Inc. | Method and system for generating a network monitoring display with animated utilization information |
US20070118909A1 (en) | 2005-11-18 | 2007-05-24 | Nexthink Sa | Method for the detection and visualization of anomalous behaviors in a computer network |
US20070118538A1 (en) | 2005-11-18 | 2007-05-24 | International Business Machines Corporation | Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API) |
US20070143795A1 (en) | 2005-12-20 | 2007-06-21 | Duong-Han Tran | Application trace for distributed systems environment |
US20070140131A1 (en) | 2005-12-15 | 2007-06-21 | Malloy Patrick J | Interactive network monitoring and analysis |
US20070198952A1 (en) | 2006-02-21 | 2007-08-23 | Pittenger Robert A | Methods and systems for authoring of a compound document following a hierarchical structure |
US20080049022A1 (en) | 2006-08-10 | 2008-02-28 | Ab Initio Software Corporation | Distributing Services in Graph-Based Computations |
US20080065668A1 (en) | 2006-09-11 | 2008-03-13 | Microsoft Corporation | Presentation of information based on current activity |
US20080092121A1 (en) | 2006-10-17 | 2008-04-17 | Cray Inc. | Performance visualization including hierarchical display of performance data |
US20080104570A1 (en) | 1999-12-20 | 2008-05-01 | Christopher Chedgey | System and method for computer-aided graph-based dependency analysis |
US20080104451A1 (en) | 2004-08-05 | 2008-05-01 | Anton Blanchard | Bootable post crash analysis environment |
US20080104225A1 (en) | 2006-11-01 | 2008-05-01 | Microsoft Corporation | Visualization application for mining of social networks |
US20080120400A1 (en) | 2006-11-16 | 2008-05-22 | Alexander Keller | Systems and Methods for Constructing Relationship Specifications from Component Interactions |
US20080127108A1 (en) | 2006-09-29 | 2008-05-29 | Sap Ag | Common performance trace mechanism |
US20080126003A1 (en) | 2006-07-28 | 2008-05-29 | Apple Computer, Inc. | Event-based setting of process tracing scope |
US20080127109A1 (en) | 2006-09-29 | 2008-05-29 | Sap Ag | Method and system for generating and displaying function call tracker charts |
US20080127112A1 (en) | 2006-11-23 | 2008-05-29 | International Business Machines Corporation | Software tracing |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US20080140985A1 (en) | 2004-05-28 | 2008-06-12 | Alongkorn Kitamorn | Apparatus to preserve trace data |
US20080155348A1 (en) | 2006-09-29 | 2008-06-26 | Ventsislav Ivanov | Tracing operations in multiple computer systems |
US20080155349A1 (en) | 2006-09-30 | 2008-06-26 | Ventsislav Ivanov | Performing computer application trace with other operations |
US20080163124A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Graphical user interface system and method for presenting objects |
US20080168472A1 (en) | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Recording execution information |
US20080256466A1 (en) * | 2007-04-13 | 2008-10-16 | Richard Salvador | Authoring interface which distributes composited elements about the display |
US20080256233A1 (en) | 2006-11-27 | 2008-10-16 | Richard Hall | System and method for tracking the network viral spread of a digital media content item |
US20080256518A1 (en) | 2004-10-04 | 2008-10-16 | Matsushita Electric Industrial Co., Ltd. | Source Code Checker, Source Code Checking Method, Program for Causing Execution of the Method, and Storage Medium for Storing the Program |
US20080271038A1 (en) | 2007-04-30 | 2008-10-30 | Jerome Rolia | System and method for evaluating a pattern of resource demands of a workload |
US20080282232A1 (en) | 2007-05-09 | 2008-11-13 | International Business Machines Corporation | Iterative, Non-Uniform Profiling Method for Automatically Refining Performance Bottleneck Regions in Scientific Code |
US20080313502A1 (en) | 2007-06-13 | 2008-12-18 | International Business Machines Corporation | Systems, methods and computer products for trace capability per work unit |
US7468727B2 (en) | 2005-04-19 | 2008-12-23 | Wong Pak C | Methods of visualizing graphs |
US7472378B2 (en) | 2005-02-23 | 2008-12-30 | International Business Machines Corporation | Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process |
US20090037873A1 (en) | 2007-08-03 | 2009-02-05 | Azadeh Ahadian | Displaying and refactoring programs that include database statements |
US20090037407A1 (en) | 2007-08-03 | 2009-02-05 | International Business Machines Corporation | System and method for sorting attachments in an integrated information management application |
US20090049428A1 (en) | 2007-08-16 | 2009-02-19 | Microsoft Corporation | Error tracing with context history |
US7509343B1 (en) | 2004-06-09 | 2009-03-24 | Sprint Communications Company L.P. | System and method of collecting and reporting system performance metrics |
US20090089765A1 (en) | 2007-09-28 | 2009-04-02 | Xiaofeng Guo | Critical section ordering for multiple trace applications |
US20090113399A1 (en) | 2007-10-24 | 2009-04-30 | Rachel Tzoref | Device, System and Method of Debugging Computer Programs |
US7543281B2 (en) | 2002-07-22 | 2009-06-02 | National Instruments Corporation | Disabling and conditionally compiling graphical code in a graphical program |
US20090150874A1 (en) | 2007-12-07 | 2009-06-11 | International Business Machines Corporation | Binary programmable method for application performance data collection |
US20090157723A1 (en) | 2007-12-14 | 2009-06-18 | Bmc Software, Inc. | Impact Propagation in a Directed Acyclic Graph |
US7574675B1 (en) | 2005-06-14 | 2009-08-11 | Adobe Systems Incorporated | Methods and apparatus to display content selections |
US7607169B1 (en) | 2002-12-02 | 2009-10-20 | Arcsight, Inc. | User interface for network security console |
US20090271729A1 (en) | 2006-10-31 | 2009-10-29 | Disetronic Licensing Ag | Method for processing a chronological sequence of measurements of a time dependent parameter |
US20090276288A1 (en) | 2002-09-09 | 2009-11-05 | Michal Hlavac | Artificial intelligence platform |
US7620947B2 (en) | 2005-03-11 | 2009-11-17 | Autodesk, Inc. | Enhanced directed graph representation for dependency systems |
US7624380B2 (en) | 2006-06-05 | 2009-11-24 | International Business Machines Corporation | Generating functional test scripts |
US20090307630A1 (en) | 2001-03-19 | 2009-12-10 | Kenji Kawai | System And Method for Processing A Message Store For Near Duplicate Messages |
US20090313525A1 (en) | 2006-07-27 | 2009-12-17 | Commissariat A L'energie Atomique | Method of decoding by message passing with scheduling depending on neighbourhood reliability |
US20090319996A1 (en) | 2008-06-23 | 2009-12-24 | Microsoft Corporation | Analysis of thread synchronization events |
US7639256B1 (en) | 1999-10-08 | 2009-12-29 | I2 Technologies Us, Inc. | System and method for displaying graphs |
US20100005249A1 (en) | 2008-07-02 | 2010-01-07 | International Business Machines Corporation | Finding the Source Statement of the Definition of a Storage Location |
CN101627388A (en) | 2007-03-05 | 2010-01-13 | 微软公司 | Dynamically rendering visualizations of data sets |
US20100011341A1 (en) | 2008-07-11 | 2010-01-14 | International Business Machines Corporation | Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications |
US7650574B2 (en) | 2004-05-11 | 2010-01-19 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US7657873B2 (en) | 2004-04-29 | 2010-02-02 | Microsoft Corporation | Visualizer system and methods for debug environment |
US20100042944A1 (en) | 2005-01-28 | 2010-02-18 | Robinson Eric M | System And Method For Generating Representations Of Message-Related Relationships |
US7681182B1 (en) | 2008-11-06 | 2010-03-16 | International Business Machines Corporation | Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base |
US20100070505A1 (en) * | 2008-09-18 | 2010-03-18 | International Business Machines Corporation | Classification of Data in a Hierarchical Data Structure |
US20100077388A1 (en) | 2008-09-25 | 2010-03-25 | Fujitsu Microelectronics Limited | Profiling method, system, and recording medium having a profiling program |
US20100083178A1 (en) | 2008-09-30 | 2010-04-01 | Olympus Medical Systems Corp. | Image display apparatus, image display method, and computer program product |
US20100083185A1 (en) | 2008-09-30 | 2010-04-01 | Kabushiki Kaisha Toshiba | Computer program, multiprocessor system, and grouping method |
WO2010039893A2 (en) | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Tree-based directed graph programming structures for a declarative programming language |
US20100138431A1 (en) | 2008-12-02 | 2010-06-03 | Ab Initio Software Llc | Visualizing relationships between data elements and graphical representations of data element attributes |
US20100134501A1 (en) | 2008-12-01 | 2010-06-03 | Thomas Lowe | Defining an animation of a virtual object within a virtual world |
US20100153786A1 (en) | 2008-12-11 | 2010-06-17 | Nec Electronics Corporation | Processor, multiprocessor, and debugging method |
US20100167256A1 (en) | 2008-02-14 | 2010-07-01 | Douglas Michael Blash | System and method for global historical database |
US20100180245A1 (en) | 2006-08-11 | 2010-07-15 | Nxp, B.V. | Methods and products for determining and visualizin ic behavior |
US7788640B2 (en) | 2004-12-28 | 2010-08-31 | Microsoft Corporation | Using code analysis to generate documentation |
US20100223581A1 (en) | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Visualization of participant relationships and sentiment for electronic messaging |
US20100235771A1 (en) | 2009-03-12 | 2010-09-16 | Gregg Iii Boyd Alexander | System And Method For Drag-And-Drop Graph Building With Live Feedback |
US7814453B2 (en) | 2001-08-24 | 2010-10-12 | Formfactor, Inc. | Process and apparatus for finding paths through a routing space |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US20100281468A1 (en) | 2008-04-01 | 2010-11-04 | Kaspersky Lab, Zao | Method and system for monitoring execution performance of software program product |
US20100281488A1 (en) | 2009-04-30 | 2010-11-04 | Anand Krishnamurthy | Detecting non-redundant component dependencies in web service invocations |
US20100295856A1 (en) | 2009-05-21 | 2010-11-25 | Microsoft Corporation | Data analysis and visualization system and techniques |
US7853930B2 (en) | 2005-01-04 | 2010-12-14 | International Business Machines Corporation | Annotating graphs to allow quick loading and analysis of very large graphs |
US20100333039A1 (en) * | 2009-06-26 | 2010-12-30 | Sap Ag | Hiearchy tree movement using multi-tree animation |
US7865872B2 (en) | 2006-12-01 | 2011-01-04 | Murex S.A.S. | Producer graph oriented programming framework with undo, redo, and abort execution support |
US20110004598A1 (en) | 2008-03-26 | 2011-01-06 | Nec Corporation | Service response performance analyzing device, method, program, and recording medium containing the program |
US20110066973A1 (en) | 2009-09-11 | 2011-03-17 | Apple Inc. | Rendering System Log Data |
US20110072309A1 (en) | 2009-09-24 | 2011-03-24 | Ryuji Sakai | Debugger for Multicore System |
US20110078487A1 (en) | 2009-09-25 | 2011-03-31 | National Electronics Warranty, Llc | Service plan web crawler |
US20110126286A1 (en) | 2009-11-23 | 2011-05-26 | Kaspersky Lab Zao | Silent-mode signature testing in anti-malware processing |
US20110153817A1 (en) | 2009-12-21 | 2011-06-23 | International Business Machines Corporation | Trace monitoring |
US20110154300A1 (en) | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Debugging From A Call Graph |
US20110191343A1 (en) | 2008-05-19 | 2011-08-04 | Roche Diagnostics International Ltd. | Computer Research Tool For The Organization, Visualization And Analysis Of Metabolic-Related Clinical Data And Method Thereof |
US20110209153A1 (en) | 2008-11-14 | 2011-08-25 | Noriaki Suzuki | Schedule decision device, parallel execution device, schedule decision method, and program |
US8024708B2 (en) | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
WO2011116988A1 (en) | 2010-03-26 | 2011-09-29 | Software Diagnostics Technology Gmbh | A method for automatically detecting and excluding a tracing instruction from further trace data generation for a software system, a computer system, and a computer program product |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US20110249002A1 (en) | 2010-04-13 | 2011-10-13 | Microsoft Corporation | Manipulation and management of links and nodes in large graphs |
US8056059B2 (en) | 2007-10-17 | 2011-11-08 | International Business Machines Corporation | Using cross-entropy to test executable logic code |
WO2011142720A1 (en) | 2010-05-14 | 2011-11-17 | Gabriyel Wong Chee Kien | A self-organizing and contextual graphical user interface |
US20110289485A1 (en) | 2010-05-21 | 2011-11-24 | International Business Machines Corporation | Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip |
WO2011146750A2 (en) | 2010-05-19 | 2011-11-24 | Google Inc. | Bug clearing house |
US8069145B2 (en) | 2007-08-30 | 2011-11-29 | Red Hat, Inc. | Data gravitation |
EP2390790A1 (en) | 2010-05-27 | 2011-11-30 | Fujitsu Limited | Profiling of software applications |
US20110314343A1 (en) | 2010-06-21 | 2011-12-22 | Apple Inc. | Capturing and Displaying State of Automated User-Level Testing of a Graphical User Interface Application |
US20110314543A1 (en) | 2010-06-16 | 2011-12-22 | Microsoft Corporation | System state based diagnostic scan |
US20120042269A1 (en) | 2010-03-15 | 2012-02-16 | Holman Enterprises, LLC | System and method for nesting timelines |
US20120042212A1 (en) | 2010-08-10 | 2012-02-16 | Gilbert Laurenti | Mixed Mode Processor Tracing |
US20120047421A1 (en) | 2010-03-15 | 2012-02-23 | Holman Enterprises, LLC | System and method for creating and displaying a timeline presentation |
US20120079456A1 (en) | 2010-09-23 | 2012-03-29 | International Business Machines Corporation | Systems and methods for identifying software performance influencers |
US20120079108A1 (en) | 2009-06-01 | 2012-03-29 | Piotr Findeisen | System and method for collecting application performance data |
US20120102029A1 (en) | 2010-10-25 | 2012-04-26 | Ab Initio Technology Llc | Managing data set objects |
US20120117438A1 (en) | 2010-11-09 | 2012-05-10 | Cisco Technology, Inc. | Multicast Message Retransmission |
US20120137273A1 (en) | 2010-11-30 | 2012-05-31 | Sap Ag | Trace visualization for object oriented programs |
US20120137240A1 (en) | 2010-11-30 | 2012-05-31 | Uwe Krueger | Systems and methods to display dependencies within a graph of grouped elements |
US20120159391A1 (en) | 2010-12-17 | 2012-06-21 | Orca MD, LLC | Medical interface, annotation and communication systems |
CN102592079A (en) | 2010-12-30 | 2012-07-18 | 卡巴斯基实验室封闭式股份公司 | System and method for detecting unknown malware |
US20120204156A1 (en) | 2009-08-10 | 2012-08-09 | International Business Machines Corporation | Software application recreation |
WO2012106571A2 (en) | 2011-02-04 | 2012-08-09 | Opnet Technologies, Inc. | Overhead management for event tracing |
US20120222019A1 (en) | 2012-05-01 | 2012-08-30 | Concurix Corporation | Control Flow Graph Operating System Configuration |
US20120222043A1 (en) | 2012-05-01 | 2012-08-30 | Concurix Corporation | Process Scheduling Using Scheduling Graph to Minimize Managed Elements |
US20120221314A1 (en) | 2006-05-17 | 2012-08-30 | Quest Software, Inc. | Model-based systems and methods for monitoring resources |
US20120227040A1 (en) | 2012-05-01 | 2012-09-06 | Concurix Corporation | Hybrid Operating System |
US20120233592A1 (en) | 2012-05-01 | 2012-09-13 | Concurix Corporation | Meta Garbage Collection for Functional Code |
US20120233601A1 (en) | 2012-05-01 | 2012-09-13 | Concurix Corporation | Recompiling with Generic to Specific Replacement |
US8286142B2 (en) | 2006-04-04 | 2012-10-09 | Tibco Software Inc. | Method and system for providing a visual debugger for an interpreted statistical language |
US20120260135A1 (en) | 2011-04-08 | 2012-10-11 | Computer Associates Think, Inc. | Visualizing Relationships Between A Transaction Trace Graph And A Map Of Logical Subsystems |
US8312056B1 (en) | 2011-09-13 | 2012-11-13 | Xerox Corporation | Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis |
US8316354B2 (en) | 2005-12-15 | 2012-11-20 | Ca, Inc. | Execution flow shape compression for aggregate data reporting in an application manager |
US20120296991A1 (en) | 2011-02-23 | 2012-11-22 | Nova Spivack | Adaptive system architecture for identifying popular topics from messages |
US20120317557A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Extraction from Executable Code in Message Passing Environments |
US20120317421A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Fingerprinting Executable Code |
US20120317371A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Usage Aware NUMA Process Scheduling |
US20120317587A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Matching Process Scheduler in Message Passing Environment |
US20120317389A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Allocating Heaps in NUMA Systems |
US20120317577A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Matching Process Scheduler with Upstream Optimization |
US20120323827A1 (en) | 2011-06-15 | 2012-12-20 | International Business Machines Corporation | Generating Predictions From A Probabilistic Process Model |
US20120324454A1 (en) | 2012-05-04 | 2012-12-20 | Concurix Corporation | Control Flow Graph Driven Operating System |
US20120330700A1 (en) | 2011-06-22 | 2012-12-27 | International Business Machines Corporation | Application placement among a set of consolidation servers utilizing license cost and application workload profiles as factors |
US20130018925A1 (en) | 2009-11-06 | 2013-01-17 | Adobe Systems Incorporated | Indexing messaging events for seeking through data streams |
US8381178B2 (en) | 2009-07-02 | 2013-02-19 | International Business Machines Corporation | Intuitive visualization of Boolean expressions using flows |
US20130061212A1 (en) | 2011-09-06 | 2013-03-07 | Microsoft Corporation | Modern Application Tracing |
US20130060372A1 (en) | 2011-09-07 | 2013-03-07 | Sap Ag | User interface including scheduling hint and material sufficiency indicator for production planning |
US20130067445A1 (en) | 2012-11-08 | 2013-03-14 | Concurix Corporation | Determination of Function Purity for Memoization |
US20130073604A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Settings in a Configuration Database with Boundaries |
US20130074055A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoization Configuration File Consumed at Compile Time |
US20130073829A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memory Usage Configuration Based on Observations |
US20130074093A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Memory Configuration Deployed Prior to Execution |
US20130074058A1 (en) | 2012-09-18 | 2013-03-21 | Concurix Corporation | Memoization from Offline Analysis |
US20130074092A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Memory Configuration Deployed on Executing Code |
US20130073523A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Purity Analysis Using White List/Black List Analysis |
US20130074049A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoization Configuration File Consumed at Runtime |
US20130074056A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoizing with Read Only Side Effects |
US20130073837A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Input Vector Analysis for Memoization Estimation |
US20130074057A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Selecting Functions for Memoization Analysis |
US8406565B1 (en) * | 2008-08-26 | 2013-03-26 | Adobe Systems Incorporated | Region reasoning for image processing graphs |
US20130080760A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Execution Environment with Feedback Loop |
US20130080761A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Experiment Manager for Manycore Systems |
US20130081005A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Memory Management Parameters Derived from System Modeling |
US20130085882A1 (en) | 2012-09-18 | 2013-04-04 | Concurix Corporation | Offline Optimization of Computer Software |
US20130104107A1 (en) * | 2011-10-19 | 2013-04-25 | Microsoft Corporation | Data flow visualization and debugging |
US20130117759A1 (en) | 2012-05-01 | 2013-05-09 | Concurix Corporation | Network Aware Process Scheduling |
US20130117280A1 (en) | 2011-11-04 | 2013-05-09 | BigML, Inc. | Method and apparatus for visualizing and interacting with decision trees |
US20130117753A1 (en) | 2012-05-01 | 2013-05-09 | Concurix Corporation | Many-core Process Scheduling to Maximize Cache Usage |
US20130145350A1 (en) | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Efficient, large scale trace storage system |
US20130159198A1 (en) | 2011-12-19 | 2013-06-20 | Oracle International Corporation | Project mapper |
US8490055B2 (en) | 2010-09-17 | 2013-07-16 | Ca, Inc. | Generating dependency maps from dependency data |
US20130187941A1 (en) | 2012-01-24 | 2013-07-25 | Ryan Noon | Systems and Methods for Graph Rendering |
US20130212479A1 (en) | 2012-02-12 | 2013-08-15 | Saba Software, Inc. | Methods and apparatus for analyzing a social network |
US8516443B2 (en) | 2011-05-26 | 2013-08-20 | Oracle International Corporation | Context-sensitive analysis framework using value flows |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
US20130232174A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Highlighting of Time Series Data on Force Directed Graph |
US20130232452A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Force Directed Graph with Time Series Data |
US20130232433A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Controlling Application Tracing using Dynamic Visualization |
US20130229416A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Transformation Function Insertion for Dynamically Displayed Tracer Data |
US20130235040A1 (en) | 2010-09-03 | 2013-09-12 | Robert Lewis Jackson, JR. | Automated stratification of graph display |
US8543983B2 (en) | 2010-06-15 | 2013-09-24 | Fujitsu Limited | Creating hierarchical message sequence charts for visualizing user-interactive applications |
US20130271480A1 (en) | 2012-04-16 | 2013-10-17 | International Business Machines Corporation | Graphical User Interface for Visualizing the Severity of Time Intervals and Events |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US20130283240A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Application Tracing by Distributed Objectives |
US20130283242A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Tracing Closures in a Callback Environment |
US20130283241A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Periodicity Optimization in an Automated Tracing System |
US20130282545A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Marketplace for Monitoring Services |
US20130283246A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Cost Analysis for Selecting Trace Objectives |
US20130283247A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Optimization Analysis Using Similar Frequencies |
US20130283102A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deployment of Profile Models with a Monitoring Agent |
US8572575B2 (en) | 2009-09-14 | 2013-10-29 | Myspace Llc | Debugging a map reduce application on a cluster |
US20130291113A1 (en) | 2012-04-26 | 2013-10-31 | David Bryan Dewey | Process flow optimized directed graph traversal |
US20140013308A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Application Development Environment with Services Marketplace |
US20140013309A1 (en) | 2013-05-21 | 2014-01-09 | Concurix Corporation | Interactive Graph for Navigating Application Code |
US20140013306A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Computer Load Generator Marketplace |
US20140019879A1 (en) | 2013-02-01 | 2014-01-16 | Concurix Corporation | Dynamic Visualization of Message Passing Computation |
US20140019756A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Obfuscating Trace Data |
US20140019985A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Parallel Tracing for Performance and Detail |
US20140019598A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Tracing with a Workload Distributor |
US20140025572A1 (en) | 2013-01-25 | 2014-01-23 | Concurix Corporation | Tracing as a Service |
US8640104B2 (en) | 2009-12-08 | 2014-01-28 | International Business Machines Corporation | Computer method and apparatus for debugging in a dynamic computer language |
US8640100B2 (en) | 2007-04-20 | 2014-01-28 | National Instruments Corporation | Debugging a statechart using a graphical program |
US8656359B2 (en) | 2011-03-25 | 2014-02-18 | Sap Ag | Debugging data mappings |
US20140053143A1 (en) | 2012-08-14 | 2014-02-20 | Qualcomm Innovation Center, Inc. | Context-specific optimized code |
US8681155B2 (en) | 2010-01-08 | 2014-03-25 | International Business Machines Corporation | Ranking nodes in a graph |
US8713064B1 (en) | 2010-06-28 | 2014-04-29 | Open Invention Network, Llc | Attribute category enhanced search |
US20140136233A1 (en) | 2012-11-14 | 2014-05-15 | William Atkinson | Managing Personal Health Record Information about Doctor-Patient Communication, Care interactions, health metrics ,customer vendor relationship management platforms, and personal health history in a GLOBAL PERSONAL HEALTH RECORD TIMELINE integrated within an (ERP/EMRSE) ENTERPRISE RESOURCE PLANNING ELECTRONIC MEDICAL RECORD SOFTWARE ENVIRONMENT localized medical data ecosystem |
US8745594B1 (en) | 2013-05-10 | 2014-06-03 | Technobasics Software Inc. | Program flow specification language and system |
US8756581B2 (en) | 2011-02-03 | 2014-06-17 | International Business Machines Corporation | Adaptive next-executing-cycle trace selection for trace-driven code optimizers |
US20140189652A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Filtering and Transforming a Graph Representing an Application |
US20140189650A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Setting Breakpoints Using an Interactive Graph Representing an Application |
US8793656B2 (en) | 2009-12-28 | 2014-07-29 | International Business Machines Corporation | Method and apparatus for regression testing selection for a framework-based application |
US20140215444A1 (en) | 2013-01-28 | 2014-07-31 | Rackspace Us, Inc. | Methods and Systems of Function-Specific Tracing |
US20140278539A1 (en) | 2013-03-14 | 2014-09-18 | Cerner Innovation, Inc. | Graphical representations of time-ordered data |
US20140317606A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Error List and Bug Report Analysis for Configuring an Application Tracer |
US20140317603A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Multiple Tracer Configurations Applied on a Function-by-Function Level |
US20140317454A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Tracer List for Automatically Controlling Tracer Behavior |
US20140317605A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | User Interaction Analysis of Tracer Data for Configuring an Application Tracer |
US20140317604A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Real Time Analysis of Tracer Summaries to Change Tracer Behavior |
US20140359126A1 (en) | 2013-06-03 | 2014-12-04 | Advanced Micro Devices, Inc. | Workload partitioning among heterogeneous processing nodes |
US20140365545A1 (en) | 2013-06-11 | 2014-12-11 | International Business Machines Corporation | Multi-way number partitioning using weakest link optimality |
US8943441B1 (en) | 2014-01-24 | 2015-01-27 | Storagecraft Technology Corporation | Graphical user interface relationship graph for displaying relationships between image backup files in a backup job |
US20150033172A1 (en) | 2013-07-24 | 2015-01-29 | Concurix Corporation | Timeline Charts with Subgraphs |
US20150029193A1 (en) | 2013-07-24 | 2015-01-29 | Concurix Corporation | Event Chain Visualization of Performance Data |
US20150066869A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Module Database with Tracing Options |
US20150067654A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Tracing System for Application and Module Tracing |
US20150067652A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Module Specific Tracing in a Shared Module Environment |
US8997056B2 (en) | 2010-12-15 | 2015-03-31 | Hewlett-Packard Development Company, L. P. | Directed graphs pertaining to read/write operations |
US20160283362A1 (en) | 2013-11-13 | 2016-09-29 | Concurix Corporation | Software Component Recommendation Based on Multiple Trace Runs |
-
2013
- 2013-05-21 US US13/899,504 patent/US9734040B2/en active Active
Patent Citations (352)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732277A (en) | 1986-10-24 | 1998-03-24 | National Instruments Corporation | Graphical system for modelling a process and associated method |
US5327568A (en) | 1989-07-31 | 1994-07-05 | Hitachi, Ltd. | Apparatus for supporting graphic data driven program development and for displaying instruction execution results superimposed on the graphic program |
US5852449A (en) * | 1992-01-27 | 1998-12-22 | Scientific And Engineering Software | Apparatus for and method of displaying running of modeled system designs |
EP0610581A2 (en) | 1993-01-29 | 1994-08-17 | International Business Machines Corporation | Visualization tool for graphically displaying trace data produced by a parallel processing computer |
US5835085A (en) * | 1993-10-22 | 1998-11-10 | Lucent Technologies Inc. | Graphical display of relationships |
US6003143A (en) | 1994-06-30 | 1999-12-14 | Compaq Computer Corporation | Tool and method for diagnosing and correcting errors in a computer program |
US6038395A (en) * | 1994-12-16 | 2000-03-14 | International Business Machines Corporation | System and method for implementing proxy objects in a visual application builder framework |
US5642511A (en) * | 1994-12-16 | 1997-06-24 | International Business Machines Corporation | System and method for providing a visual application builder framework |
US5740440A (en) | 1995-01-06 | 1998-04-14 | Objective Software Technology | Dynamic object visualization and browsing system |
US5778004A (en) | 1995-06-02 | 1998-07-07 | Unisys Corporation | Vector translator |
US6026362A (en) | 1995-09-11 | 2000-02-15 | Compaq Computer Corporation | Tool and method for diagnosing and correcting errors in a computer program |
US5999192A (en) * | 1996-04-30 | 1999-12-07 | Lucent Technologies Inc. | Interactive data exploration apparatus and methods |
US5758183A (en) | 1996-07-17 | 1998-05-26 | Digital Equipment Corporation | Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution |
US6219826B1 (en) | 1996-08-01 | 2001-04-17 | International Business Machines Corporation | Visualizing execution patterns in object-oriented programs |
US20020085041A1 (en) | 1997-01-24 | 2002-07-04 | Masayuki Ishikawa | Method and apparatus for editing data used in creating a three-dimensional virtual reality environment |
US6108340A (en) | 1997-03-21 | 2000-08-22 | International Business Machines Corporation | Incidence graph based communications and operations method and apparatus for parallel processing architecture |
US20020163498A1 (en) | 1997-04-25 | 2002-11-07 | Chang Dean C. | Design of force sensations for haptic feedback computer interfaces |
US5946488A (en) | 1997-05-16 | 1999-08-31 | Thnkage Ltd. | Method for selectively and incrementally displaying the results of preprocessing |
US6202199B1 (en) | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6374271B1 (en) | 1997-09-26 | 2002-04-16 | Fuji Xerox Co., Ltd. | Hypermedia document authoring using a goals outline and a presentation outline |
US6266804B1 (en) | 1997-12-23 | 2001-07-24 | Ab Initio Software Corporation | Method for analyzing capacity of parallel processing systems |
US6243857B1 (en) | 1998-02-17 | 2001-06-05 | Nemasoft, Inc. | Windows-based flowcharting and code generation system |
US20040181554A1 (en) | 1998-06-25 | 2004-09-16 | Heckerman David E. | Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications |
WO2000007100A1 (en) | 1998-07-30 | 2000-02-10 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6792595B1 (en) | 1998-12-23 | 2004-09-14 | International Business Machines Corporation | Source editing in a graphical hierarchical environment |
US6226787B1 (en) * | 1999-01-25 | 2001-05-01 | Hewlett-Packard Company | Visualization method and system for dynamically displaying operations of a program |
US20020157086A1 (en) | 1999-02-04 | 2002-10-24 | Lewis Brad R. | Methods and systems for developing data flow programs |
US20040015929A1 (en) | 1999-02-04 | 2004-01-22 | Lewis Brad R. | Methods and systems for developing data flow programs |
US20030140280A1 (en) | 1999-06-03 | 2003-07-24 | Microsoft Corporation | Method and apparatus for analyzing performance of data processing system |
US7639256B1 (en) | 1999-10-08 | 2009-12-29 | I2 Technologies Us, Inc. | System and method for displaying graphs |
US20080104570A1 (en) | 1999-12-20 | 2008-05-01 | Christopher Chedgey | System and method for computer-aided graph-based dependency analysis |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US6681384B1 (en) | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
US20030088854A1 (en) | 1999-12-23 | 2003-05-08 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US20010034859A1 (en) | 2000-03-02 | 2001-10-25 | Swoboda Gary L. | Configurable debug system with wire list walking |
US20020087949A1 (en) | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US20020007297A1 (en) | 2000-04-17 | 2002-01-17 | Clarke Hernan Jose | Method and system for enterprise wide production scheduling |
US6775423B2 (en) | 2000-05-03 | 2004-08-10 | Microsoft Corporation | Systems and methods for incrementally updating an image in flash memory |
US20020073063A1 (en) | 2000-08-10 | 2002-06-13 | International Business Machines Corporation | Generation of runtime execution traces of applications and associated problem determination |
US6748585B2 (en) | 2000-11-29 | 2004-06-08 | Microsoft Corporation | Computer programming language pronouns |
US20020138788A1 (en) | 2000-12-21 | 2002-09-26 | Britt Yenne | Computer software run-time analysis systems and methods |
US20060242627A1 (en) | 2000-12-26 | 2006-10-26 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US8312435B2 (en) | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US7174536B1 (en) | 2001-02-12 | 2007-02-06 | Iowa State University Research Foundation, Inc. | Integrated interactive software visualization environment |
US20060265397A1 (en) | 2001-03-06 | 2006-11-23 | Knowledge Vector, Inc. | Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution |
US20090307630A1 (en) | 2001-03-19 | 2009-12-10 | Kenji Kawai | System And Method for Processing A Message Store For Near Duplicate Messages |
US20030037248A1 (en) * | 2001-03-26 | 2003-02-20 | John Launchbury | Crypto-pointers for secure data storage |
US20030067481A1 (en) * | 2001-03-31 | 2003-04-10 | Christopher Chedgey | System and method for computer-aided graph-based dependency analysis with integrated documentation |
US6742003B2 (en) | 2001-04-30 | 2004-05-25 | Microsoft Corporation | Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications |
US20020178185A1 (en) * | 2001-05-22 | 2002-11-28 | Allan Kuchinsky | Database model, tools and methods for organizing information across external information objects |
US20020199172A1 (en) | 2001-06-07 | 2002-12-26 | Mitchell Bunnell | Dynamic instrumentation event trace system and methods |
US20030061574A1 (en) | 2001-06-15 | 2003-03-27 | Sanjeev Saluja | Procedure for optimizingmergeability and datapath widths of data flow graphs |
US20020196229A1 (en) | 2001-06-26 | 2002-12-26 | Frank Chen | Graphics-based calculator capable of directly editing data points on graph |
US6862727B2 (en) | 2001-08-24 | 2005-03-01 | Formfactor, Inc. | Process and apparatus for adjusting traces |
US7093234B2 (en) | 2001-08-24 | 2006-08-15 | International Business Machines Corporation | Dynamic CPU usage profiling and function call tracing |
US7814453B2 (en) | 2001-08-24 | 2010-10-12 | Formfactor, Inc. | Process and apparatus for finding paths through a routing space |
US7203925B1 (en) | 2001-09-14 | 2007-04-10 | Emc Corporation | Graphical compiler |
US7120901B2 (en) | 2001-10-26 | 2006-10-10 | International Business Machines Corporation | Method and system for tracing and displaying execution of nested functions |
US20030106046A1 (en) | 2001-11-30 | 2003-06-05 | International Business Machines Corporation | Inheritance breakpoints for use in debugging object-oriented computer programs |
US20050120333A1 (en) | 2002-02-18 | 2005-06-02 | Katsuro Inoue | Software component importance evaluation system |
US20040012638A1 (en) | 2002-05-24 | 2004-01-22 | Donnelli Richard K. | System and method of electronic commitment tracking |
US6938186B2 (en) | 2002-05-28 | 2005-08-30 | Microsoft Corporation | System and method for performing a path-sensitive verification on a program |
US7543281B2 (en) | 2002-07-22 | 2009-06-02 | National Instruments Corporation | Disabling and conditionally compiling graphical code in a graphical program |
US20090276288A1 (en) | 2002-09-09 | 2009-11-05 | Michal Hlavac | Artificial intelligence platform |
US7219300B2 (en) | 2002-09-30 | 2007-05-15 | Sanavigator, Inc. | Method and system for generating a network monitoring display with animated utilization information |
US6792460B2 (en) | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US20040073529A1 (en) | 2002-10-10 | 2004-04-15 | Stanfill Craig W. | Startup and control of graph-based computation |
US20040083425A1 (en) | 2002-10-24 | 2004-04-29 | Dorwart Richard W. | System and method for creating a graphical presentation |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US7607169B1 (en) | 2002-12-02 | 2009-10-20 | Arcsight, Inc. | User interface for network security console |
US20040117172A1 (en) | 2002-12-12 | 2004-06-17 | Kohsaku Shibata | Simulation apparatus, method and program |
US20040117768A1 (en) | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts |
US20040128093A1 (en) * | 2002-12-26 | 2004-07-01 | International Business Machines Corporation | Animated graphical object notification system |
US20040154016A1 (en) | 2003-01-31 | 2004-08-05 | Randall Keith H. | System and method of measuring application resource usage |
US20060130016A1 (en) | 2003-03-17 | 2006-06-15 | Wagner John R | Method of kernal-mode instruction interception and apparatus therefor |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US20040205302A1 (en) | 2003-04-14 | 2004-10-14 | Bryan Cantrill | Method and system for postmortem identification of falsely shared memory objects |
US20050021318A1 (en) * | 2003-06-10 | 2005-01-27 | Keisuke Inoue | Shape generation apparatus, control method to cause computer apparatus to operate as shape generation apparatus and computer executable program to allow computer apparatus to execute the control method |
US7194664B1 (en) | 2003-09-08 | 2007-03-20 | Poon Fung | Method for tracing application execution path in a distributed data processing system |
US20050102636A1 (en) | 2003-11-07 | 2005-05-12 | Microsoft Corporation | Method and system for presenting user interface (UI) information |
US20060182133A1 (en) | 2003-12-12 | 2006-08-17 | Takanori Choumaru | Data transmission device |
US20050177820A1 (en) | 2003-12-19 | 2005-08-11 | International Business Machines Corporation | Method and system for debugging business process flow |
US20050188272A1 (en) | 2004-01-30 | 2005-08-25 | Bodorin Daniel M. | System and method for detecting malware in an executable code module according to the code module's exhibited behavior |
US20050180330A1 (en) | 2004-02-17 | 2005-08-18 | Touchgraph Llc | Method of animating transitions and stabilizing node motion during dynamic graph navigation |
US20050204344A1 (en) * | 2004-03-12 | 2005-09-15 | Hideaki Shinomi | Program analysis device, analysis method and program of same |
US7657873B2 (en) | 2004-04-29 | 2010-02-02 | Microsoft Corporation | Visualizer system and methods for debug environment |
US7650574B2 (en) | 2004-05-11 | 2010-01-19 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US20050262470A1 (en) | 2004-05-21 | 2005-11-24 | Microsoft Corporation | Method and system for graph analysis and synchronization |
US20080140985A1 (en) | 2004-05-28 | 2008-06-12 | Alongkorn Kitamorn | Apparatus to preserve trace data |
US20060015612A1 (en) | 2004-06-03 | 2006-01-19 | Fujitsu Limited | Trace processing program, method and apparatus |
US7509343B1 (en) | 2004-06-09 | 2009-03-24 | Sprint Communications Company L.P. | System and method of collecting and reporting system performance metrics |
US20050278208A1 (en) | 2004-06-15 | 2005-12-15 | Microsoft Corporation | Method and system for restarting a project management system scheduling engine based on user input of contractual start/finish data |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US20060015850A1 (en) | 2004-07-19 | 2006-01-19 | Accurev, Inc. | Determining which software component versions of an issue resolution are included in a version of a software development project at a particular time |
US20080104451A1 (en) | 2004-08-05 | 2008-05-01 | Anton Blanchard | Bootable post crash analysis environment |
US20060075390A1 (en) | 2004-09-16 | 2006-04-06 | International Business Machines Corporation | Method and system for tracing components of computer applications |
US20080256518A1 (en) | 2004-10-04 | 2008-10-16 | Matsushita Electric Industrial Co., Ltd. | Source Code Checker, Source Code Checking Method, Program for Causing Execution of the Method, and Storage Medium for Storing the Program |
US20060106843A1 (en) | 2004-11-17 | 2006-05-18 | Targit A/S | Database track history |
US7788640B2 (en) | 2004-12-28 | 2010-08-31 | Microsoft Corporation | Using code analysis to generate documentation |
US7853930B2 (en) | 2005-01-04 | 2010-12-14 | International Business Machines Corporation | Annotating graphs to allow quick loading and analysis of very large graphs |
US20120290672A1 (en) | 2005-01-28 | 2012-11-15 | Robinson Eric M | System And Method For Displaying Message-Related Relationships |
US20100042944A1 (en) | 2005-01-28 | 2010-02-18 | Robinson Eric M | System And Method For Generating Representations Of Message-Related Relationships |
US7472378B2 (en) | 2005-02-23 | 2008-12-30 | International Business Machines Corporation | Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process |
US7620947B2 (en) | 2005-03-11 | 2009-11-17 | Autodesk, Inc. | Enhanced directed graph representation for dependency systems |
US20060212852A1 (en) | 2005-03-16 | 2006-09-21 | Jinwoo Hwang | Methods, systems and computer program products for detecting memory leaks |
US7468727B2 (en) | 2005-04-19 | 2008-12-23 | Wong Pak C | Methods of visualizing graphs |
US20060248177A1 (en) | 2005-04-29 | 2006-11-02 | Sap Aktiengesellschaft | Common trace files |
US7574675B1 (en) | 2005-06-14 | 2009-08-11 | Adobe Systems Incorporated | Methods and apparatus to display content selections |
US20070022000A1 (en) * | 2005-07-22 | 2007-01-25 | Accenture Llp | Data analysis using graphical visualization |
US20070028189A1 (en) * | 2005-07-27 | 2007-02-01 | Microsoft Corporation | Hierarchy highlighting |
US20070050174A1 (en) | 2005-08-30 | 2007-03-01 | Dewitt Jimmie E Jr | Method and apparatus for adaptive tracing with different processor frequencies |
US20070060205A1 (en) | 2005-09-09 | 2007-03-15 | Huhn Kim | Event display apparatus for mobile communication terminal and method thereof |
US20070118909A1 (en) | 2005-11-18 | 2007-05-24 | Nexthink Sa | Method for the detection and visualization of anomalous behaviors in a computer network |
US20070118538A1 (en) | 2005-11-18 | 2007-05-24 | International Business Machines Corporation | Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API) |
US8316354B2 (en) | 2005-12-15 | 2012-11-20 | Ca, Inc. | Execution flow shape compression for aggregate data reporting in an application manager |
US20070140131A1 (en) | 2005-12-15 | 2007-06-21 | Malloy Patrick J | Interactive network monitoring and analysis |
US20070143795A1 (en) | 2005-12-20 | 2007-06-21 | Duong-Han Tran | Application trace for distributed systems environment |
US20070198952A1 (en) | 2006-02-21 | 2007-08-23 | Pittenger Robert A | Methods and systems for authoring of a compound document following a hierarchical structure |
US8286142B2 (en) | 2006-04-04 | 2012-10-09 | Tibco Software Inc. | Method and system for providing a visual debugger for an interpreted statistical language |
US20120221314A1 (en) | 2006-05-17 | 2012-08-30 | Quest Software, Inc. | Model-based systems and methods for monitoring resources |
US7624380B2 (en) | 2006-06-05 | 2009-11-24 | International Business Machines Corporation | Generating functional test scripts |
US8024708B2 (en) | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
US20090313525A1 (en) | 2006-07-27 | 2009-12-17 | Commissariat A L'energie Atomique | Method of decoding by message passing with scheduling depending on neighbourhood reliability |
US20080126003A1 (en) | 2006-07-28 | 2008-05-29 | Apple Computer, Inc. | Event-based setting of process tracing scope |
US20080049022A1 (en) | 2006-08-10 | 2008-02-28 | Ab Initio Software Corporation | Distributing Services in Graph-Based Computations |
US20100180245A1 (en) | 2006-08-11 | 2010-07-15 | Nxp, B.V. | Methods and products for determining and visualizin ic behavior |
US20080065668A1 (en) | 2006-09-11 | 2008-03-13 | Microsoft Corporation | Presentation of information based on current activity |
US20080127109A1 (en) | 2006-09-29 | 2008-05-29 | Sap Ag | Method and system for generating and displaying function call tracker charts |
US20080127108A1 (en) | 2006-09-29 | 2008-05-29 | Sap Ag | Common performance trace mechanism |
US20080155348A1 (en) | 2006-09-29 | 2008-06-26 | Ventsislav Ivanov | Tracing operations in multiple computer systems |
US20080155349A1 (en) | 2006-09-30 | 2008-06-26 | Ventsislav Ivanov | Performing computer application trace with other operations |
US20080092121A1 (en) | 2006-10-17 | 2008-04-17 | Cray Inc. | Performance visualization including hierarchical display of performance data |
US20090271729A1 (en) | 2006-10-31 | 2009-10-29 | Disetronic Licensing Ag | Method for processing a chronological sequence of measurements of a time dependent parameter |
US20080104225A1 (en) | 2006-11-01 | 2008-05-01 | Microsoft Corporation | Visualization application for mining of social networks |
US20080120400A1 (en) | 2006-11-16 | 2008-05-22 | Alexander Keller | Systems and Methods for Constructing Relationship Specifications from Component Interactions |
US20080127112A1 (en) | 2006-11-23 | 2008-05-29 | International Business Machines Corporation | Software tracing |
US20080256233A1 (en) | 2006-11-27 | 2008-10-16 | Richard Hall | System and method for tracking the network viral spread of a digital media content item |
US7865872B2 (en) | 2006-12-01 | 2011-01-04 | Murex S.A.S. | Producer graph oriented programming framework with undo, redo, and abort execution support |
US20080163124A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Graphical user interface system and method for presenting objects |
US20080168472A1 (en) | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Recording execution information |
CN101627388A (en) | 2007-03-05 | 2010-01-13 | 微软公司 | Dynamically rendering visualizations of data sets |
US20080256466A1 (en) * | 2007-04-13 | 2008-10-16 | Richard Salvador | Authoring interface which distributes composited elements about the display |
US8640100B2 (en) | 2007-04-20 | 2014-01-28 | National Instruments Corporation | Debugging a statechart using a graphical program |
US20080271038A1 (en) | 2007-04-30 | 2008-10-30 | Jerome Rolia | System and method for evaluating a pattern of resource demands of a workload |
US20080282232A1 (en) | 2007-05-09 | 2008-11-13 | International Business Machines Corporation | Iterative, Non-Uniform Profiling Method for Automatically Refining Performance Bottleneck Regions in Scientific Code |
US20080313502A1 (en) | 2007-06-13 | 2008-12-18 | International Business Machines Corporation | Systems, methods and computer products for trace capability per work unit |
US20090037407A1 (en) | 2007-08-03 | 2009-02-05 | International Business Machines Corporation | System and method for sorting attachments in an integrated information management application |
US20090037873A1 (en) | 2007-08-03 | 2009-02-05 | Azadeh Ahadian | Displaying and refactoring programs that include database statements |
US20090049428A1 (en) | 2007-08-16 | 2009-02-19 | Microsoft Corporation | Error tracing with context history |
US8069145B2 (en) | 2007-08-30 | 2011-11-29 | Red Hat, Inc. | Data gravitation |
US20090089765A1 (en) | 2007-09-28 | 2009-04-02 | Xiaofeng Guo | Critical section ordering for multiple trace applications |
US8056059B2 (en) | 2007-10-17 | 2011-11-08 | International Business Machines Corporation | Using cross-entropy to test executable logic code |
US20090113399A1 (en) | 2007-10-24 | 2009-04-30 | Rachel Tzoref | Device, System and Method of Debugging Computer Programs |
US20090150874A1 (en) | 2007-12-07 | 2009-06-11 | International Business Machines Corporation | Binary programmable method for application performance data collection |
US20090157723A1 (en) | 2007-12-14 | 2009-06-18 | Bmc Software, Inc. | Impact Propagation in a Directed Acyclic Graph |
US20100167256A1 (en) | 2008-02-14 | 2010-07-01 | Douglas Michael Blash | System and method for global historical database |
US20110004598A1 (en) | 2008-03-26 | 2011-01-06 | Nec Corporation | Service response performance analyzing device, method, program, and recording medium containing the program |
US20100281468A1 (en) | 2008-04-01 | 2010-11-04 | Kaspersky Lab, Zao | Method and system for monitoring execution performance of software program product |
US20110191343A1 (en) | 2008-05-19 | 2011-08-04 | Roche Diagnostics International Ltd. | Computer Research Tool For The Organization, Visualization And Analysis Of Metabolic-Related Clinical Data And Method Thereof |
US20090319996A1 (en) | 2008-06-23 | 2009-12-24 | Microsoft Corporation | Analysis of thread synchronization events |
US20100005249A1 (en) | 2008-07-02 | 2010-01-07 | International Business Machines Corporation | Finding the Source Statement of the Definition of a Storage Location |
US20100011341A1 (en) | 2008-07-11 | 2010-01-14 | International Business Machines Corporation | Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications |
US8406565B1 (en) * | 2008-08-26 | 2013-03-26 | Adobe Systems Incorporated | Region reasoning for image processing graphs |
US20100070505A1 (en) * | 2008-09-18 | 2010-03-18 | International Business Machines Corporation | Classification of Data in a Hierarchical Data Structure |
US20100077388A1 (en) | 2008-09-25 | 2010-03-25 | Fujitsu Microelectronics Limited | Profiling method, system, and recording medium having a profiling program |
US20100083185A1 (en) | 2008-09-30 | 2010-04-01 | Kabushiki Kaisha Toshiba | Computer program, multiprocessor system, and grouping method |
US20100083178A1 (en) | 2008-09-30 | 2010-04-01 | Olympus Medical Systems Corp. | Image display apparatus, image display method, and computer program product |
US20100088665A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Tree-based directed graph programming structures for a declarative programming language |
WO2010039893A2 (en) | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Tree-based directed graph programming structures for a declarative programming language |
US7681182B1 (en) | 2008-11-06 | 2010-03-16 | International Business Machines Corporation | Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base |
US20110209153A1 (en) | 2008-11-14 | 2011-08-25 | Noriaki Suzuki | Schedule decision device, parallel execution device, schedule decision method, and program |
US20100134501A1 (en) | 2008-12-01 | 2010-06-03 | Thomas Lowe | Defining an animation of a virtual object within a virtual world |
US20100138431A1 (en) | 2008-12-02 | 2010-06-03 | Ab Initio Software Llc | Visualizing relationships between data elements and graphical representations of data element attributes |
US20100153786A1 (en) | 2008-12-11 | 2010-06-17 | Nec Electronics Corporation | Processor, multiprocessor, and debugging method |
US20100223581A1 (en) | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Visualization of participant relationships and sentiment for electronic messaging |
US20100235771A1 (en) | 2009-03-12 | 2010-09-16 | Gregg Iii Boyd Alexander | System And Method For Drag-And-Drop Graph Building With Live Feedback |
US20100281488A1 (en) | 2009-04-30 | 2010-11-04 | Anand Krishnamurthy | Detecting non-redundant component dependencies in web service invocations |
US20100295856A1 (en) | 2009-05-21 | 2010-11-25 | Microsoft Corporation | Data analysis and visualization system and techniques |
US20120079108A1 (en) | 2009-06-01 | 2012-03-29 | Piotr Findeisen | System and method for collecting application performance data |
US20100333039A1 (en) * | 2009-06-26 | 2010-12-30 | Sap Ag | Hiearchy tree movement using multi-tree animation |
US8381178B2 (en) | 2009-07-02 | 2013-02-19 | International Business Machines Corporation | Intuitive visualization of Boolean expressions using flows |
US20120204156A1 (en) | 2009-08-10 | 2012-08-09 | International Business Machines Corporation | Software application recreation |
US20110066973A1 (en) | 2009-09-11 | 2011-03-17 | Apple Inc. | Rendering System Log Data |
US8572575B2 (en) | 2009-09-14 | 2013-10-29 | Myspace Llc | Debugging a map reduce application on a cluster |
US20110072309A1 (en) | 2009-09-24 | 2011-03-24 | Ryuji Sakai | Debugger for Multicore System |
US20110078487A1 (en) | 2009-09-25 | 2011-03-31 | National Electronics Warranty, Llc | Service plan web crawler |
US20130018925A1 (en) | 2009-11-06 | 2013-01-17 | Adobe Systems Incorporated | Indexing messaging events for seeking through data streams |
US20110126286A1 (en) | 2009-11-23 | 2011-05-26 | Kaspersky Lab Zao | Silent-mode signature testing in anti-malware processing |
US8640104B2 (en) | 2009-12-08 | 2014-01-28 | International Business Machines Corporation | Computer method and apparatus for debugging in a dynamic computer language |
US20110154300A1 (en) | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Debugging From A Call Graph |
US8359584B2 (en) | 2009-12-18 | 2013-01-22 | Microsoft Corporation | Debugging from a call graph |
US20110153817A1 (en) | 2009-12-21 | 2011-06-23 | International Business Machines Corporation | Trace monitoring |
US8793656B2 (en) | 2009-12-28 | 2014-07-29 | International Business Machines Corporation | Method and apparatus for regression testing selection for a framework-based application |
US8681155B2 (en) | 2010-01-08 | 2014-03-25 | International Business Machines Corporation | Ranking nodes in a graph |
US20120042269A1 (en) | 2010-03-15 | 2012-02-16 | Holman Enterprises, LLC | System and method for nesting timelines |
US20120047421A1 (en) | 2010-03-15 | 2012-02-23 | Holman Enterprises, LLC | System and method for creating and displaying a timeline presentation |
WO2011116988A1 (en) | 2010-03-26 | 2011-09-29 | Software Diagnostics Technology Gmbh | A method for automatically detecting and excluding a tracing instruction from further trace data generation for a software system, a computer system, and a computer program product |
US20110249002A1 (en) | 2010-04-13 | 2011-10-13 | Microsoft Corporation | Manipulation and management of links and nodes in large graphs |
WO2011142720A1 (en) | 2010-05-14 | 2011-11-17 | Gabriyel Wong Chee Kien | A self-organizing and contextual graphical user interface |
WO2011146750A2 (en) | 2010-05-19 | 2011-11-24 | Google Inc. | Bug clearing house |
US20120023475A1 (en) | 2010-05-19 | 2012-01-26 | Google Inc. | Bug Clearing House |
US20110289485A1 (en) | 2010-05-21 | 2011-11-24 | International Business Machines Corporation | Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip |
EP2390790A1 (en) | 2010-05-27 | 2011-11-30 | Fujitsu Limited | Profiling of software applications |
US8543983B2 (en) | 2010-06-15 | 2013-09-24 | Fujitsu Limited | Creating hierarchical message sequence charts for visualizing user-interactive applications |
US20110314543A1 (en) | 2010-06-16 | 2011-12-22 | Microsoft Corporation | System state based diagnostic scan |
US20110314343A1 (en) | 2010-06-21 | 2011-12-22 | Apple Inc. | Capturing and Displaying State of Automated User-Level Testing of a Graphical User Interface Application |
US8713064B1 (en) | 2010-06-28 | 2014-04-29 | Open Invention Network, Llc | Attribute category enhanced search |
US20120042212A1 (en) | 2010-08-10 | 2012-02-16 | Gilbert Laurenti | Mixed Mode Processor Tracing |
US20130235040A1 (en) | 2010-09-03 | 2013-09-12 | Robert Lewis Jackson, JR. | Automated stratification of graph display |
US8490055B2 (en) | 2010-09-17 | 2013-07-16 | Ca, Inc. | Generating dependency maps from dependency data |
US20120079456A1 (en) | 2010-09-23 | 2012-03-29 | International Business Machines Corporation | Systems and methods for identifying software performance influencers |
US20120102029A1 (en) | 2010-10-25 | 2012-04-26 | Ab Initio Technology Llc | Managing data set objects |
US20120117438A1 (en) | 2010-11-09 | 2012-05-10 | Cisco Technology, Inc. | Multicast Message Retransmission |
US20120137240A1 (en) | 2010-11-30 | 2012-05-31 | Uwe Krueger | Systems and methods to display dependencies within a graph of grouped elements |
US20120137273A1 (en) | 2010-11-30 | 2012-05-31 | Sap Ag | Trace visualization for object oriented programs |
US8997056B2 (en) | 2010-12-15 | 2015-03-31 | Hewlett-Packard Development Company, L. P. | Directed graphs pertaining to read/write operations |
US20120159391A1 (en) | 2010-12-17 | 2012-06-21 | Orca MD, LLC | Medical interface, annotation and communication systems |
CN102592079A (en) | 2010-12-30 | 2012-07-18 | 卡巴斯基实验室封闭式股份公司 | System and method for detecting unknown malware |
US8756581B2 (en) | 2011-02-03 | 2014-06-17 | International Business Machines Corporation | Adaptive next-executing-cycle trace selection for trace-driven code optimizers |
WO2012106571A2 (en) | 2011-02-04 | 2012-08-09 | Opnet Technologies, Inc. | Overhead management for event tracing |
US20120296991A1 (en) | 2011-02-23 | 2012-11-22 | Nova Spivack | Adaptive system architecture for identifying popular topics from messages |
US8656359B2 (en) | 2011-03-25 | 2014-02-18 | Sap Ag | Debugging data mappings |
US20120260135A1 (en) | 2011-04-08 | 2012-10-11 | Computer Associates Think, Inc. | Visualizing Relationships Between A Transaction Trace Graph And A Map Of Logical Subsystems |
US8516443B2 (en) | 2011-05-26 | 2013-08-20 | Oracle International Corporation | Context-sensitive analysis framework using value flows |
US20120323827A1 (en) | 2011-06-15 | 2012-12-20 | International Business Machines Corporation | Generating Predictions From A Probabilistic Process Model |
US20120330700A1 (en) | 2011-06-22 | 2012-12-27 | International Business Machines Corporation | Application placement among a set of consolidation servers utilizing license cost and application workload profiles as factors |
US20130061212A1 (en) | 2011-09-06 | 2013-03-07 | Microsoft Corporation | Modern Application Tracing |
US20130060372A1 (en) | 2011-09-07 | 2013-03-07 | Sap Ag | User interface including scheduling hint and material sufficiency indicator for production planning |
US8312056B1 (en) | 2011-09-13 | 2012-11-13 | Xerox Corporation | Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis |
US8745591B2 (en) | 2011-10-19 | 2014-06-03 | Microsoft Corporation | Data flow visualization and debugging |
US20130104107A1 (en) * | 2011-10-19 | 2013-04-25 | Microsoft Corporation | Data flow visualization and debugging |
US20130117280A1 (en) | 2011-11-04 | 2013-05-09 | BigML, Inc. | Method and apparatus for visualizing and interacting with decision trees |
US20130145350A1 (en) | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Efficient, large scale trace storage system |
US20130159198A1 (en) | 2011-12-19 | 2013-06-20 | Oracle International Corporation | Project mapper |
US20130187941A1 (en) | 2012-01-24 | 2013-07-25 | Ryan Noon | Systems and Methods for Graph Rendering |
US20130212479A1 (en) | 2012-02-12 | 2013-08-15 | Saba Software, Inc. | Methods and apparatus for analyzing a social network |
US20130271480A1 (en) | 2012-04-16 | 2013-10-17 | International Business Machines Corporation | Graphical User Interface for Visualizing the Severity of Time Intervals and Events |
US20130291113A1 (en) | 2012-04-26 | 2013-10-31 | David Bryan Dewey | Process flow optimized directed graph traversal |
US8650538B2 (en) | 2012-05-01 | 2014-02-11 | Concurix Corporation | Meta garbage collection for functional code |
US20130117753A1 (en) | 2012-05-01 | 2013-05-09 | Concurix Corporation | Many-core Process Scheduling to Maximize Cache Usage |
US20120233601A1 (en) | 2012-05-01 | 2012-09-13 | Concurix Corporation | Recompiling with Generic to Specific Replacement |
US20120222019A1 (en) | 2012-05-01 | 2012-08-30 | Concurix Corporation | Control Flow Graph Operating System Configuration |
US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
US20120233592A1 (en) | 2012-05-01 | 2012-09-13 | Concurix Corporation | Meta Garbage Collection for Functional Code |
US8615766B2 (en) | 2012-05-01 | 2013-12-24 | Concurix Corporation | Hybrid operating system |
US20130117759A1 (en) | 2012-05-01 | 2013-05-09 | Concurix Corporation | Network Aware Process Scheduling |
US8595743B2 (en) | 2012-05-01 | 2013-11-26 | Concurix Corporation | Network aware process scheduling |
US20140040591A1 (en) | 2012-05-01 | 2014-02-06 | Concurix Corporation | Garbage Collection Based on Functional Block Size |
US20130298112A1 (en) | 2012-05-01 | 2013-11-07 | Concurix Corporation | Control Flow Graph Application Configuration |
US20140026142A1 (en) | 2012-05-01 | 2014-01-23 | Concurix Corporation | Process Scheduling to Maximize Input Throughput |
US20120222043A1 (en) | 2012-05-01 | 2012-08-30 | Concurix Corporation | Process Scheduling Using Scheduling Graph to Minimize Managed Elements |
US8495598B2 (en) | 2012-05-01 | 2013-07-23 | Concurix Corporation | Control flow graph operating system configuration |
US20120227040A1 (en) | 2012-05-01 | 2012-09-06 | Concurix Corporation | Hybrid Operating System |
US20120324454A1 (en) | 2012-05-04 | 2012-12-20 | Concurix Corporation | Control Flow Graph Driven Operating System |
US20120317421A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Fingerprinting Executable Code |
US20120317371A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Usage Aware NUMA Process Scheduling |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
US20120317389A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Allocating Heaps in NUMA Systems |
US20120317577A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Matching Process Scheduler with Upstream Optimization |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
US20120317557A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Extraction from Executable Code in Message Passing Environments |
US20120317587A1 (en) | 2012-07-17 | 2012-12-13 | Concurix Corporation | Pattern Matching Process Scheduler in Message Passing Environment |
US20130080760A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Execution Environment with Feedback Loop |
US20130080761A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Experiment Manager for Manycore Systems |
US20130081005A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Memory Management Parameters Derived from System Modeling |
US20140053143A1 (en) | 2012-08-14 | 2014-02-20 | Qualcomm Innovation Center, Inc. | Context-specific optimized code |
US20130085882A1 (en) | 2012-09-18 | 2013-04-04 | Concurix Corporation | Offline Optimization of Computer Software |
US20130074058A1 (en) | 2012-09-18 | 2013-03-21 | Concurix Corporation | Memoization from Offline Analysis |
US8752021B2 (en) | 2012-11-08 | 2014-06-10 | Concurix Corporation | Input vector analysis for memoization estimation |
US20130074056A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoizing with Read Only Side Effects |
US20130073829A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memory Usage Configuration Based on Observations |
US20130074093A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Memory Configuration Deployed Prior to Execution |
US20130074057A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Selecting Functions for Memoization Analysis |
US8656135B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US20130074092A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Memory Configuration Deployed on Executing Code |
US20130073523A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Purity Analysis Using White List/Black List Analysis |
US20130074049A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoization Configuration File Consumed at Runtime |
US8694574B2 (en) | 2012-11-08 | 2014-04-08 | Concurix Corporation | Optimized settings in a configuration database with boundaries |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US20130073837A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Input Vector Analysis for Memoization Estimation |
US8752034B2 (en) | 2012-11-08 | 2014-06-10 | Concurix Corporation | Memoization configuration file consumed at runtime |
US20130067445A1 (en) | 2012-11-08 | 2013-03-14 | Concurix Corporation | Determination of Function Purity for Memoization |
US8656378B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Memoization configuration file consumed at compile time |
US20130073604A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Optimized Settings in a Configuration Database with Boundaries |
US20130074055A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Memoization Configuration File Consumed at Compile Time |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US20140136233A1 (en) | 2012-11-14 | 2014-05-15 | William Atkinson | Managing Personal Health Record Information about Doctor-Patient Communication, Care interactions, health metrics ,customer vendor relationship management platforms, and personal health history in a GLOBAL PERSONAL HEALTH RECORD TIMELINE integrated within an (ERP/EMRSE) ENTERPRISE RESOURCE PLANNING ELECTRONIC MEDICAL RECORD SOFTWARE ENVIRONMENT localized medical data ecosystem |
US20140019985A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Parallel Tracing for Performance and Detail |
US20140025572A1 (en) | 2013-01-25 | 2014-01-23 | Concurix Corporation | Tracing as a Service |
US20140019756A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Obfuscating Trace Data |
US20140019598A1 (en) | 2013-01-25 | 2014-01-16 | Concurix Corporation | Tracing with a Workload Distributor |
US20140215444A1 (en) | 2013-01-28 | 2014-07-31 | Rackspace Us, Inc. | Methods and Systems of Function-Specific Tracing |
US20150347628A1 (en) | 2013-02-01 | 2015-12-03 | Microsoft Technology Licensing, Llc | Force Directed Graph With Time Series Data |
WO2014120263A1 (en) | 2013-02-01 | 2014-08-07 | Concurix Corporation | Highlighting of time and series data on force directed graph |
US20140019879A1 (en) | 2013-02-01 | 2014-01-16 | Concurix Corporation | Dynamic Visualization of Message Passing Computation |
US20130229416A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Transformation Function Insertion for Dynamically Displayed Tracer Data |
US20130232433A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Controlling Application Tracing using Dynamic Visualization |
US20130232452A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Force Directed Graph with Time Series Data |
US20130232174A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Highlighting of Time Series Data on Force Directed Graph |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US20160133035A1 (en) | 2013-02-01 | 2016-05-12 | Microsoft Technology Licensing, Llc | Transformation Function Insertion for Dynamically Displayed Tracer Data |
US9437024B2 (en) | 2013-02-01 | 2016-09-06 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US20130283240A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Application Tracing by Distributed Objectives |
US20130283241A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Periodicity Optimization in an Automated Tracing System |
US20130283102A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deployment of Profile Models with a Monitoring Agent |
US20130283247A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Optimization Analysis Using Similar Frequencies |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US20130283246A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Cost Analysis for Selecting Trace Objectives |
US20140278539A1 (en) | 2013-03-14 | 2014-09-18 | Cerner Innovation, Inc. | Graphical representations of time-ordered data |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
US20130219057A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Relationships Derived from Trace Data |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US20130227536A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Increasing Performance at Runtime from Trace Data |
US20140013311A1 (en) | 2013-03-15 | 2014-01-09 | Concurix Corporation | Iterative Bottleneck Detector for Executing Applications |
US20150347277A1 (en) | 2013-04-20 | 2015-12-03 | Microsoft Technology Licensing, Llc | Real Time Analysis of Tracer Summaries to Change Tracer Behavior |
US20140013306A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Computer Load Generator Marketplace |
US20140317606A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Error List and Bug Report Analysis for Configuring an Application Tracer |
US20140317603A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Multiple Tracer Configurations Applied on a Function-by-Function Level |
US20140317454A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Tracer List for Automatically Controlling Tracer Behavior |
US20140317605A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | User Interaction Analysis of Tracer Data for Configuring an Application Tracer |
US20140317604A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Real Time Analysis of Tracer Summaries to Change Tracer Behavior |
US20130282545A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Marketplace for Monitoring Services |
US20130283242A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Tracing Closures in a Callback Environment |
US9298589B2 (en) | 2013-04-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | User interaction analysis of tracer data for configuring an application tracer |
US20140013308A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Application Development Environment with Services Marketplace |
US20150347283A1 (en) | 2013-04-20 | 2015-12-03 | Microsoft Technology Licensing, Llc | Multiple Tracer Configurations Applied on a Function-by-Function Level |
US20150242303A1 (en) | 2013-04-20 | 2015-08-27 | Concurix Corporation | User interaction analysis of tracer data for configuring an application tracer |
US8966452B2 (en) | 2013-04-20 | 2015-02-24 | Concurix Corporation | User interaction analysis of tracer data for configuring an application tracer |
US8745594B1 (en) | 2013-05-10 | 2014-06-03 | Technobasics Software Inc. | Program flow specification language and system |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US20140013309A1 (en) | 2013-05-21 | 2014-01-09 | Concurix Corporation | Interactive Graph for Navigating Application Code |
US20140189652A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Filtering and Transforming a Graph Representing an Application |
US20140189650A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Setting Breakpoints Using an Interactive Graph Representing an Application |
US20150212928A1 (en) | 2013-05-21 | 2015-07-30 | Concurix Corporation | Interactive graph for navigating application code |
US20140359126A1 (en) | 2013-06-03 | 2014-12-04 | Advanced Micro Devices, Inc. | Workload partitioning among heterogeneous processing nodes |
US20140365545A1 (en) | 2013-06-11 | 2014-12-11 | International Business Machines Corporation | Multi-way number partitioning using weakest link optimality |
US20140365544A1 (en) | 2013-06-11 | 2014-12-11 | International Business Machines Corporation | Multi-way number partitioning using weakest link optimality |
US20150033172A1 (en) | 2013-07-24 | 2015-01-29 | Concurix Corporation | Timeline Charts with Subgraphs |
US20160035115A1 (en) | 2013-07-24 | 2016-02-04 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US20150029193A1 (en) | 2013-07-24 | 2015-01-29 | Concurix Corporation | Event Chain Visualization of Performance Data |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US20150067652A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Module Specific Tracing in a Shared Module Environment |
US9298588B2 (en) | 2013-09-04 | 2016-03-29 | Microsoft Technology Licensing, Llc | Tracing system for application and module tracing |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
US9311213B2 (en) | 2013-09-04 | 2016-04-12 | Microsoft Technology Licensing, Llc | Module database with tracing options |
US20150067654A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Tracing System for Application and Module Tracing |
US20160196201A1 (en) | 2013-09-04 | 2016-07-07 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
US20150066869A1 (en) | 2013-09-04 | 2015-03-05 | Concurix Corporation | Module Database with Tracing Options |
US20160283362A1 (en) | 2013-11-13 | 2016-09-29 | Concurix Corporation | Software Component Recommendation Based on Multiple Trace Runs |
US8943441B1 (en) | 2014-01-24 | 2015-01-27 | Storagecraft Technology Corporation | Graphical user interface relationship graph for displaying relationships between image backup files in a backup job |
Non-Patent Citations (92)
Title |
---|
"Automagically Wrapping JavaScript Callback Functions" tlrobinson.net.blog, Oct. 22, 2008. |
"International Search Report Issued in PCT Application No. PCT/US2014/011798", Mailed Date: Jun. 20, 2014, 3 pages. |
"Method and System for Automatically Tracking User Interactions and Providing Tags to the User Interactions" an IP.com Prior Art Database Technical Disclosure, Dec. 4, 2010. |
Aguilera, et al., "Performance Debugging for Distributed Systems of Black Boxes", ACM, 2003, pp. 74-89. |
Barbosa et al. "Interactive SNMP Traffic Analysis Through Information Visualization" In Proceedings of the IEEE Network Operations and Management Symposium (NOMS), Apr. 19, 2010, pp. 73-79. |
Bita Mazloom et al: "Dataflow Tomography", ACM Transactions on Architecture and Code Optimization, vol. 9, No. 1, Mar. 2012, pp. 1-26. |
Cantrill "Instrumenting the Real-Time Web: Node.js in Production" Node Summit 2012 Presentation; Jan. 24-25, 2012. |
Dobrev et al. "Visualization of Node Interaction Dynamics in Network Traces" In Proceedings of the 3rd International Conference on Autonomous Infrastructure, Management and Security, AIMS 2009, Enschede, Jun. 30, 2009, pp. 147-160. |
European Search Report for EP 13873299 dated Sep. 21, 2016. |
European Search Report for EP 14801342 dated Dec. 6, 2016. |
Extended European Search Report issued in EPO Patent Application No. 14829908.4 dated Apr. 11, 2017. |
Extended Search Report Issued in European Patent Application No. 14843127.3, dated Apr. 13, 2017, 9 pages. |
First Office Action and Search Report Issued in Chinese Patent Application No. 201380075253.9, dated Apr. 5, 2017, 27 pages. |
Fu, et al., "De-anonymizing Social Graphs via Node Similarity", ACM, pp. 263-264, Apr. 2014. |
Gephi Tutorial Layouts, Gephi, Jun. 13, 2011. |
Grossbart "Javascript Profiling with the Chrome Developer Tools" Smashing Magazine Website, Jun. 12, 2012. |
Heer et al. "Prefuse" CHI 2005, Conference Proceedings, Conference on Human Factors in Computing Systems; Apr. 2, 2005, pp. 421-430. |
Hsu, et al., "Visibility Enhancement for Silicon Debug", ACM, 2006, pp. 13-18. |
Huang et al. "Force-Transfer: A New Approach to Removing Overlapping Nodes in Graph Layout", ACM, pp. 1-10, 2003. |
International Search Authority, International Search Report and Written Opinion, Korea Intellectual Property Office, PCT/US2014/011733, May 8, 2014. |
International Search Report and Written Opinion for PCT/IB2014/060233 mailed Nov. 11, 2014. |
International Search Report and Written Opinion for PCT/US2013/043492 mailed Nov. 6, 2013, 11 pages. |
International Search Report and Written Opinion for PCT/US2013/043522 mailed Nov. 6, 2013. |
International Search Report and Written Opinion for PCT/US2013/043811 mailed Nov. 28, 2013. |
International Search Report and Written Opinion for PCT/US2013/044193 mailed Oct. 29, 2013. |
International Search Report and Written Opinion for PCT/US2013/046050 mailed Nov. 8, 2013. |
International Search Report and Written Opinion for PCT/US2013/046664 mailed Nov. 20, 2013. |
International Search Report and Written Opinion for PCT/US2013/046918 mailed Nov. 25, 2013. |
International Search Report and Written Opinion for PCT/US2013/046922 mailed Dec. 17, 2013. |
International Search Report and Written Opinion for PCT/US2013/046925 mailed Nov. 25, 2013. |
International Search Report and Written Opinion for PCT/US2013/047211 mailed Nov. 27, 2013. |
International Search Report and Written Opinion for PCT/US2013/073894 mailed Apr. 1, 2014. |
International Search Report and Written Opinion for PCT/US2014/011727 mailed May 16, 2014. |
Ioannidis et al., "Transitive Closure Algorithms Based on Graph Traversal", ACM Transactions on Database sSystems, vol. 18, No. 3, pp. 512-579, Sep. 1993. |
Joyce et al. "Monitoring Distributed Systems" in Journal of ACM Transactions on Computer Systems (TOCS), vol. 5, Issue 2, May 1, 1987, pp. 121-150. |
Kaya, et al., "Error Pattern Analysis of Augmented Array Codes Using a Visual Debugging Tool", IEEE, 2006, pp. 1-6. |
Kinsey "Under the Hood: The JavaScript SDK-Error Handling" Facebook.com website Nov. 1, 2012. |
Kinsey "Under the Hood: The JavaScript SDK—Error Handling" Facebook.com website Nov. 1, 2012. |
Kumar, et al., "Visualization of Clustered Directed Acyclic Graphs with Node Interleaving", ACM, pp. 1800-1805, Mar. 2009. |
LabVIEW ("Debugging Techniques"), Jun. 2011. * |
Lienhard A et al: "Taking an object-centric view on dynamic information with object flow analysis", Computer Languages. Systems & Structures, Pergamon, Amsterdam, NL, vol. 25, No. 1, Apr. 2009, pp. 63-79. |
Natour, "On the Control Dependence in the Program Dependence Graph", ACM, pp. 510-519, 1988. |
Notice of Allowance dated Jan. 20, 2017 cited in U.S. Appl. No. 14/666,120. |
Nusayr et al. "Using AOP for Detailed Runtime Monitoring Instrumentation", ACM, pp. 8-14, 2009. |
Office Action dated Jun. 2, 2016 cited in U.S. Appl. No. 13/899,503. |
Office Action dated May 24, 2016 cited in U.S. Appl. No. 14/666,120. |
Office Action issued in Chinese Patent Application No. 201380075229.5 mailed Mar. 1, 2017. |
Office Action issued in Chinese Patent Application No. 201480029533.0 dated Mar. 20, 2017. |
Reiss, "Visualization Program Execution Using User Abstractions", ACM, pp. 125-134, 2006. |
Supplementary European Search Report issued in EPO Application No. 14801342.8 dated Apr. 10, 2017. |
Supplementary Search Report Issued in European Patent Application No. 13873476.9, mailed date: Aug. 2, 2016, 10 pages. |
U.S. Appl. No. 13/757,570, filed May 19, 2017, Office Action. |
U.S. Appl. No. 13/757,570, Jul. 29, 2015, Office Action. |
U.S. Appl. No. 13/757,570, Nov. 14, 2014, Office Action. |
U.S. Appl. No. 13/757,570, Nov. 17, 2016, Office Action. |
U.S. Appl. No. 13/757,582, Aug. 7, 2015, Office Action. |
U.S. Appl. No. 13/757,582, Dec. 21, 2015, Notice of Allowance. |
U.S. Appl. No. 13/757,598, Feb. 13, 2015, Office Action. |
U.S. Appl. No. 13/757,598, Jul. 17, 2014, Office Action. |
U.S. Appl. No. 13/757,625, Aug. 13, 2014, Office Action. |
U.S. Appl. No. 13/757,625, Jan. 2, 2015, Office Action. |
U.S. Appl. No. 13/757,631, Mar. 17, 2015, Office Action. |
U.S. Appl. No. 13/757,631, Sep. 25, 2015, Notice of Allowance. |
U.S. Appl. No. 13/899,500, Feb. 4, 2015, Notice of Allowance. |
U.S. Appl. No. 13/899,500, Jul. 21, 2014, Office Action. |
U.S. Appl. No. 13/899,503, Mar. 11, 2015, Office Action. |
U.S. Appl. No. 13/899,503, Nov. 3, 2015, Office Action. |
U.S. Appl. No. 13/899,503, Oct. 5, 2016, Office Action. |
U.S. Appl. No. 13/899,503, Sep. 12, 2014, Office Action. |
U.S. Appl. No. 13/899,507, Jan. 7, 2015, Office Action. |
U.S. Appl. No. 13/899,507, Sep. 11, 2014, Office Action. |
U.S. Appl. No. 13/916,568, Jan. 14, 2015, Notice of Allowance. |
U.S. Appl. No. 13/949,978, Jul. 10, 2015, Notice of Allowance. |
U.S. Appl. No. 13/949,978, Nov. 13, 2015, Notice of Allowance. |
U.S. Appl. No. 13/949,994, Aug. 26, 2016, Office Action. |
U.S. Appl. No. 13/949,994, filed May 19, 2017, Office Action. |
U.S. Appl. No. 14/455,156 Jun. 3, 2015, Notice of Allowance. |
U.S. Appl. No. 14/455,170, Feb. 10, 2016, Notice of Allowance. |
U.S. Appl. No. 14/455,170, Jul. 2, 2015, Notice of Allowance. |
U.S. Appl. No. 14/455,170, Nov. 24, 2015, Notice of Allowance. |
U.S. Appl. No. 14/455,202, Dec. 9, 2015, Notice of Allowance. |
U.S. Appl. No. 14/455,202, Feb. 4, 2016, Notice of Allowance. |
U.S. Appl. No. 14/455,202, Jul. 30, 2015, Notice of Allowance. |
U.S. Appl. No. 14/629,322, Aug. 26, 2015, Office Action. |
U.S. Appl. No. 14/629,322, Nov. 20, 2015, Notice of Allowance. |
U.S. Appl. No. 14/883,554, Feb. 22, 2017, Office Action. |
U.S. Appl. No. 14/883,554, filed May 5, 2017, Notice of Allowance. |
U.S. Appl. No. 14/995,872, Feb. 26, 2016, Office Action. |
U.S. Appl. No. 14/995,872, Jun. 9, 2016, Notice of Allowance. |
Ungar, et al., "Self", ACM, 2007, pp. 1-50. |
Vetter et al. "Real-Time Performance Monitoring, Adaptive Control, and Interactive Steering of Computational Grids", International Journal of High Performance Computing Applications, vol. 14, No. 4, 2000, pp. 357-366. |
Whitehead "Java Run-Time Monitoring, Part 2: Postcompilation Instrumentation and Performance Monitoring- Interception, Class Wrapping, and Bytecode Instrumentation" IBM.com Website Aug. 5, 2008. |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342396A1 (en) * | 2015-05-20 | 2016-11-24 | Ab lnitio Technology LLC | Visual program specification and compilation of graph-based computation |
US20160342395A1 (en) * | 2015-05-20 | 2016-11-24 | Ab Initio Technology Llc | Visual program specification and compilation of graph-based computation |
US11144283B2 (en) * | 2015-05-20 | 2021-10-12 | Ab Initio Technology Llc | Visual program specification and compilation of graph-based computation |
US10477363B2 (en) | 2015-09-30 | 2019-11-12 | Microsoft Technology Licensing, Llc | Estimating workforce skill misalignments using social networks |
US11099967B2 (en) | 2016-06-29 | 2021-08-24 | Oracle International Corporation | Multi-dimensional selective tracing |
US10379990B2 (en) * | 2016-06-29 | 2019-08-13 | Oracle International Corporation | Multi-dimensional selective tracing |
US20180137667A1 (en) * | 2016-11-14 | 2018-05-17 | Oracle International Corporation | Graph Visualization Tools With Summary Visualization For Very Large Labeled Graphs |
US10809881B2 (en) | 2016-11-14 | 2020-10-20 | Oracle International Corporation | Visual graph construction from relational data |
US20180189388A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US10891326B2 (en) * | 2017-01-05 | 2021-01-12 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US10922348B2 (en) | 2017-01-05 | 2021-02-16 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US20180189389A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Representation of a data analysis using a flow graph |
US11158098B2 (en) | 2017-05-31 | 2021-10-26 | International Business Machines Corporation | Accelerating data-driven scientific discovery |
US10585575B2 (en) | 2017-05-31 | 2020-03-10 | Oracle International Corporation | Visualizing UI tool for graph construction and exploration with alternative action timelines |
US11157502B1 (en) | 2017-11-27 | 2021-10-26 | Lacework Inc. | Extensible query interface for dynamic data compositions and filter applications |
US11770398B1 (en) | 2017-11-27 | 2023-09-26 | Lacework, Inc. | Guided anomaly detection framework |
US10986196B1 (en) | 2017-11-27 | 2021-04-20 | Lacework Inc. | Using agents in a data center to monitor for network connections |
US11916947B2 (en) | 2017-11-27 | 2024-02-27 | Lacework, Inc. | Generating user-specific polygraphs for network activity |
US11134093B1 (en) | 2017-11-27 | 2021-09-28 | Lacework Inc. | Extended user session tracking |
US11909752B1 (en) | 2017-11-27 | 2024-02-20 | Lacework, Inc. | Detecting deviations from typical user behavior |
US11153339B1 (en) * | 2017-11-27 | 2021-10-19 | Lacework Inc. | Using graph-based models to identify datacenter anomalies |
US11894984B2 (en) | 2017-11-27 | 2024-02-06 | Lacework, Inc. | Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments |
US11895135B2 (en) | 2017-11-27 | 2024-02-06 | Lacework, Inc. | Detecting anomalous behavior of a device |
US11882141B1 (en) | 2017-11-27 | 2024-01-23 | Lacework Inc. | Graph-based query composition for monitoring an environment |
US11849000B2 (en) | 2017-11-27 | 2023-12-19 | Lacework, Inc. | Using real-time monitoring to inform static analysis |
US11818156B1 (en) | 2017-11-27 | 2023-11-14 | Lacework, Inc. | Data lake-enabled security platform |
US11792284B1 (en) | 2017-11-27 | 2023-10-17 | Lacework, Inc. | Using data transformations for monitoring a cloud compute environment |
US20220215101A1 (en) * | 2017-11-27 | 2022-07-07 | Lacework, Inc. | Dynamically generating monitoring tools for software applications |
US11470172B1 (en) | 2017-11-27 | 2022-10-11 | Lacework Inc. | Using network connections to monitor a data center |
US20220329616A1 (en) * | 2017-11-27 | 2022-10-13 | Lacework, Inc. | Using static analysis for vulnerability detection |
US11637849B1 (en) | 2017-11-27 | 2023-04-25 | Lacework Inc. | Graph-based query composition |
US11677772B1 (en) * | 2017-11-27 | 2023-06-13 | Lacework Inc. | Using graph-based models to identify anomalies in a network environment |
US11689553B1 (en) | 2017-11-27 | 2023-06-27 | Lacework Inc. | User session-based generation of logical graphs and detection of anomalies |
US11741238B2 (en) * | 2017-11-27 | 2023-08-29 | Lacework, Inc. | Dynamically generating monitoring tools for software applications |
US11765249B2 (en) | 2017-11-27 | 2023-09-19 | Lacework, Inc. | Facilitating developer efficiency and application quality |
US11785104B2 (en) | 2017-11-27 | 2023-10-10 | Lacework, Inc. | Learning from similar cloud deployments |
US10986114B1 (en) | 2017-11-27 | 2021-04-20 | Lacework Inc. | Graph-based user tracking and threat detection |
US11120082B2 (en) | 2018-04-18 | 2021-09-14 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
US10592396B2 (en) | 2018-04-23 | 2020-03-17 | Microsoft Technology Licensing, Llc | Memory validity states in time-travel debugging |
US11269603B2 (en) * | 2018-11-26 | 2022-03-08 | Sap Se | Compiler for context-dependent code global data types |
US20200167153A1 (en) * | 2018-11-26 | 2020-05-28 | International Business Machines Corporation | Highlight source code changes in user interface |
US10936307B2 (en) * | 2018-11-26 | 2021-03-02 | International Business Machines Corporation | Highlight source code changes in user interface |
US11157386B2 (en) * | 2018-12-18 | 2021-10-26 | Sap Se | Debugging rules based on execution events stored in an event log |
US11770464B1 (en) | 2019-12-23 | 2023-09-26 | Lacework Inc. | Monitoring communications in a containerized environment |
US11256759B1 (en) | 2019-12-23 | 2022-02-22 | Lacework Inc. | Hierarchical graph analysis |
US11201955B1 (en) | 2019-12-23 | 2021-12-14 | Lacework Inc. | Agent networking in a containerized environment |
Also Published As
Publication number | Publication date |
---|---|
US20140189651A1 (en) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9658943B2 (en) | Interactive graph for navigating application code | |
US9734040B2 (en) | Animated highlights in a graph representing an application | |
US20140189650A1 (en) | Setting Breakpoints Using an Interactive Graph Representing an Application | |
US20140189652A1 (en) | Filtering and Transforming a Graph Representing an Application | |
US9437024B2 (en) | Transformation function insertion for dynamically displayed tracer data | |
US9772927B2 (en) | User interface for selecting tracing origins for aggregating classes of trace data | |
US9323863B2 (en) | Highlighting of time series data on force directed graph | |
US9754396B2 (en) | Event chain visualization of performance data | |
EP3213217B1 (en) | Historical control flow visualization in production diagnostics | |
US20150347628A1 (en) | Force Directed Graph With Time Series Data | |
US20140019879A1 (en) | Dynamic Visualization of Message Passing Computation | |
US8887138B2 (en) | Debugging in a dataflow programming environment | |
US20130232433A1 (en) | Controlling Application Tracing using Dynamic Visualization | |
WO2014189553A1 (en) | Graph for navigating application code | |
US10592397B2 (en) | Representing a test execution of a software application using extended reality | |
EP3921734B1 (en) | Using historic execution data to visualize tracepoints | |
EP3528126B1 (en) | Representing a test execution of a software application using extended reality | |
US20230091719A1 (en) | Code execution recording visualization technique | |
Singh | SOFTVIZ, a Step Forward |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CONCURIX CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOUNARES, ALEXANDER G.;REEL/FRAME:031253/0546 Effective date: 20130917 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONCURIX CORPORATION;REEL/FRAME:036139/0069 Effective date: 20150612 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |