Code analysis for cloud-based integrated development environments

US10353701B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10353701-B2
Application numberUS-201414500164-A
CountryUS
Kind codeB2
Filing dateSep 29, 2014
Priority dateSep 29, 2014
Publication dateJul 16, 2019
Grant dateJul 16, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The disclosure generally describes computer-implemented methods, software, and systems, including methods for generating visualizations. On a client side, a user request is received for an inter-entity call visualization. Code analysis data is accessed. A visualization model is built. The visualization is shown. User inputs are received for interacting with the visualization. The visualization is updated based on the received user inputs. On a server side, a request is received for code analysis data. The requested data collected, including running analyzers for any available data. The requested data is sent. The code analysis data can be used for other purposes than visualizations.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system, comprising: at least one processor; an inter-entity call visualization system, including instructions operable, when executed by the at least one processor, for generating instructions for displaying and interacting with visualizations to: provide plural visualizations showing relationships among entities, wherein the plural visualizations include: an inter-entity, call-directed graph visualization; an inter-entity, call-collapsible tree visualization; and an inter-entity call-outline list visualization; receive user inputs associated with the display of a given visualization; and perform one or more operations on the visualization based on the received user inputs; an analysis layer centralized within a cloud-computing platform and configured to retrieve and analyze static and dynamic analysis data from multiple analyzers and to aggregate the static and dynamic analysis data in a form of a data dictionary for use by the inter-entity call visualization system, wherein the dynamic analysis data is associated with entities associated with the data dictionary and received at run-time, and wherein the static analysis data includes data stored for the entities in the data dictionary, wherein the data dictionary includes: for each particular entity of the entities, an abstract syntax tree reference, an entity type, a location, a list of called entities, a list of called-by entities, a scope, a parameter set including parameter items, and comments; for each called entity of the list of called entities, a called entity identifier, a location, and a set of candidate call entities; for each parameter item of the parameter set, a parameter type and a parameter name; and for each candidate called entity of the set of candidate called entities, a candidate entity identifier and a matching score; and a client device for displaying visualizations received from the inter-entity call visualization system. 2. The computer system of claim 1 , wherein the entities are entities associated with computer code. 3. The computer system of claim 1 , wherein inter-entity call visualization system is integrated with an integrated development environment (IDE) including an editor. 4. The computer system of claim 3 , wherein the IDE is cloud-based and the visualization is part of a cloud-based computer code analysis. 5. The computer system of claim 3 , wherein user actions in either one of a given visualization or the IDE cause actions to occur in the other. 6. The computer system of claim 1 , wherein the one or more operations include hiding elements of the visualization, exposing elements of the visualization, changing a central focus of the visualization, displaying additional information associated with a particular element, switching the display to a different visualization, causing associated elements in the visualization or the editor to be highlighted. 7. A computer-implemented method, comprising: providing plural visualizations showing relationships among entities, wherein the plural visualizations include: an inter-entity, call-directed graph visualization; an inter-entity, call-collapsible tree visualization; and an inter-entity, call-outline list visualization; receiving user inputs associated with the display of a given visualization; performing one or more operations on the visualization based on the received user inputs; retrieving and analyzing static and dynamic analysis data from multiple analyzers executing as part of an analysis layer centralized within a cloud-computing platform; and aggregating, using the analysis layer, the static and dynamic analysis data in a form of a data dictionary for use by an inter-entity call visualization system, wherein the dynamic analysis data is associated with entities associated with the data dictionary and received at run-time, and wherein the static analysis data includes data stored for the entities in the data dictionary, wherein the data dictionary includes: for each particular entity of the entities, an abstract syntax tree reference, an entity type, a location, a list of called entities, a list of called-by entities, a scope, a parameter set including parameter items, and comments; for each called entity of the list of called entities, a called entity identifier, a location, and a set of candidate call entities; for each parameter item of the parameter set, a parameter type and a parameter name; and for each candidate called entity of the set of candidate called entities, a candidate entity identifier and a matching score. 8. The computer-implemented method of claim 7 , comprising displaying visualizations received from the inter-entity call visualization system. 9. The computer-implemented method of claim 7 , wherein the entities are entities associated with computer code. 10. The computer-implemented method of claim 7 , wherein the inter-entity call visualization system is integrated with an integrated development environment (IDE) including an editor. 11. The computer-implemented method of claim 10 , wherein the IDE is cloud-based and the visualization system performs cloud-based computer code analysis. 12. The computer-implemented method of claim 10 , wherein user actions in a given visualization causes actions to occur in the IDE. 13. The computer-implemented method of claim 7 , wherein the one or more operations include hiding elements of the visualization, exposing elements of the visualization, and changing a central focus of the visualization. 14. The computer-implemented method of claim 13 , wherein the one or more operations include displaying additional information associated with a particular element, switching the display to a different visualization, and causing associated elements in the visualization or the editor to be highlighted. 15. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising: providing plural visualizations showing relationships among entities, wherein the plural visualizations include: an inter-entity, call-directed graph visualization; an inter-entity, call-collapsible tree visualization; and an inter-entity call-outline list visualization; receiving user inputs associated with the display of a given visualization; performing one or more operations on the visualization based on the received user inputs; retrieving and analyzing static and dynamic analysis data from multiple analyzers; and aggregating the static and dynamic analysis data in a form of an entity dictionary for use by an inter-entity call visualization system, wherein the dynamic analysis data is associated with entities associated with the data dictionary and received at run-time, and wherein the static analysis data includes data stored for the entities in the data dictionary, wherein the data dictionary includes: for each particular entity of the entities, an abstract syntax tree reference, an entity type, a location, a list of called entities, a list of called-by entities, a scope, a parameter set including parameter items, and comments; for each called entity of the list of called entities, a called entity identifier, a location, and a set of candidate call entities; for each parameter item of the parameter set, a parameter type and a parameter name; and for each candidate called entity of the set of candidate called entities, a candidate entity identifier and a matching score. 16. The computer-implemented method of claim 15 , comprising displaying visualizations received from the int

Assignees

Inventors

Classifications

  • by tracing the execution of the program · CPC title

  • for implementing user interfaces · CPC title

  • G06F8/73Primary

    Program documentation · CPC title

  • model driven · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10353701B2 cover?
The disclosure generally describes computer-implemented methods, software, and systems, including methods for generating visualizations. On a client side, a user request is received for an inter-entity call visualization. Code analysis data is accessed. A visualization model is built. The visualization is shown. User inputs are received for interacting with the visualization. The visualization …
Who is the assignee on this patent?
Atanasiu Radu Florian, Keller Anne, Wei Wei, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F8/73. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 16 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).