US8990792B2ActiveUtilityA1
Method for constructing dynamic call graph of application
Est. expiryMay 26, 2028(~1.9 yrs left)· nominal 20-yr term from priority
Inventors:Ekaterina Gorelkina
G06F 11/36G06F 11/3636G06F 11/3612G06F 11/3604
75
PatentIndex Score
20
Cited by
22
References
8
Claims
Abstract
A method of generating a dynamic call graph of an application is disclosed. The method includes collecting information on what program code pages are accessed during each sampling period, defining parts of an executable program code which are accessible during each sampling period according to the collected information, defining a set of functions within the defined parts of the executable program code, generating dynamic call graphs using the defined set of functions for each sampling period, and generating dynamic call graphs for an observation period by combining accurate dynamic call graphs of each sampling period.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for generating a dynamic call graph of an observation period having a plurality of sampling periods, the method comprising:
collecting information on what program code pages are accessed during each sampling period of the program's execution;
defining parts of an executable program code which are accessible during each sampling period according to the collected information;
defining a set of functions that have been probably invoked during each sampling period within the defined parts of the executable program code;
generating a set of possible dynamic call graphs using the defined set of functions for each sampling period;
generating accurate dynamic call graphs for each sampling period of the observation period in operation by deleting dynamic call graphs, which were erroneously generated due to a misinterpretation of the collected information, from the generated dynamic call graphs through analyzing a program source code; and
generating a dynamic call graph for the overall observation period in operation by combining the accurate dynamic call graphs for each sampling period of the overall observation period in operation, wherein
the erroneously generated call graphs include incorrect or undesirable call graphs generated from sampled data; and
the information on what program code pages are accessed during each sampling period is provided by an operating system and contains accessible application codes during each sampling period.
2. The method of claim 1 , wherein the program source code is a binary code.
3. The method of claim 1 , further comprising generating accurate dynamic call graphs for the observation period by deleting erroneous dynamic call graphs from the generated dynamic call graph for the observation period through analyzing the program source code.
4. The method of claim 1 , wherein the dynamic call graphs are generated by using a predetermined algorithm.
5. The method of claim 1 , wherein the dynamic call graphs are constructed to be generated in sequence from possible invoked function sets.
6. The method of claim 1 , wherein the erroneous dynamic call graphs are deleted at an initial analysis of the program source code.
7. The method of claim 1 , wherein the erroneous dynamic call graphs are deleted at an analysis of a binary code.
8. A non-transitory computer-readable storage medium storing a program to generate a dynamic call graph of an observation period having a plurality of sampling periods, the program comprising instructions to cause a computer to:
collect information on what program code pages are accessed during each sampling period of the program's execution;
define parts of an executable program code which are accessible during each sampling period according to the collected information;
define a set of functions that have been probably invoked during each sampling period within the defined parts of the executable program code;
generate a set of possible dynamic call graphs using the defined set of functions for each sampling period;
generate accurate dynamic call graphs for each sampling period of the observation period in operation by deleting dynamic call graphs, which were erroneously generated due to a misinterpretation of the collected information, from the generated dynamic call graphs through analyzing a program source code; and
generate a dynamic call graph for the overall observation period in operation by combining the accurate dynamic call graphs for each sampling period of the overall observation period in operation, wherein
the erroneously generated call graphs include incorrect or undesirable call graphs generated from sampled data; and
the information on what program code pages are accessed during each sampling period is provided by an operating system and contains accessible application codes during each sampling period.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.