【摘 要】
:
程序理解实际上就是抽象程序的高层描述,得到理解模型的过程,它包含现实世界的对象及其之间的关系,并忽略程序设计中一些不重要的信息。程序理解是从已有的程序代码出发,运用计算
论文部分内容阅读
程序理解实际上就是抽象程序的高层描述,得到理解模型的过程,它包含现实世界的对象及其之间的关系,并忽略程序设计中一些不重要的信息。程序理解是从已有的程序代码出发,运用计算机技术,自动实现对源代码的分析,获得程序结构相关知识的技术,重构出软件结构、算法描述等软件文档,可以有效地辅助技术人员对现有软件进行理解。在程序理解的理论基础上,提出一种适用于面向对象程序语言代码的程序理解与描述算法,用可视化的形式表达程序的结构。首先对程序源代码进行分析,经编译技术中的代码分析手段,获得程序结构相关知识。用正则语言、自动机、上下文无关文法及逻辑语法树的表示程序分析过程。再对所获取的信息进行抽象、推理等演绎过程,设计信息抽象规则及知识信息库组织结构。进一步运用计算机可视化技术,运用UML中类图表示程序结构的算法,提出了N-S图表示程序函数的算法。其中,解决了图元设计、图元缩放与定位、图元嵌套等难题,能够快速有效地生成程序类图及程序流程图,提高了理解程序的效率,最后重构软件结构和算法模型等信息。列举了程序理解系统的分析结果示例,展示了知识信息库中文件路径表,知识关键字表、类表、函数方法表及可视化表示UML中泛化关系、关联关系、依赖关系等类间关系、N-S流程图中源码与函数方法的对比。最后分析系统效率、准确率等,说明本文理论的可行性。
其他文献
手持设备的广泛应用对汉字输入技术的要求越来越高。本文通过对智能输入技术的研究,构建了动态自适应语言模型,并将此模型与输入系统实现技术相结合,实现了一个基于动态自适
维吾尔文是新疆维吾尔自治区少数名族的主要交流文字,为了便利当地人们交流,开展有关维吾尔文文字处理技术的研究是很有必要。在当今社会,常用电子信息设备都已经进入了平常
信息检索的很多应用都需要探究隐藏在字、词背后的涵义,简单的字面匹配由于广泛存在的同义词多义词现象,往往得不到能够和查询在含义上精确匹配的检索结果。概率潜在语义分析
随着实时流媒体应用的快速发展,点对点网络电视(P2P IPTV)正以其显著的优势赢得越来越多的用户。本课题是国家863计划项目“IPv6自由立体视频点播系统”的一个组成部分。课题
基于IEEE 802.11的长距离无线mesh网络(LDmesh)指相邻节点间距离很长(长至几十到上百公里)的无线mesh网络。LDmesh网络具有成本低、带宽高、覆盖广、易于部署和维护的特点,可
目前,数字式仪表和指针式仪表是工业生产、检测过程中最普遍的参数输出设备,被广泛地应用于各个行业测量系统中。仪表的自动识别技术可以持续监视参数的变化,特别在某些像电
在当前的互联网时代电子商务、社交网络等网络应用已经成为日常生活中不可分割的一部分,而各种应用针对不同用户的个性化信息推荐已经作为用户获取相关信息的重要途径。然而
随着高校教育体制的改革,特别是扩大招生以后,给高校的学生管理工作提出了许多新的课题,学生管理工作涉及部门众多,事务繁琐,工作量大。大量的数据冗余、不一致问题和“数据
医学可视化技术作为科学计算可视化技术的一个重要分支,在医疗领域的辅助诊断、科研教学等方面有着举足轻重的作用。传统的三维医学图像重建技术无法满足四维医学图像动态重建
应急救援路线的选择关系到应急救援的成败,合理有效的选择应急救援路线对挽救生命和财产具有重要意义,其属于组合优化问题。蚁群算法具有并行性、鲁棒性等优良特性使其成为解决