发明名称 |
Control flow analysis utilizing function dominator trees |
摘要 |
A method for control flow analysis according to an embodiment of the present invention includes: acquiring an original function call tree of a program, wherein nodes of the original function call tree represent functions and a parent/child relation between the nodes represents a calling relation; generating a corresponding function dominator tree from the calling relation, wherein nodes of the function dominator tree represent the functions and a parent/child relation between the nodes represents a dominator relation, wherein a first function dominates a second function if all the invocations to the second function are originated by the first function; and simplifying the original function call tree according to the function dominator tree so as to obtain a simplified function call tree. According to an embodiment of the present invention, the function call tree for control flow analysis can be simplified. |
申请公布号 |
US9176842(B2) |
申请公布日期 |
2015.11.03 |
申请号 |
US201213721185 |
申请日期 |
2012.12.20 |
申请人 |
INTERNATIONAL BUSINESS MACHINES CORPORATION |
发明人 |
Chen Qin Yue;Liang Qi;Lin Hong Chang;Liu Feng |
分类号 |
G06F9/45;G06F11/34;G06F9/44 |
主分类号 |
G06F9/45 |
代理机构 |
Heslin Rothenberg Farley & Mesiti P.C. |
代理人 |
Kinnaman, Jr., Esq. William A.;Schiller, Esq. Blanche E.;Heslin Rothenberg Farley & Mesiti P.C. |
主权项 |
1. A method for control flow analysis, the method comprising:
acquiring an original function call tree of a program, wherein nodes of the original function call tree represent functions and a parent/child relation between the nodes represents a calling relation; generating a corresponding function dominator tree from the calling relation, wherein nodes of the function dominator tree represent the functions and a parent/child relation between the nodes represents a dominator relation, wherein a first function dominates a second function if all the invocations to the second function are originated by the first function; and simplifying the original function call tree according to the function dominator tree so as to obtain a simplified function call tree, wherein the simplifying comprises:
identifying an entry function of a basic function package according to the function dominator tree; andremoving children nodes of a node corresponding to the entry function from the original function call tree so as to obtain the simplified function call tree, wherein the removing comprises deleting the children nodes. |
地址 |
Armonk NY US |