System and method for predicting the impact of source code modification based on historical source code modifications
Uloženo v:
| Název: | System and method for predicting the impact of source code modification based on historical source code modifications |
|---|---|
| Patent Number: | 11422,795 |
| Datum vydání: | August 23, 2022 |
| Appl. No: | 17/101284 |
| Application Filed: | November 23, 2020 |
| Abstrakt: | Methods, systems, and computer-readable media are disclosed herein that utilizes historical changes made to files and methods in computer programming code to predict related files and methods that may be affected by current and/or future changes made to other files and methods. In aspects, when computer code for a particular method is going to be edited, other methods are identified that were changed in previous editing sessions that also included changes to the particular method. Using scoring techniques for the other methods, a recommendation is provided that details the relative strength of whether the other methods are predicted to be affected by any changes made to the computer code for the particular method that is edited. |
| Inventors: | CERNER INNOVATION, INC. (Kansas City, KS, US) |
| Assignees: | CERNER INNOVATION, INC. (North Kansas City, MO, US) |
| Claim: | 1. One more non-transitory computer-readable media having computer-executable instructions embodied thereon that when executed perform a method to predict additional methods that may be affected by modification to another method based on historical modifications, the media comprising: receiving a current request to modify a first method; tracking a modification made to the first method in the current request; identifying at least a second method that is predicted to be affected by the modification made to the first method in the current request; determining a score of the second method by: for each of the one or more prior requests, assigning a binary value of one when the second method was modified by the prior request or a binary value of zero when the second method was not modified by the prior request; generating a matrix that contains the binary values assigned to the second method for the one or more prior requests; and calculating a total value as the score of the second method by summing the binary values of the matrix; and based on the score of the second method, generating a graphical user interface that provides a recommendation that identifies the second method and that indicates the second method is predicted to be affected by the modification made to the first method in the current request. |
| Claim: | 2. The media of claim 1 , wherein tracking the modification made to the first method in the current request comprises: identifying the modification made to the first method in the current request. |
| Claim: | 3. The media of claim 2 , wherein tracking the modification made to the first method in the current request comprises: tagging the first method as being modified in the current request. |
| Claim: | 4. The media of claim 3 , wherein tracking the modification made to the first method in the current request comprises: mapping the first method that is tagged to at least the second method, wherein the second method was modified in a prior request that included a prior modification made to the first method. |
| Claim: | 5. The media of claim 4 , further comprising: determining a score for the second method of the prior request based on the mapping. |
| Claim: | 6. The media of claim 5 , wherein a lower score indicates a predicted increased likelihood of being affected by the modification made to the first method in the current request, and wherein a higher score indicates a predicted decreased likelihood of being affected by the modification made to the first method in the current request. |
| Claim: | 7. One more non-transitory computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method to predict additional methods that may be affected by modification to another method based on historical modifications, the media comprising: receiving a current request to modify a first method; tracking a modification made to the first method by the current request; identifying at least a second method that was modified by at least one of the one or more prior requests that include a prior modification made to the first method; determining a score of the second method by: for each of the one or more prior requests, assigning a binary value of one when the second method was modified by the prior request or a binary value of zero when the second method was not modified by the prior request; generating a matrix that contains the binary values assigned to the second method for the one or more prior requests; and calculating a total value as the score of the second method by summing the binary values of the matrix; based on the score, identifying that the second method is predicted to be affected by the modification made to the first method by the current request; and generating a graphical user interface that provides a recommendation that identifies at least the second method and that indicates the second method is predicted to be affected by the modification made to the first method by the current request. |
| Claim: | 8. The media of claim 7 , wherein tracking the modification made to the first method in the current request comprises: identifying that the first method is being modified in the current request. |
| Claim: | 9. The media of claim 7 , wherein tracking the modification made to the first method in the current request comprises: tagging, in the current request, the first method identified as being modified. |
| Claim: | 10. The media of claim 7 , wherein identifying at least the second method that was modified in the one or more prior requests that include the prior modification made to the first method comprises: mapping the first method that is tagged to a plurality of methods, wherein the at least one of the plurality of methods was modified by the one or more prior requests, and wherein the second method is included in the plurality of methods. |
| Claim: | 11. The media of claim 7 , wherein determining the score of the second method comprises: multiplying the total value of the method by a predefined factor to normalize the total value of the second method, wherein the total value that is normalized is the score of the second method. |
| Claim: | 12. The media of claim 7 , further comprising: determining that a threshold is met by the score of the second method. |
| Claim: | 13. The media of claim 7 , wherein a lower score indicates a predicted increased likelihood of being affected by the modification made to the first method in the current request, and wherein a higher score indicates a predicted decreased likelihood of being affected by the modification made to the first method in the current request. |
| Claim: | 14. The media of claim 7 , wherein comparing the current request for the first method to the one or more prior requests comprises: determining that the one or more prior requests include prior modifications to the first method in the current request; identifying all a plurality of methods that were modified in the one or more prior requests that include prior modifications to the first method; determining a plurality of scores for all of the plurality of methods that were modified in the one or more prior requests that include prior modifications to the first method; based on the plurality of scores for all of the plurality of methods relative to each other, determining that at least the second method in the plurality of methods is predicted to be affected by the modification made to the first method by the current request; and determining to include the second method in the recommendation. |
| Claim: | 15. A system for a predicting additional methods that may be affected by modification to another method based on historical modifications, the system comprising: one or more processors; a tracking feature module that: receives a current request to modify a first method; and tracks a modification made to the first method by the current request; a recommendation engine module that: identifies at least a second method that was modified by at least one of the one or more prior requests that include a prior modification made to the first method; determines a score of the second method by; for each of the one or more prior requests, assigning a binary value of one when the second method was modified by the prior request or a binary value of zero when the second method was not modified by the prior request; generating a matrix that contains the binary values assigned to the second method for the one or more prior requests; and calculating a total value as the score of the second method by summing the binary values of the matrix; based on the score, identifies that the second method is predicted to be affected by the modification made to the first method by the current request; and provides a recommendation that identifies at least the second method and that indicates the second method is predicted to be affected by the modification made to the first method by the current request; and a graphical user interface module that causes the recommendation to be displayed in a graphical user interface. |
| Patent References Cited: | 5936634 August 1999 Kawamoto et al. 8898676 November 2014 Hiltgen 9122490 September 2015 Fanning 10275240 April 2019 Kogan 10817283 October 2020 Naik 11106460 August 2021 Culibrk 2009/0083268 March 2009 Coqueret 2010/0299305 November 2010 Laxman 2012/0036497 February 2012 Karthik 2012/0311523 December 2012 Venkataraman 2013/0080993 March 2013 Stravers et al. 2013/0227542 August 2013 Pei 2014/0310559 October 2014 Deng et al. 2014/0331203 November 2014 Elshishiny 2016/0188325 June 2016 Blitzstein 2017/0068676 March 2017 Jayachandran et al. 2020/0034135 January 2020 Shi 2020/0174907 June 2020 Lundquist 2020/0349055 November 2020 Reddy 2021/0049050 February 2021 Goodwin et al. 2021/0049465 February 2021 Bogdan et al. 2021/0247976 August 2021 Masis |
| Other References: | Notice of Allowance received for U.S. Appl. No. 17/101,287, dated Aug. 23, 2021, 10 pages. cited by applicant |
| Primary Examiner: | Slachta, Douglas M |
| Attorney, Agent or Firm: | Shook, Hardy & Bacon L.L.P. |
| Přístupové číslo: | edspgr.11422795 |
| Databáze: | USPTO Patent Grants |
| Abstrakt: | Methods, systems, and computer-readable media are disclosed herein that utilizes historical changes made to files and methods in computer programming code to predict related files and methods that may be affected by current and/or future changes made to other files and methods. In aspects, when computer code for a particular method is going to be edited, other methods are identified that were changed in previous editing sessions that also included changes to the particular method. Using scoring techniques for the other methods, a recommendation is provided that details the relative strength of whether the other methods are predicted to be affected by any changes made to the computer code for the particular method that is edited. |
|---|