期刊文献+

面向程序理解的系统依赖图构建算法 被引量:6

Program comprehension oriented construction algorithm of system dependence graph
在线阅读 下载PDF
导出
摘要 为降低程序理解中的程序标准化和程序匹配等复杂度,提出了面向程序理解的系统依赖图构建算法,将其划分为3个阶段:程序信息的提取、控制依赖子图的构建和数据依赖子图的构建.采取控制依赖和数据依赖分别求解,直接基于控制依赖子图分析数据流,无需额外的控制流图表示,并且可按需计算数据流,降低了算法复杂度;将选择语句和循环语句统一表示,并将表达式表示为抽象语法树,使之便于程序转换和分析.在编程题自动评分系统和程序识别中的应用中结果表明构建的系统依赖图为程序理解和分析提供了方便,降低了复杂度. To reduce the complexity of program comprehension such as program standardization and program matching,a program comprehension oriented construction algorithm of system dependence graph is proposed.This algorithm can be divided into three stages: program information extraction,control dependence sub-graph construction and data dependence sub-graph construction.Control dependency and data dependency are independently computed.Data flow is directly analyzed based on control dependent sub-graph without extra control flow graph,and computed on demand,which reduces the algorithm complexity.Selection statements and loop statements are uniformly represented,and expressions are represented as Abstract syntax trees,which can facilitate program transformation and analysis.The system dependence graph has been used in automatic grading system of student programs and program recognition.Application results show that it can facilitate program comprehension and analysis and reduce the complexity of program comprehension and analysis.
出处 《哈尔滨工业大学学报》 EI CAS CSCD 北大核心 2013年第1期78-84,共7页 Journal of Harbin Institute of Technology
基金 国家自然科学基金资助项目(61202092 61173021) 高等学校博士学科点专项科研基金资助项目(20112302120052) 中央高校基本科研业务费专项资金资助项目(HIT.NSRIF.201178) 黑龙江省高教学会"十二五"重点规划课题资助项目(HGJXH B1110957)
关键词 程序理解 系统依赖图 程序信息提取 控制依赖 数据依赖 program comprehension system dependence graph program information extraction control dependence data dependence
  • 相关文献

参考文献4

二级参考文献40

  • 1钱树人.程序设计语言的语义理解及语境分析[J].计算机研究与发展,1994,31(7):37-41. 被引量:2
  • 2戚晓芳,徐宝文,周晓宇.一种基于程序可达图的并发程序依赖性分析方法[J].电子学报,2007,35(2):287-291. 被引量:14
  • 3David J Pearce,Paul H J Kelly,PChris Hankin.Efficient fieldsensitive pointer analysis of C[J].ACM Transactions on Programming Languages and Systems,2007,30(1):4:1-4:42.
  • 4Maryam Emami,et al.Context-sensitive interprocedural pointsto analysis in the presence of function pointers[A].Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation[C].Florida:ACM Press,1994.242-256.
  • 5Metzger R,Wen Z.Automatic Algorithm Recognition:A New Approach to Program Optimization[M].London:MIT Press,2000.87-116.
  • 6S Xu,Y S Chee.Transformation-based diagnosis of student programs for programming tutoring systems[J].IEEE Transactions on Software Engineering,2003,29(4):360-384.
  • 7Hattori N,Ishii N.A method to remove variations in source codes[J].Information and Software Technology,1996,38(1):25-36.
  • 8Wang T.T,et al.Semantic similarity-based grading of student programs[J].Information and Software Technology,2007(2),49:99-107.
  • 9Livadas P.E,Johnson T.An optimal algorithm for the construction of the system dependence graph[J].Information Sciences,2000,125(1-4):99-131.
  • 10KRAFT A, MALLOY A, POWER F. A tool chain for re- verse engineering C + + applications [ J ]. Science of Computer Programming, 2007, 69( 13 ) :3 -13.

共引文献62

同被引文献40

  • 1张浩斌.基于开放式云平台的开源在线评测系统设计与实现[J].计算机科学,2012,39(S3):339-343. 被引量:34
  • 2李延春.软件插件技术的原理与实现[J].计算机系统应用,2003,12(7):24-26. 被引量:46
  • 3张小龙,霍剑青,袁泉,王晓蒲.基于软件插件的虚拟实验资源库系统的构建[J].中国科学技术大学学报,2007,37(3):327-332. 被引量:10
  • 4李俊娥,周洞汝.“平台/插件”软件体系结构风格[J].小型微型计算机系统,2007,28(5):876-881. 被引量:38
  • 5JONES J A. Fault localization using visualization of test information[C]//Proceedings of the 26th IEEE International Conference on Software Engineering. Piscataway:IEEE, 2004:54-56.
  • 6WONG W E, WEI T, QI Y,et al. A crosstab-based statistical method for effective fault localization[C]//Proceedings of the 20081st International Conference on Software Testing, Verification, and Validation. Piscataway:IEEE, 2008:42-51.
  • 7NAISH L, LEE H J, RAMAMOHANARAO K. A model for spectra-based software diagnosis[J]. ACM Transactions on Software Engineering and Methodology, 2011,20(3):11.
  • 8SANTELICES R, JONES J A, YU Y,et al. Lightweight fault-localization using multiple coverage types[C]//Proceedings of the IEEE 31st International Conference on Software Engineering. Piscataway:IEEE, 2009:56-66.
  • 9AGRAWAL H, HORGAN J R. Dynamic program slicing[C]//Proceedings of the ACM Conference on Programming Language Design and Implementation. New York:ACM, 1990:246-256.
  • 10ALVES E, GLIGORIC M, JAGANNATH V,et al. Fault-localization using dynamic slicing and change impact analysis[C]//Proceedings of the 201126th IEEE/ACM International Conference on Automated Software Engineering. Washington, DC:IEEE Computer Society, 2011:520-523.

引证文献6

二级引证文献12

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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