Techniques to identify and purge unused code

US9727318B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9727318-B2
Application numberUS-201414182769-A
CountryUS
Kind codeB2
Filing dateFeb 18, 2014
Priority dateFeb 18, 2014
Publication dateAug 8, 2017
Grant dateAug 8, 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.

An apparatus to identify and purge unused code may comprise a processor circuit on a device and a storage component configured to store a codebase including one or more portions of programming code. The apparatus may further comprise a sampling component, a profiling component, and a purge component. The sampling component may sample the codebase and generate one or more leads identifying portions of programming code from the codebase determined to be unused during a sampling period. The profiling component may receive the one or more leads and profile programming code identified therein during a profiling period and to identify portions of programming code determined to be unused during the profiling period. The purge component may receive identification of the portions of programming code determined to be unused during the profiling period and initiate a purging process thereon. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus comprising: a processor circuit on a device; a storage component configured to store a codebase including one or more portions of programming code; a sampling component operative on the processor circuit to monitor program behavior during a sampling period of program activity to identify portions of programming code from the codebase determined to be unused during the sampling period; a profiling component operative on the processor circuit to determine a subset of the identified portions of programming code that is unused during a profiling period; and a purge component operative on the processor circuit to determine to initiate a purging process on the subset of the identified portions of programming code that is unused during the profiling period, to select between an automatic purging process and a manual purging process based on a categorization of the code in the subset of identified portions of the programming code, to associate a gate with the subset of the identified portions of programming code that is unused during the profiling period, the gate configured to identify use of the subset of the identified portions of programming code that is unused during the profiling period during a predetermined time period; and initiating the determined automatic or manual purging process on the subset of programming code determined to be unused during the profiling period when the predetermined time period expires. 2. The apparatus of claim 1 , the sampling component is further operative on the processor circuit to, during sampling, skip portions of programing code from the codebase that have been used within a predetermined time period. 3. The apparatus of claim 1 , the profiling component is further operative on the processor circuit to perform profiling during a subset of time frames of a client request. 4. The apparatus of claim 1 , the purge component is further operative to automatically delete the subset of the identified portions of programming code that is unused during the profiling period. 5. The apparatus of claim 1 , the purge component is further operative to flag the subset of the identified portions of programming code that is unused during the profiling period for manual deletion. 6. The apparatus of claim 1 , the sampling component is further operative on the processor circuit to skip programming code that has been identified as unreleased. 7. The apparatus of claim 1 , the purge component is further operative to add a marker in place of deleted programming code, the marker identifying the programming code that was deleted and comprising at least one of an identifier indicating a location of the deleted programming code in a repository or an identifier of a last-known author of the deleted programming code. 8. A computer-implemented method, comprising: identifying portions of programming code that have not been identified as being used; profiling the identified portions of programming code to monitor execution of the code during a profiling period to determine a subset of programming code that is unused during the profiling period; determining to initiate a purging process on the subset of the identified portions of programming code that is unused during the profiling period, and to select between an automatic purging process and a manual purging process based on a categorization of the code in the subset of the programming code; associating a gate with the subset of the identified portions of programming code that is unused during the profiling period; configuring the gate to identify use of the subset of the identified portions of programming code that is unused during the profiling period during a predetermined time period; and initiating the determined automatic or manual purging process on the subset of programming code determined to be unused during the profiling period when the predetermined time period expires. 9. The computer-implemented method of claim 8 , further comprising skipping portions of programing code that have been used within a predetermined time period. 10. The computer-implemented method of claim 8 , further comprising performing profiling during a subset of time frames of a client request. 11. The computer-implemented method of claim 8 , the automatic purging process comprising automatically deleting the subset of programming code determined to be unused during the profiling period. 12. The computer-implemented method of claim 8 , the manual purging process comprising flagging the subset of programming code determined to be unused during the profiling period for manual deletion. 13. The computer-implemented method of claim 8 , further comprising skipping programming code that has been identified as unreleased. 14. The computer-implemented method of claim 8 , the automatic purging process further comprising adding a marker in place of deleted programming code, the marker identifying the programming code that was deleted and comprising at least one of an identifier indicating a location of the deleted programming code in a repository or an identifier of a last-known author of the deleted programming code. 15. An article comprising at least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to: identify portions of programming code that have not been identified as being used; profile the identified portions of programming code to monitor execution of the code during a profiling period to determine a subset of programming code that is unused during the profiling period; determine to initiate a purging process on the subset of the identified portions of programming code that is unused during the profiling period, and to select between an automatic purging process and a manual purging process based on a categorization of the code in the subset of the programming code; associate a gate with the subset of the identified portions of programming code that is unused during the profiling period; configure the gate to identify use of the subset of the identified portions of programming code that is unused during the profiling period during a predetermined time period; and initiate the determined automatic or manual purging process on the subset of programming code determined to be unused during the profiling period when the predetermined time period expires. 16. The article of claim 15 , comprising further instructions that, when executed, cause a system to skip portions of programing code that have been used within a predetermined time period. 17. The article of claim 15 , comprising further instructions that, when executed, cause a system to perform profiling during a subset of time frames of a client request. 18. The article of claim 15 , the automatic purging process comprising automatically deleting the subset of programming code determined to be unused during the profiling period. 19. The article of claim 15 , the manual purging process comprising flagging the subset of programming code determined to be unused during the profiling period for manual deletion. 20. The article of claim 15 , comprising further instructions that, when executed, cause a system to skip programming code that has been identified as unreleased. 21. The article of claim 15 , the automatic purging process further comprising adding a marker in place of deleted programming code, the marker identifying the programming code that was deleted and comprising at least one of an identifier

Assignees

Inventors

Classifications

  • Software maintenance or management · CPC title

  • G06F8/4435Primary

    Detection or removal of dead or redundant code · 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 US9727318B2 cover?
An apparatus to identify and purge unused code may comprise a processor circuit on a device and a storage component configured to store a codebase including one or more portions of programming code. The apparatus may further comprise a sampling component, a profiling component, and a purge component. The sampling component may sample the codebase and generate one or more leads identifying porti…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/4435. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 08 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).