Patent Issued for Systems and methods for software quality prediction (USPTO 11334351): Allstate Insurance Company
2022 JUN 06 (NewsRx) -- By a
The assignee for this patent, patent number 11334351, is
Reporters obtained the following quote from the background information supplied by the inventors: “A variety of documents, such as the source code for computer programs, can be created by developers. Developers typically follow a set of procedures and standards set out by an organization to ensure that the documents are created and tested in a consistent, repeatable manner. The documents are typically manually reviewed by senior developers or managers in order to ensure the quality of the documents and to verify that the appropriate procedures have been followed. The review itself is often defined by review checklists, but many times the checklists are not followed by the developers or reviewers.”
In addition to obtaining background information on this patent, NewsRx editors also obtained the inventors’ summary information for this patent: “In light of the foregoing background, the following presents a simplified summary of the present disclosure in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
“Systems and methods in accordance with embodiments of the invention can automatically track the creation of documents, such as source code files and unit tests, along with the development of those documents. A variety of metrics can be generated regarding errors and issues identified during the development process along with predictive metrics regarding potential issues within the documents. These metrics can be used to identify common issues, automatically generate proactive suggestions to avoid issues during document creation and testing, and/or generate developer profiles indicating the performance of particular developers. A variety of machine learning classifiers can be used to generate the metrics.
“The arrangements described can also include other additional elements, steps, computer-executable instructions, or computer-readable data structures. In this regard, other embodiments are disclosed and claimed herein as well. The details of these and other embodiments of the present invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will be apparent from the description, drawings, and claims.”
The claims supplied by the inventors are:
“1. A method for identifying code hot spots, comprising: obtaining, by a code analysis server system, a set of source code files; obtaining, by the code analysis server system, commit history data for each source code file in the set of source code files; obtaining, by the code analysis server system, quality metrics for each source code file in the set of source code files; determining, by the code analysis server system, a document model for each source code file in the set of source code files, the document model indicating relationships between the source code files in the set of source code files; determining, by the code analysis server system, code hot spots in the set of source code files based on the document model for each source code file, wherein a code hot spot indicates a particular source code file in the set of source code files; calculating, by the code analysis server system, predictive metrics for each code hot spot, the predictive metrics comprising an indication of a number of future bugs for the source code file corresponding to the code hot spot; generating, by the code analysis server system, a notification for a code hot spot based on the predictive metrics; and transmitting, by the code analysis server system, the notification.
“2. The method of claim 1, wherein the document model further comprises unit test results for the corresponding source code file.
“3. The method of claim 2, wherein the unit test results comprise an indication of code coverage for the corresponding source code file and an indication of test passage rate for each test in the unit test.
“4. The method of claim 1, wherein the quality metric for a source code file of the set of source code files comprises an indication of a developer that has modified the source code file and a developer model indicating a performance rating of the developer.
“5. The method of claim 1, wherein the quality metric for a source code file of the set of source code files comprises an indication of the processes used to modify the source code file of the set of source code files.
“6. The method of claim 1, wherein the quality metric for a source code file of the set of source code files comprises an indication of bugs previously present in the source code file, bugs that have been fixed in the source code file, and bugs still existing in the source code file.
“7. The method of claim 6, further comprising: calculating, by the code analysis server system, a score for each source code file based on the number of bugs fixed in the source code file and the number of bugs still existing in the source code file; and determining, by the code analysis server system, that a source code file is a code hot spot based on the score for the source code file.
“8. The method of claim 1, further comprising determining, by the code analysis server system, the code hot spots using a machine learning classifier.
“9. The method of claim 1, wherein the commit history data for a source code file comprises an indication of when the source code file was checked out, an indication of when the source code file was checked in, an indication of a developer checking out the source code file, and a reference to one or more bugs stored in a bug tracking database.
“10. A code analysis server system, comprising: a processor; and a memory in communication with the processor and storing instructions that, when executed by the processor, cause the code analysis server system to: obtain a set of source code files, each source code file in the set of source code files comprising a set of functions and a set of lines of code; obtain commit history data for each source code file in the set of source code files, wherein the commit history data indicates a change to at least one line of code in the set of lines of code for the corresponding source code file; obtain quality metrics for each source code file of the set of source code files; determine a document model for each source code file of the set of source code files, the document model indicating relationships between the source code files in the set of source code files determined based on the set of functions and the set of lines of code for each source code file; determine code hot spots in the set of source code files based on the document model for each source code file, wherein a code hot spot indicates a particular source code file in the set of source code files; calculate predictive metrics for each code hot spot, the predictive metrics comprising an indication of a number of future bugs for the source code file corresponding to the code hot spot; generate a notification for a code hot spot based on the predictive metrics; and transmit the notification.
“11. The code analysis server system of claim 10, wherein the document model further comprises unit test results for the corresponding source code file.
“12. The code analysis server system of claim 11, wherein the unit test results comprise an indication of code coverage for the corresponding source code file and an indication of test passage rate for each test in the unit test.
“13. The code analysis server system of claim 10, wherein the quality metric for a source code file of the set of source code files comprises an indication of a developer that has modified the source code file and a developer model indicating a performance rating of the developer.
“14. The code analysis server system of claim 10, wherein the quality metric for a source code file of the set of source code files comprises an indication of the processes used to modify the source code file.
“15. The code analysis server system of claim 10, wherein the quality metric for a source code file of the set of source code files comprises an indication of bugs previously present in the source code file, bugs that have been fixed in the source code file, and bugs still existing in the source code file.
“16. The code analysis server system of claim 10, wherein the instructions, when executed by the processor, further cause the code analysis server system to: calculate a score for each source code file based on the number of bugs fixed in each source code file and the number of bugs still existing in each source code file; and determine that a source code file of the set of source code files is a code hot spot based on the score for the source code file.
“17. The code analysis server system of claim 10, wherein the instructions, when executed by the processor, further cause the code analysis server system to determine the code hot spots using a machine learning classifier.
“18. The code analysis server system of claim 10, wherein the commit history data for a source code file of the set of source code files comprises an indication of when the source code file was checked out, an indication of when the source code file was checked in, an indication of a developer checking out the source code file, and a reference to one or more bugs stored in a bug tracking database.
“19. A method for identifying code hot spots, comprising: obtaining, by a code analysis server system, a set of source code files, each source code file in the set of source code files comprising a set of functions and a set of lines of code; obtaining, by the code analysis server system, commit history data for each source code file of the set of source code files, the commit history data for a source code file of the set of source code files comprising an indication of when the source code file was checked out, an indication of when the source code file was checked in, an indication of a developer checking out the source code file, and a reference to one or more bugs stored in a bug tracking database; obtaining, by the code analysis server system, quality metrics for each source code file, the quality metrics for a source code file comprising: an indication of a developer that has modified the source code file and a developer model indicating a performance rating of the developer; an indication of the processes used to modify the source code file; and an indication of bugs previously present in the source code file, bugs that have been fixed in the source code file, and bugs still existing in the source code file; determining, by the code analysis server system, a document model for each source code file of the set of source code files, the document model indicating relationships between the source code files in the set of source code files determined based on the set of functions and the set of lines of code for each source code file; determining, by the code analysis server system and using a machine learning classifier, code hot spots in the set of source code files based on the document model for each source code file, wherein a code hot spot indicates a particular source code file in the set of source code files and comprises a score calculated based on the commit history data, the quality metrics, and the document model; calculating, by the code analysis server system, predictive metrics for each code hot spot, the predictive metrics comprising an indication of a number of future bugs for the source code file corresponding to the code hot spot; generating, by the code analysis server system, a notification for a code hot spot based on the predictive metrics; and transmitting, by the code analysis server system, the notification.
“20. The method of claim 19, wherein the notification is transmitted to a database server system configured to include the notification in the commit history data for the corresponding source code file.”
For more information, see this patent: Pandurangarao,
(Our reports deliver fact-based news of research and discoveries from around the world.)
Study Findings from Department of Health Care Management Broaden Understanding of Managed Care (Sensitivity Analysis and Methodological Choices On Health-related Impoverishment Estimates In Cambodia, 2009-17): Managed Care
University of North Dakota Researchers Add New Findings in the Area of Risk Management [Understanding the relationship between High Reliability Theory (HRT) of mindful organizing and Safety Management Systems (SMS) within the aerospace industry: …]: Insurance – Risk Management
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News