IP Library › Granted Patent US 9,715,382
Granted Patent B2
US 9,715,382 · App. 13/926,224 · Granted Jul 25, 2017

Class and namespace discovery in prototype based language

Inventors: Jordan L Matthiesen (Sammamish, WA); Mohamed Hegazy (Sammamish, WA); Charles P Jazdzewski (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/75
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 9,715,382
App. No.
13/926,224
Filed
Jun 25, 2013
Granted
Jul 25, 2017
Kind
B2
Art Unit
2193
USPC
717/123
Abstract

Structure of a prototype-based programming language program is determined based on results of program execution. The structure determined can be implied by a program rather than explicitly declared. For example, classes and namespaces of a prototype-based program can be detected or inferred by identifying patterns that indicate the presence of a class or namespace. Furthermore, members of classes and namespaces can also be determined.

Claims (33)

1. A computer-implemented method, comprising:

initiating execution of a prototype-based program on a computer;

receiving a result of execution;

determining a structure implied by the program automatically based on recognition of a pattern in the result of execution; and

outputting the structure to a software development application that presents the structure on a display device.

2. The method of claim 1 , determining the structure comprises detecting a class.

3. The method of claim 2 , detecting the class comprises identifying a method on a prototype object.

4. The method of claim 2 , detecting the class comprises identifying a field set on a function.

5. The method of claim 2 , further comprises identifying members of the class.

6. The method of claim 1 , determining the structure comprises detecting a namespace.

7. The method of claim 6 , detecting the namespace comprises detecting a class.

8. The method of claim 6 , detecting the namespace comprised detecting another namespace.

9. The method of claim 1 further comprising constraining the determining act to one or more portions of the program that changed since a previous execution.

10. A system, comprising:

a processor coupled to a memory, the processor configured to execute computer-executable instructions stored in the memory to perform operations comprising:

initiating execution of a prototype-based program;

receiving a result of execution;

detecting a class implied by the program based on recognition of a pattern in the result of execution indicative of a class; and

supplying the class to a software development application for presentation on a display device.

11. The system of claim 10 , the operations further comprise detecting the class based on identification of a function that includes a method on a prototype object.

12. The system of claim 10 , the operations further comprise identifying members of the class.

13. The system of claim 10 , the operations further comprise detecting a namespace implied by the program based on another pattern in the result of execution.

14. The system of claim 13 , the operations further comprise detecting the namespace based on identification of an object that includes the class.

15. The system of claim 13 , the operations further comprise detecting the namespace based on identification of an object that includes another namespace.

16. A computer-readable storage medium having instructions stored thereon that enable at least one processor to perform a method upon execution of the instructions, the method comprising:

initiating execution of a dynamic prototype-based program on a computer;

receiving a result of execution;

detecting a class implied by the program based on recognition of a pattern in the result of execution; and

presenting the class on a display device in conjunction with a software development environment.

17. The computer-readable storage medium of claim 16 , the method further comprises detecting the class by identifying a method on a prototype object.

18. The computer-readable storage medium of claim 16 , the method further comprises detecting the class by identifying a field set on a function with a “this” keyword.

19. The computer-readable storage medium of claim 16 , the method further comprises detecting a namespace based on recognition of another pattern in the result of execution.

20. The computer-readable storage medium of claim 19 , the method further comprises detecting the namespace comprises identifying an object that includes the class.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: MATTHIESEN, JORDAN L.; HEGAZY, MOHAMED; JAZDZEWSKI, CHARLES P.
To: MICROSOFT CORPORATION
Reel/Frame 030890/0846 →
Continuity (1)
Related Publication 20140380276A1 · Dec 25, 2014