Enhancements to logging of a computer program
First Claim
1. A method for enhancing logging code in a computer program, said method comprising:
- under control of one or more computer systems configured with executable instructions,ranking a plurality of methods in the source code of a computer program based on a relative importance value computed for each method;
identifying a method that exhibits ideal logging behavior for the computer program, the method identified based at least in part on historical logging code modifications of the method;
computing a logging behavior value for each of the plurality of methods;
comparing the logging behavior value of a method having a highest relative importance value with the logging behavior value of the method that exhibits ideal logging behavior; and
generating a recommendation for enhancing the logging code based at least in part on comparing the logging behavior value of the method having the highest relative importance value and the logging behavior value of the method that exhibits ideal logging behavior.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for providing recommendations to enhance the logging code in a computer program. In particular, the methods described herein can identify source code locations which lack log printing statements or contain noisy log printing statements. The methods analyze static call graph of the source code, the corresponding commit and bug history, and propose recommendations to enhance logging. The logging behavior in methods whose log printing statements have been significantly modified can be considered to be ideal. The analysis discovers such methods and quantifies their logging behavior. It then compares this logging behavior with the logging behavior of highly critical and/or less critical methods to generate logging enhancement recommendations.
24 Citations
21 Claims
-
1. A method for enhancing logging code in a computer program, said method comprising:
under control of one or more computer systems configured with executable instructions, ranking a plurality of methods in the source code of a computer program based on a relative importance value computed for each method; identifying a method that exhibits ideal logging behavior for the computer program, the method identified based at least in part on historical logging code modifications of the method; computing a logging behavior value for each of the plurality of methods; comparing the logging behavior value of a method having a highest relative importance value with the logging behavior value of the method that exhibits ideal logging behavior; and generating a recommendation for enhancing the logging code based at least in part on comparing the logging behavior value of the method having the highest relative importance value and the logging behavior value of the method that exhibits ideal logging behavior. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A computing system, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the computing system to; rank a plurality of methods in the source code of a computer program based on a relative importance value computed for each method; identify a method that exhibits ideal logging behavior for the computer program, the method identified based at least in part on historical logging code modifications of the method; compute a logging behavior value for each of the plurality of methods; compare the logging behavior value of a method having a highest relative importance value with the logging behavior value of the method that exhibits ideal logging behavior; and generate a recommendation for enhancing the logging code based at least in part on comparing the logging behavior value of the method having the highest relative importance value and the logging behavior value of the method that exhibits ideal logging behavior. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium containing one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute a set of operations comprising:
-
ranking a plurality of methods in the source code of a computer program based on a relative importance value computed for each method; identifying a method that exhibits ideal logging behavior for the computer program, the method identified based at least in part on historical logging code modifications of the method; computing a logging behavior value for each of the plurality of methods; comparing the logging behavior value of a method having a highest relative importance value with the logging behavior value of the method that exhibits ideal logging behavior; and generating a recommendation for enhancing the logging code based at least in part on comparing the logging behavior value of the method having the highest relative importance value and the logging behavior value of the method that exhibits ideal logging behavior. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification