检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:王甜甜[1] 马培军[1] 苏小红[1] 郭全萍[1]
机构地区:[1]哈尔滨工业大学计算机科学与技术学院,黑龙江哈尔滨150001
出 处:《系统工程与电子技术》2010年第3期614-619,共6页Systems Engineering and Electronics
基 金:国家自然科学基金(60673035)资助课题
摘 要:针对目前指针分析算法的程序中间表示形式不能充分表示程序的语法结构与语义,因而不适合应用于源代码-源代码级别的程序转换与分析的问题,提出了一种基于系统依赖图的过程间指针别名分析算法。改进了指针别名信息的表示方法,精确描述数组元素和指针数组元素的别名。以系统依赖图作为程序的中间表示形式,在每个过程调用节点,根据是否为递归调用,分别采用改进的Banning算法和函数内联的方法处理因参数传递引起的别名信息。实验结果表明,该方法的准确性高于Wilson算法和Emami算法,且指针分析结果可直接应用于源代码级别的程序分析与转换中。Existing pointer analysis algorithms usually adopt a lower-level intermediate representation which can not sufficiently represent the syntactical structure and semanteme of programs,which makes them difficult apply to source-to-source program transformation or analysis.To solve this problem,a flow-sensitive and context-sensitive pointer analysis algorithm based on system dependence graph is presented.An improved representation of alias information is proposed to describe the subscript details of elements in arrays,especially in pointer arrays.Then an iterative alias analysis for each procedure is performed on the system dependence graph of the program.An improved Banning algorithm or an inlining method is used to analyze the alias information respectively at each calling node according to a rule whether it's an iterative call.Test results show that the precision of this approach is higher than those of Wilson's and Emami's approaches.The pointer analyzing results can be directly applied to source-to-source program transformation and analysis.
分 类 号:TP311[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:18.117.92.75