Source code mapping through context specific key word indexes and fingerprinting

US9823922B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9823922-B1
Application numberUS-201414579184-A
CountryUS
Kind codeB1
Filing dateDec 22, 2014
Priority dateDec 22, 2014
Publication dateNov 21, 2017
Grant dateNov 21, 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.

The subject technology provides embodiments for providing an index of source code repositories isolated to HTTP request parameters. By fingerprinting specific actions involving HTTP requests, such actions can be traced to specific source code files, and in some cases an exact line of code. The end result is that a webpage and any action on that webpage can be traced back to the exact line of source code that is accepting that request. This will allow the ability to find a software defect or security vulnerability while looking at a running application and then map it back directly to the line of code that needs to be modified.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: at least one processor; and a memory device including instructions that, when executed by the at least one processor, cause the at least one processor to: receive at least one source code document associated with source code for an application, the source code document to be indexed into an index file, wherein the at least one source code document includes at least one request parameter and at least one HTTP request statement associated with the at least one request parameter; identify a HTTP request statement in a portion of the at least one source code document, the HTTP request statement associated with a programming language used in the at least one source code document; determine at least a first request parameter in the at least one source code document, the first request parameter associated with the HTTP request statement; and generate a source code index based at least in part on the at least the first request parameter associated with the HTTP request statement, wherein generating the index includes: creating at least one keyword associated with the at least one source code document in the source code index based at least in part on the at least the first request parameter, the at least one keyword comprising the at least the first request parameter. 2. The system of claim 1 , wherein identifying the HTTP request statement comprises: parsing the at least one source code document to find a match of a respective HTTP request statement that is specific to syntax of the programming language used in the at least one source code document, wherein a pattern matching algorithm is used to find the match by matching one or more patterns specific to the syntax of the programming language that correspond to the respective HTTP request statement. 3. The system of claim 1 , wherein determining the at least the first request parameter comprises: parsing the HTTP request statement to identify at least one request parameter that is included as part of the HTTP request statement; parsing the at least one source code document to identify a second portion of the at least one source code document that includes a second statement, the second statement defining the at least one request parameter based at least in part on syntax specific to the programming language; and extracting a textual parameter string corresponding to the at least one request parameter based at least in part on the second statement. 4. The system of claim 3 , wherein creating at least one keyword in the source code index further comprises: storing the textual parameter string in the source code index as a respective keyword associated with at least one source code document, the respective keyword used for matching a search query term to the at least one source code document. 5. The system of claim 1 , wherein the memory device further includes instructions that, when executed by the at least one processor, cause the at least one processor to further: generate metadata associated with the at least one source code document, wherein generating the metadata includes: determining first metadata information corresponding to a software package associated with the at least one source code document, the software package including executable software built at least in part from the at least one source document; determining second metadata information corresponding to a computing environment, the computing environment including at least one host system running at least one service where the software package is deployed as part of a running instance of the at least one service; and storing the metadata associated with the at least one source code document as part of the source code index. 6. A computer-implemented method comprising: receiving a source code document associated with source code for an application; identifying a request statement in the source code document; determining at least one request parameter in the source code document, the at least one request parameter associated with the request statement; and creating at least one keyword associated with the source code document in an index, the at least one keyword comprising the at least one request parameter; wherein identifying the request statement in the source code document comprises parsing the source code document to locate a match of a respective request statement at a line of code in the source code document, the respective request statement being in accordance with syntax of a programming language used in the source code document; and a pattern matching algorithm is used to find the match by matching one or more patterns specific to the syntax of the programming language that correspond to the respective request statement. 7. The computer-implemented method of claim 6 , further comprising: receiving a second source code document associated with source code for a second application; identifying a second request statement in the second source code document; determining at least one second request parameter in the second source code document, the at least one second request parameter associated with the second request statement; determining whether at least one existing keyword in the index matches the at least one second request parameter; and associating the at least one existing keyword to the second source code document in the index. 8. The computer-implemented method of claim 6 , further comprising: generating metadata associated with the source code document. 9. The computer-implemented method of claim 6 , wherein determining at least one request parameter in the source code document comprises: analyzing the request statement located at a line of code in the source code document to identify at least one request parameter that is included as part of the request statement; and assigning a keyword corresponding to the at least one request parameter, the keyword to be associated with at least the source code document to facilitate searching the source code document. 10. The computer-implemented method of claim 6 , wherein a source code search engine accesses the index to perform search queries on source code documents stored in source code repositories, the source code repositories corresponding to a plurality of applications that are deployed in at least one host system. 11. The computer-implemented method of claim 10 , wherein the search engine further uses metadata associated with one or more source code documents to filter search results indicating respective source code documents. 12. The computer-implemented method of claim 11 , wherein the metadata includes information pertaining to a package, a group of packages, or an environment that includes a deployed application. 13. A non-transitory computer-readable medium including instructions stored therein that, when executed by at least one computing device, cause the at least one computing device to: receive a source code document associated with source code for an application; identify a request statement in the source code document; determine at least one request parameter in the source code document, the at least one request parameter associated with the request statement; and create at least one keyword associated with the source code document in an index, the at least one keyword comprising the at least one request parameter; wherein identifying the request statement in the source code document comprises parsing the source code document to locate a match of a respective request statement at a line of code in the source code document, the respective request statement being in accordance with

Assignees

Inventors

Classifications

  • Software reuse · CPC title

  • G06F8/73Primary

    Program documentation · 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 US9823922B1 cover?
The subject technology provides embodiments for providing an index of source code repositories isolated to HTTP request parameters. By fingerprinting specific actions involving HTTP requests, such actions can be traced to specific source code files, and in some cases an exact line of code. The end result is that a webpage and any action on that webpage can be traced back to the exact line of so…
Who is the assignee on this patent?
Amazon Tech Inc
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 Nov 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).