- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
拓扑排序和强连通算法在源代码分析中的应用.pdf
计 算 机 系 统 应 用 2009年 第 1期
拓扑排序和强连通算法在源代码分析中的应用①
ApplicationofTopologicalSortandStronglyConnectedComponents
inSourceAnalysis
李义军 任子真 (沈阳化工学院 计算机学院 辽宁 沈阳11O142)
摘 要: 缺少文档的开源项 目和文档不完整的开源项 目,分析其源代码是了解其运行机理的主要方法,本文提
出一种基于函数分析顺序的分析方法,并且提 出构建函数分析顺序的过程。过程为首先使用强连通算
法消除函数递归调用,得到一些组件,再用拓扑排序对组件和组件内部的各函数节点排序,得到一个
分层链表,该链表包含各函数的调用顺序和分析顺序,再用一种展开算法将分层链表展开,最终得到
源代码 中的函数分析顺序。
关键词: 深度遍历 拓扑排序 强连通算法 开源 函数分析顺序
开源项 目的开发人员分散,文档不完整,想弄清运
行机理 ,必须分析源代码。即使有文档,想要深入理解
软件项 目的实现细节,也得看源代码。但是项 目的函数 调用顺
众多,没有正确的分析顺序,思路容易混乱,并且分析 调用顺毒羹:lZ三析析顺顺序序
所有源代码不现实;有的项 目源代码太多,比如Linux
有几百万行源代码 ,必须分工合作,认清应该分析哪一
部分源代码,以及其依赖哪一部分源代码。
2 关系图的类型
由于函数的调用是有方向,所以调用关系图是有
1 源码分析的基本思想
向图。有向图又分为无环图和有环图。从函数调用关
源代码中所实现的软件功能的承载体是函数,分
系看,函数关系环是由于递归造成,不论直接递归还
析源代码应从分析函数入手,每个函数完成一定的功
是间接递归,函数调用自身,必然造成环,假如函数
能,多个函数合力完成一个总的功能。分析函数,首
没有递归,那么关系图为无环图。由于拓扑排序针对
先建立函数之间的关系,由于函数的调用关系可通过
有向无环图,必须采取相应的措施消除递归造成的调
关系图描述,因此可通过函数的调用关系构建函数关
用环。通过强连通算法将关系图消除递归,得到一些
系图,再用图论算法解决分析顺序问题,之后按顺序
组件,组件之间无递归,从而可进行拓扑排序。
分析各个函数的功能,进而将各个函数所实现的局部
功能组合成一个总的功能,最终明白源代码所实现的
3 拓扑排序和强连通算法的具体应用步骤
功能和软件的实现过程 ,从而可在此基础上继续开发,
以及软件出问题时,明白问题原因,从而解决问题。 在本文中,关系表示为调用和被调用。具体到本
简单示例,见图1,a1调用a2,a2调用a3,分析顺 文,邻接矩阵是表示函数之间调用关系的矩阵,以及
组件之间调用关系的矩阵,当行对应的函数和列对应
序相反,只有明白a3,才能明白a2,只有明白a2,
的函数有调用关系,则相应位置 1,没有调用关系,
才能明白a1。
① 收稿时间:2008—07—16
96应用技术 AppliedTechnique
2009年 第 1期
您可能关注的文档
最近下载
- “信息技术+农业”大数据现代产业学院建设方案.docx VIP
- 汉得微扬-西凤酒CRM项目投标建议方案 20170106.pptx VIP
- 信用证试题库及答案.doc VIP
- 汉得信息_陆家嘴商业地产项目_投标文件_V2.02.pptx
- 医疗器械体系文件-软件部署管理规定.doc VIP
- WPS Office2019办公应用教程课件 项目四 WPS文字的图文混排.pptx VIP
- 汉得信息_陆家嘴商业地产项目_投标文件_V0.03.pptx
- 国家税务总局就非居民企业间接转让中国财产的税务问题予以进一步明确.doc VIP
- 故事大全:科学家的故事_名人故事:名人科学家的故事.doc VIP
- 35kV开关柜安装施工方案.doc VIP
文档评论(0)