US2011321007A1PendingUtilityA1

Targeting code sections for correcting computer program product defects using records of a defect tracking system

45
Assignee: MARUM MATTHEW GPriority: Jun 29, 2010Filed: Jun 29, 2010Published: Dec 29, 2011
Est. expiryJun 29, 2030(~4 yrs left)· nominal 20-yr term from priority
G06F 11/3688G06F 8/65G06F 11/368
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An unresolved defect can be identified in a computer program product. It may not be initially known which of a plurality of different code segments of the computer program product are able to be modified to correct to repair the unresolved defect. A subset of the different code segments can be predicted utilizing information contained within a database of previously reported defects. The predicting can be determined based on a set of code segments that were previously modified to correct or repair the previously reported defects as detailed within the database.

Claims

exact text as granted — not AI-modified
1 . A method for targeting code sections for correcting computer program defects comprising:
 identifying an unresolved defect in a computer program, wherein it is not initially known which of a plurality of different code segments of the computer program are able to be modified to correct the unresolved defect; and   predicting a subset of the different code segments utilizing information contained within a database of previously reported defects, wherein the predicting is determined based on a set of code segments that were previously modified to correct the previously reported defects as detailed within the database.   
     
     
         2 . The method of  claim 1 , further comprising:
 presenting the subset of the different code segments to a user via a user interface.   
     
     
         3 . The method of  claim 1 , further comprising:
 presenting computer program instructions for the computer program in a text form within a source code editor;   inserting navigational aids that the source code editor is able to utilize to navigate to the subset of the different code segments; and   responsive to a user selection of one of the subset of the different code segments, navigating to the corresponding navigational aid to show the selected one of the subset of the different code segments within the source code editor.   
     
     
         4 . The method of  claim 1 , further comprising:
 determining a similarly score between a plurality of previously reported defects in the database and the unresolved defect;   determining a resolution score for each code segment of the subset of different code segments that is mathematically dependent upon the similarity score, wherein the resolution score represents a likelihood that making changes to the code segment will resolve the unresolved defect; and   prioritizing the subset of the different code segments by resolution score.   
     
     
         5 . The method of  claim 4 , further comprising:
 for each previously reported defect of the database, generating a defect specific resolution score value; and   combining a plurality of defect specific resolution values to produce the resolution score associated with the corresponding code segment of the subset   
     
     
         6 . The method of  claim 1 , further comprising:
 automatically detecting the unresolved defect by executing a software development tool during a testing or development phase of a lifecycle of the computer program; and   presenting the subset of the different code segments within a user interface of the software development tool.   
     
     
         7 . The method of  claim 1 , further comprising:
 automatically determining characteristics of the unresolved defect using a software development tool that detected the unresolved defect; and   comparing the characteristics of the unresolved defect against a set of stored characteristics of the previously reported defects;   determining the set of previously reported defects having characteristics most similar to the automatically determined characteristics;   analyzing code sections corrected for each of the previously reported defects in the determined set to generate a set of possible code segments; and   filtering the possible code segments by likelihood values to produce the subset of the different code segments.   
     
     
         8 . The method of  claim 1 , wherein said database comprises a plurality of previously reported defects in a computer program over a lifecycle of the computer program, wherein each of the previously reported defects indicates characteristics of the defect and a set of code segments modified to fix the defect. 
     
     
         9 . The method of  claim 8 , wherein the database a defect tracking database. 
     
     
         10 . A computer program comprising a computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising:
 computer usable program code stored in a tangible storage medium operable to identify an unresolved defect in a computer program, wherein it is not initially known which of a plurality of different code segments of the computer program are able to be modified to correct the unresolved defect;   computer usable program code stored in a tangible storage medium operable to predict a subset of the different code segments utilizing information contained within a database of previously reported defects, wherein the predicting is determined based on a set of code segments that were previously modified to correct the previously reported defects as detailed within the database.   
     
     
         11 . The computer program of  claim 10 , further comprising:
 computer usable program code stored in a tangible storage medium operable to present computer program instructions for the computer program in a text form within a source code editor;   computer usable program code stored in a tangible storage medium operable to insert navigational aids that the source code editor is able to utilize to navigate to the subset of the different code segments; and   computer usable program code stored in a tangible storage medium operable to, responsive to a user selection of one of the code segments of the subset, navigate to the corresponding navigational aid to show the selected one of the subset of the different code segments within the source code editor.   
     
     
         12 . The computer program of  claim 10 , further comprising:
 computer usable program code stored in a tangible storage medium operable to determine a similarly score between a plurality of previously reported defects in the database and the unresolved defect;   computer usable program code stored in a tangible storage medium operable to determine a resolution score for each of the code segments of the subset that is mathematically dependent upon the similarity score, wherein the resolution score represents a likelihood that making changes to the code segment will resolve the unresolved defect; and   computer usable program code stored in a tangible storage medium operable to prioritize the subset of the different code segments by resolution score.   
     
     
         13 . A system for targeting code sections for correcting computer program defects comprising:
 a database comprising a plurality of previously reported defects in a computer program over a lifecycle of the computer program, wherein each of the previously reported defects indicates characteristics of the defect and a set of code segments modified to fix the defect; and   a defect prediction engine operable to receive an unresolved defect, to compare it to the previously reported defects in the database, and to present a set of suggested code segments that are able to be modified to correct the unresolved defect, where the set of suggested code segments are based on the code segments associated with previously reported defects determined to be similar to the unresolved defect.   
     
     
         14 . The system of  claim 13 , wherein the defect prediction engine targets specific sets of code for each of the suggested code segments, wherein the suggested code segments are those most likely to be related to the unresolved defects as determined by algorithms of the defect prediction engine. 
     
     
         15 . The system of  claim 13 , wherein the defect prediction engine compares characteristics of the unresolved defects to characteristics of the previously reported defects, wherein those previously reported defects having characteristics most similar to the unresolved defects contribute more than defects having characteristics of lesser similarity when determining the suggested code segments. 
     
     
         16 . The system of  claim 13 , further comprising:
 a source code editor operable to present code instructions of the computer program as editable text, wherein the source code editor is coupled to the defect prediction engine to automatically navigate to portions of the code instructions corresponding to the suggested code segments.   
     
     
         17 . The system of  claim 13 , wherein the database is a defect tracking database. 
     
     
         18 . The system of  claim 17 , wherein the defect tracking database comprises a graphical user interface, said graphical user interface comprising:
 a defect window for presenting data elements of the defect tracking data in an editable form, wherein the defect window comprises an option for discovering a problem with the unresolved defect, wherein when the option is selected, a window is presented within the graphical user interface that shows the suggested code segments.   
     
     
         19 . The system of  claim 13 , wherein the defect prediction engine further comprises:
 a defect similarity engine configured to generate similarity scores when comparing the unresolved defect to the previously reported defects, wherein each similarity score represents a similarity between the previously reported defect and the unresolved defect, wherein previously reported defects having greater similarity scores are given more weight than previously reported defects having lesser similar scores when determining the suggested code segments.   
     
     
         20 . The system of  claim 13 , wherein the defect prediction engine further comprises:
 a segment scorer configured to generate resolution scores for specific code segments, wherein each resolution score represents a likelihood that the corresponding code segment is able to be modified to correct the unresolved defect.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.