IP Library Granted Patent US 10,353,701
Granted Patent B2
US 10,353,701 · App. 14/500,164 · Granted Jul 16, 2019

Code analysis for cloud-based integrated development environments

Inventors: Radu-Florian Atanasiu (Darmstadt, DE); Anne Keller (Darmstadt, DE); Wei Wei (Griesheim, DE); Heiko Witteborg (Griesheim, DE); Wolfgang Pfeifer (Kerzenheim, DE)
Assignee: SAP SE
G06F8/73G06F8/35G06F8/38G06F8/75G06F11/323G06F11/3636G06F11/3664
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,353,701
App. No.
14/500,164
Granted
Jul 16, 2019
Kind
B2
Abstract

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.

Claims (60)

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 inter-entity call visualization system.

17. The computer-implemented method of claim 15 , wherein the entities are entities associated with computer code.

18. The computer-implemented method of claim 15 , wherein the inter-entity call visualization system is integrated with an integrated development environment (IDE) including an editor.

19. The computer-implemented method of claim 18 , wherein the IDE is cloud-based and the visualization system performs cloud-based computer code analysis.

20. The computer-implemented method of claim 18 , wherein user actions in a given visualization causes actions to occur in the IDE.

21. The computer-implemented method of claim 15 , 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.

22. The computer-implemented method of claim 21 , 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2014
From: ATANASIU, RADU-FLORIAN; KELLER, ANNE; WEI, WEI; WITTEBORG, HEIKO; PFEIFER, WOLFGANG
To: SAP SE
Reel/Frame 033843/0049 →
Continuity (1)
Related Publication 20160092336A1 · Mar 31, 2016