期刊文献+

C程序单元级依赖性分析 被引量:3

Analysis of Dependences among C Program Units
下载PDF
导出
摘要 程序依赖性分析是软件分析的一个基本内容 ,目前的相关工作大多集中在语句级的分析方面。人们同样需要单元级的依赖信息来考察单元间的信息流向及整个程序的构架。本文针对C程序中函数间的调用依赖、参数传递依赖、全局数据依赖以及文件间的包含依赖和外部变量定义依赖进行了分析 ,并提出单元依赖图表达这些关系。基于此图 ,本文采用基于信息论的方法度量了单元间的耦合性。单元依赖图中保留的函数调用间的互斥关系提高了度量的准确性。相关的分析思想和技术适用于分析使用其它高级程序设计语言编写的软件。 The focus of software dependence analysis is on the dependences between statements, however the dependence information among program units is useful to improve software comprehension. This paper analyses the dependences among C program units caused by function call, parameter transformation, using of nonlocal data and the dependences among files caused by the use of include and extern. We introduce Dependence-Graph among Program Units(DGPU) to express these relations, based on which a measurement method for coupling is presented. The exclusion among function calls expressed by DGPU makes the measurement more accurate. The main idea and technology presented in this paper can also be utilized to analyze programs written in other high level programming languages.
出处 《计算机与数字工程》 2004年第6期1-4,27,共5页 Computer & Digital Engineering
基金 国家自然科学基金 (60 3 73 0 66) 国家重点基础发展规划 973资助项目 (2 0 0 2C3 12 0 0 0 ) 国家自然科学基金青年科学基金 (60 3 0 3 0 2 4) 武汉大学软件工程国家重点实验室开放基金 江苏省计算机信息处理技术重点实验室 (苏州大学)开放基金 (KJS0 2 0 0 9 T
关键词 依赖性 函数调用 指针分析 内聚性 度量 Dependency, Function Call, Pointer Analysis, Coupling, Metric
  • 相关文献

参考文献13

  • 1W. Landi, et al. Pointer-induced Aliasing: A problem Claification. Conf. Rec. 18th Ann. ACM Symp. Principles of Prograing Languages. 1991, 93-103
  • 2W.Landi, et al. Undecidability of static analysis. ACM Lett. Prograing Languages Syst., vol.1, Dec.1992, 323 - 337
  • 3M. Harman, et al. An Interprocedural Amorphous Slicer for WSL. Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'02). October 01 - 01, 2002, 105-114
  • 4A. Milanova, et al. Precise Call Graphs for C Programs with Function Pointers. Automated Software Engineering, 11, 2004, 7-26,
  • 5T. Qin, et al. Discovering Use Cases from Source Code Using the Branch-reserving Call Graph. Proceedings of the Tenth Asia-Pacific Software Engineering Conference (APSEC'03). 2003, 60-67
  • 6D. Grove, et al. A Framework for Call Graph Construction Algorithm. ACM Transactions on Prograing Languages and Systems, Vol. 23, No. 6, November 2001, 685-746.
  • 7G. Antoniol, et al. Impact of Function Pointers on the Call Graph. European Conference on Software Maintenance and Reengineering, 1999. 51-59
  • 8M. Hopfner1, et al. Comprehending and Visualizing Software Based on XML-representations and Call Graphs. Proceedings of the 11 th IEEE International Workshop on Program Comprehension (IWPC'03). 2003, 290-291
  • 9A. Milanova, et al. Precise Call Graph Construction in the Presence of Function Pointers. Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'02). 2002, 155-162
  • 10D. Raysidey, et al. The Effect of Call Graph Construction Algorithms for Object-oriented Programs on Automatic Clustering. 8th International Workshop on Program Comprehension (IWPC'00) June, 2000, 191-200

同被引文献23

  • 1吴方君,易彤.基于依赖性分析的UML类图粗粒度切片方法[J].应用科学学报,2004,22(3):392-397. 被引量:5
  • 2曾奕,徐宝文,许蕾.并发环境中渐增式追踪重演机制[J].计算机与数字工程,2005,33(3):16-20. 被引量:1
  • 3Lee B,Park T,Yeom H Y,et al.An efficient algorithm for causal message logging.Proceedings of the 17th Symposium on Reliable Distributed Systems.1998,19~25
  • 4StevensWR.Unix Network Programming Volume 2:Interprocess Communications[M].第二版[M].北京:清华大学出版社,2002.129-134.
  • 5Leslie Lamport.Time,Clock and the Ordering of Events in a Distributed System.Communications of the ACM,21(7).1978,558~565.
  • 6Robert H.b.Netzer and John M.Mellor Crummey.Optimal Tracing and Replaying for Debugging MessagePassing Programs.The Journal of Supercomputing.1994,404~413
  • 7KooR,TouegS.Checkpoint and Rollback- recovery for Distributed Systems.IEEE.Transactions on Software Engineering.1987,13(1):23~31
  • 8聂长海 徐宝文 史亮.软件配置测试的测试方案设计[J].软件学报,2003,14:149-154.
  • 9赵炯.Linux内核完全注释[M].北京:机械工业出版社,2003.75~97.
  • 10Ottenstein K,Ottenstein L.The Program Dependence Graph in a Software Development Environment[J].ACM SIGPLAN Notices,1984,19(5):177~184.

引证文献3

二级引证文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部