Determination of a set of candidate code insertions for insertion in program code

US9632756B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632756-B2
Application numberUS-201213557746-A
CountryUS
Kind codeB2
Filing dateJul 25, 2012
Priority dateApr 30, 2007
Publication dateApr 25, 2017
Grant dateApr 25, 2017

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.

A code assistance feature provides a user with a set of suggested program code insertions at a given point in the program code being edited. For example, in response to a user command, the feature identifies syntactically correct possible insertions derived from a search for insertions of a compatible type. The feature identifies members in the set of possible code insertions that can be expanded via a field dereference or subroutine call to provide further possible code insertions for selection by the user.

First claim

Opening claim text (preview).

We claim: 1. A method, implemented by at least one computer processor, for determining a set of candidate code insertions for insertion in program code, said method comprising: receiving an indication of a position in a section of program code at which a code insertion may be performed; determining a required type of said code insertion based upon syntax of said program code; identifying a set of possible code insertions at said position in said section of program code based upon the required type; identifying, from a possible code insertion in said set of possible code insertions, an available expression for providing a further possible code insertion; adding said further possible code insertion to said set of possible code insertions; and providing a set of candidate code insertions for selection by a user for insertion at said indicated position in said section of program code based upon said set of possible code insertions. 2. The method of claim 1 , wherein said available expression is a field dereference. 3. The method of claim 1 , wherein said available expression is a subroutine call. 4. The method of claim 3 further comprising: iteratively determining for each missing parameter in said subroutine call a value from said set of possible code insertions. 5. The method of claim 1 further comprising: identifying from said further possible code insertion a further available expression for providing a yet further possible code insertion; and adding said yet further possible code insertion to said set of possible code insertions for selection as a candidate code insertion. 6. The method of claim 5 , wherein said set of candidate code insertions presented to a user for selection is ordered by a number of available expressions that said candidate code comprises. 7. The method of claim 1 , wherein said required type is identified from a predetermined representation of semantics of said section of program code. 8. The method of claim 7 , wherein said predetermined representation is an abstract syntax tree. 9. The method of claim 1 , wherein said set of candidate code insertions presented to a user for selection is ordered depending on a level of scope of said candidate code insertion at said position. 10. The method of claim 1 , wherein said set of candidate code insertions presented to a user for selection is ordered depending on a frequency of use of each said candidate code insertion in said section of code. 11. The method of claim 1 , wherein said set of candidate code completions presented to a user for selection is ordered depending on a proximity in said section of code of each said candidate code insertion to said indicated position. 12. The method of claim 1 , wherein only one of a plurality of equivalent forms is selected for inclusion in said set of possible code insertions. 13. A computer hardware system configured to determine a set of candidate code insertions for insertion into program code, comprising: at least one hardware processor, wherein the at least one hardware processor is configured to perform and/or initiate: receiving an indication of a position in a section of the program code at which a code insertion will be performed; determining, based upon syntax of the section of the program code, a required type of the code insertion; identifying, based upon the required type, a set of possible code insertions at the position in the section of the program code; identifying, from a possible code insertion in the set of possible code insertions, an available expression for providing an additional possible code insertion; and adding the additional possible code insertion to the set of possible code insertions. 14. The system of claim 13 , wherein the available expression is a field dereference. 15. The system of claim 13 , wherein the available expression is a subroutine call. 16. The system of claim 15 , wherein the at least one processor is further configured to perform and/or initiate: iteratively determining, for each missing parameter in the subroutine call, a value from the set of possible code insertions. 17. The system of claim 13 , wherein the required type is identified from a predetermined representation of semantics of the section of the program code. 18. The system of claim 13 , wherein the at least one processor is further configured to perform and/or initiate: providing, to a user and based upon the set of possible code insertion, the set of candidate code insertions for insertion at the indicated position in the section of the program code. 19. The system of claim 18 , wherein the set of candidate code insertions is ordered based upon a level of scope of the candidate code insertion at the position. 20. The system of claim 18 , wherein the set of candidate code insertions is ordered based upon a frequency of use, in the section of code, of each candidate code insertion in the set of candidate code insertions. 21. The system of claim 18 , wherein the set of candidate code insertions is ordered based upon a proximity in the section of code, to the indicated position, of each candidate code insertion in the set of candidate code insertions.

Assignees

Inventors

Classifications

  • G06F8/33Primary

    Intelligent editors · CPC title

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 US9632756B2 cover?
A code assistance feature provides a user with a set of suggested program code insertions at a given point in the program code being edited. For example, in response to a user command, the feature identifies syntactically correct possible insertions derived from a search for insertions of a compatible type. The feature identifies members in the set of possible code insertions that can be expand…
Who is the assignee on this patent?
Hutchison Gordon D, Screen David G, Winchester Joseph R, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F8/33. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).