Association of metadata with source code and applications and services premised thereon

US9632771B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632771-B2
Application numberUS-201213713916-A
CountryUS
Kind codeB2
Filing dateDec 13, 2012
Priority dateDec 13, 2012
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.

Systems and methods are described that enable metadata to be associated with source code at various levels of granularity (e.g., at the level of files, classes, functions, lines, statements and expressions) and that enable such metadata to be accessed independently of the source code with which it is associated. Such metadata may be used to track provenance and history of source code within and across source code repositories, associate ratings or other indicia of quality or reliability with source code, wherein such ratings may be exposed to developers and wherein such ratings may be used to better manage the automated check-in, testing and analysis of source code, and facilitate a process by which a component that manages a source code entity is notified about updates made to a related source code entity and by which like changes may be to the source code entity in a manual or automated fashion.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: determining, by a processing device, that a first source code entity has been copied to create a second source code entity, the first source code entity comprising an item of source code within a first source code file and the second source code entity comprising an item of source code within a second source code file; generating metadata associated with the first source code entity based upon the copying, the generated metadata comprising a link to the second source code entity; determining that a modification has been made to the first source code entity subsequent to the copying; and responsive to the determining, utilizing the link to notify a component that manages the second source code entity of the modification. 2. The method of claim 1 , wherein the first source code entity comprises: one or more classes, functions, lines, statements, or expressions within the first source code file. 3. The method of claim 1 , further comprising: determining that the first source code entity has been created, modified or deleted, and generating additional metadata associated with the first source code entity that comprises historical information concerning the creation, modification or deletion. 4. The method of claim 1 , further comprising: generating metadata associated with the second source code entity by copying metadata associated with the first source code entity. 5. The method of claim 1 , further comprising: determining that the first source code entity has been copied to create a third source code entity, and generating additional metadata associated with the first source code entity that comprises a link to the third source code entity. 6. The method of claim 1 , further comprising: determining that a third source code entity is similar to the first source code entity; and in response to determining that the third source code entity is similar to the first source code entity, performing one or more of: generating metadata associated with the first source code entity by copying metadata associated with the third source code entity, generating metadata associated with the first source code entity that comprises a link to the third source code entity, generating metadata associated with the third source code entity by copying metadata associated with the first source code entity, and generating metadata associated with the third source code entity that comprises a link to the first source code entity. 7. The method of claim 1 , wherein the generating comprises generating one or more of structured data and unstructured data. 8. The method of claim 7 , wherein the generating of structured data comprises generating one or more key/value pairs. 9. The method of claim 1 , further comprising storing the generated metadata separately from the source code file by storing the generated metadata in one of: a metadata file that is associated with the source code file; a data stream that is associated with the source code file; or a database. 10. A computer-implemented method comprising: copying a source code entity from within a first source code file to create a related source code entity; determining, by a processing device, that the source code entity within the first source code file has been modified subsequent to the copying; responsive to the determining, identifying the related source code entity within a second source code file or a code store based on metadata associated with the source code entity that is generated based on the copying; and sending a notification concerning the modification to a component that manages the related source code entity based on a link to the related source code entity in the metadata. 11. The method of claim 10 , further comprising: receiving a notification concerning a modification to the related source code entity; and in response to receiving the notification concerning the modification to the related source code entity, performing one of: automatically modifying the source code entity based on the modification to the related source code entity; or providing a developer with a means for updating the source code entity based on the modification to the related source code entity. 12. A computer-readable storage device having program instructions recorded thereon that, when executed by a processing device, perform a method, the method comprising: determining, by the processing device, that a first source code entity has been copied to create a second source code entity, the first source code entity comprising an item of source code within a first source code file and the second source code entity comprising an item of source code within a second source code file; generating metadata associated with the first source code entity based upon the copying, the generated metadata comprising a link to the second source code entity; determining that a modification has been made to the first source code entity subsequent to the copying; and responsive to the determining, utilizing the link to notify a component that manages the second source code entity of the modification. 13. The computer-readable storage device of claim 12 , wherein the first source code entity comprises: one or more classes, functions, lines, statements, or expressions within the first source code file. 14. The computer-readable storage device of claim 12 , the method further comprising: determining that the first source code entity has been created, modified or deleted, and generating additional metadata associated with the first source code entity that comprises historical information concerning the creation, modification or deletion. 15. The computer-readable storage device of claim 12 , the method further comprising: generating metadata associated with the second source code entity by copying metadata associated with the first source code entity. 16. The computer-readable storage device of claim 12 , the method further comprising: determining that the first source code entity has been copied to create a third source code entity, and generating additional metadata associated with the first source code entity that comprises a link to the third source code entity. 17. The computer-readable storage device of claim 12 , the method further comprising: determining that a third source code entity is similar to the first source code entity; and in response to determining that the third source code entity is similar to the first source code entity, performing one or more of: generating metadata associated with the first source code entity by copying metadata associated with the third source code entity, generating metadata associated with the first source code entity that comprises a link to the third source code entity, generating metadata associated with the third source code entity by copying metadata associated with the first source code entity, and generating metadata associated with the third source code entity that comprises a link to the first source code entity. 18. The computer-readable storage device of claim 12 , wherein the generating comprises generating one or more of structured data and unstructured data. 19. The computer-readable storage device of claim 18 , wherein the generating of structured data comprises generating one or more key/value pairs. 20. The computer-readable storage device of claim 12 , the method further comprising storing the generated metadata separately from

Assignees

Inventors

Classifications

  • Version control (security arrangements therefor G06F21/57); Configuration management · 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 US9632771B2 cover?
Systems and methods are described that enable metadata to be associated with source code at various levels of granularity (e.g., at the level of files, classes, functions, lines, statements and expressions) and that enable such metadata to be accessed independently of the source code with which it is associated. Such metadata may be used to track provenance and history of source code within and…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
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 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).