# US 10,503,631 B1 · Runtime intelligence within an integrated development environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,631 B1
- Document ID: US10503631B1
- Status: Granted
- Kind: B1
- Application number: 15/665,411
- Filed: 2017-07-31
- Granted: 2019-12-10
- Earliest claimed: 2017-07-31
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Satish Talluri; Suraj Puvvada; Buchi Reddy Busi Reddy; Prudhvi Kumar Chaganti
- Web page: https://patentgrep.com/patent/US10503631B1

## CPC

- G06F 8/77: Software metrics
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 8/33: Intelligent editors
- G06F 11/3495: {for systems}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/3409: {for performance assessment}
- G06F 11/3419: {by assessing time}
- G06F 2201/81: Threshold
- G06F 2201/87: Monitoring of transactions
- G06F 2201/875: Monitoring of systems including the internet
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, an integrated development environment (IDE) is maintained on a computing device for managing software code for one or more software programs. At the IDE on the computing device, runtime performance information regarding execution of the software code in the IDE is determined, the runtime performance information corresponding to individual portions of the software code. The IDE (or IDE plugin) translates the runtime performance information into user-understandable indications of the runtime performance information, and displays the user-understandable indications of the runtime performance information in a graphical user interface (GUI) when a respective corresponding individual portion of the software code is displayed in the GUI.

## Claims

### Claim 1

A method, comprising:
executing, by one or more processors of a computing device, an integrated development environment (IDE) for managing software code for one or more software programs;
determining baselines of runtime performance information regarding execution of the software code in the IDE;
determining, at the IDE on the computing device, runtime performance information regarding execution of the software code in the IDE,
the runtime performance information corresponding to individual portions of the software code and indicating performance metrics that measure performance of changes to the individual portions of software code;
determining, by the IDE, lagging performance of individual portions of the software code in comparison to the determined baselines of runtime performance information;
translating, by the IDE, the runtime performance information into user-understandable indications of the runtime performance information; and
displaying, by the IDE, the user-understandable indications of the runtime performance information in a graphical user interface (GUI) when a respective corresponding individual portion of the software code is displayed in the GUI.

### Claim 2 (depends on 1)

The method as in claim 1, further comprising:
highlighting, within the GUI, the individual portions of the software code having lagging performance.

### Claim 3 (depends on 1)

The method as in claim 1, further comprising:
determining the baselines of runtime performance information based on external sources of baseline information, wherein the user-understandable indications are based on a comparison to the baselines.

### Claim 4 (depends on 1)

The method as in claim 1, further comprising:
determining the baselines of runtime performance information based on past performance of the individual portions of the software code within the IDE, wherein the user-understandable indications are based on a comparison to the baselines.

### Claim 5 (depends on 1)

The method as in claim 1, further comprising:
determining runtime performance information regarding execution of different versions of the software code in the IDE; and
displaying the runtime performance information offe-F the different versions simultaneously in the GUI.

### Claim 6 (depends on 1)

The method as in claim 1, further comprising:
determining a business transaction impact corresponding to individual portions of the software code; and
displaying the business transaction impact in the GUI when a respective corresponding individual portion of the software code is displayed in the GUI.

### Claim 7 (depends on 1)

The method as in claim 1, wherein determining the runtime performance information is based on one of either obtaining the runtime performance information from one or more external sources or internally computing the runtime performance information.

### Claim 8 (depends on 1)

The method as in claim 1, wherein the individual portions of the software code comprise one or both of class-level codes and method-level codes.

### Claim 9 (depends on 1)

The method as in claim 1, further comprising:
receiving user-generated instruction to custom define one or more of the individual portions of the software code.

### Claim 10 (depends on 1)

The method as in claim 1, further comprising:
providing, within the IDE, a root cause debugger tool.

### Claim 11 (depends on 1)

The method as in claim 1, wherein the runtime performance information is selected from a group consisting of: snapshots; stack traces; call graphs; performance statistics; monitoring data; and business performance data.

### Claim 12 (depends on 1)

The method as in claim 1, further comprising:
receiving user selection on a particular individual portion of the software code that is displayed in the GUI; and in response
displaying runtime performance information for the particular individual portion that is more detailed than the user-understandable indications of the runtime performance information.

### Claim 13 (depends on 1)

The method as in claim 1, wherein the runtime performance information comprises stack traces, the method further comprising:
displaying the stack traces in the GUI;
receiving user selection on a particular stack trace; and in response
opening the stack trace within the IDE.

### Claim 14 (depends on 1)

The method as in claim 1, wherein user-understandable indications of the runtime performance information is selected from a group consisting of: color-coded code; highlighted code; warning indicators; and inline tags.

### Claim 15

A tangible, non-transitory, computer-readable medium storing program instructions that cause a computer to execute a process comprising:
maintaining an integrated development environment (IDE) for managing software code for one or more software programs,
wherein the IDE is executed by one or more processors of the computer;
determining baselines of runtime performance information regarding execution of the software code in the IDE;
determining runtime performance information regarding execution of the software code in the IDE,
the runtime performance information corresponding to individual portions of the software code and indicating performance metrics that measure performance of changes to the individual portions of software code;
determining lagging performance of individual portions of the software code in comparison to the determined baselines of runtime performance information;
translating the runtime performance information into user-understandable indications of the runtime performance information; and
displaying the user-understandable indications of the runtime performance information in a graphical user interface (GUI) of the IDE when a respective corresponding individual portion of the software code is displayed in the GUI.

### Claim 16 (depends on 15)

The computer-readable medium as in claim 15, wherein the process further comprises:
highlighting, within the GUI, the individual portions of the software code having lagging performance.

### Claim 17 (depends on 15)

The computer-readable medium as in claim 15, wherein the process further comprises:
determining the baselines of runtime performance information based on external sources of baseline information, wherein the user-understandable indications are based on a comparison to the baselines.

### Claim 18 (depends on 15)

The computer-readable medium as in claim 15, wherein the process further comprises:
determining a business transaction impact corresponding to individual portions of the software code; and
displaying the business transaction impact in the GUI when a respective corresponding individual portion of the software code is displayed in the GUI.

### Claim 19 (depends on 15)

The computer-readable medium as in claim 15, wherein the individual portions of the software code comprise one or both of class-level codes and method-level codes.

### Claim 20

An apparatus, comprising:
one or more network interfaces configured to communicate in a computer network;
a processor coupled to the network interfaces and adapted to execute one or more processes; and
a memory configured to store a process executable by the processor, the process when executed operable to:
maintain an integrated development environment (IDE) for managing software code for one or more software programs;
determine baselines of runtime performance information regarding execution of the software code in the IDE;
determine runtime performance information regarding execution of the software code in the IDE,
the runtime performance information corresponding to individual portions of the software code and indicating performance metrics that measure performance of changes to the individual portions of software code;
determine lagging performance of individual portions of the software code in comparison to the determined baselines of runtime performance information;
translate the runtime performance information into user-understandable indications of the runtime performance information; and
display the user-understandable indications of the runtime performance information in a graphical user interface (GUI) of the IDE when a respective corresponding individual portion of the software code is displayed in the GUI.
