首页 | 本学科首页   官方微博 | 高级检索  
     

程序理解:现状与未来
引用本文:金芝,刘芳,李戈.程序理解:现状与未来[J].软件学报,2019,30(1):110-126.
作者姓名:金芝  刘芳  李戈
作者单位:北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871,北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871,北京大学 信息科学技术学院, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 100871
基金项目:国家重点基础研究发展计划(973)(2015CB352201);国家自然科学基金(61620106007,61751210)
摘    要:程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展.

关 键 词:软件工程  程序理解  软件理解  程序静态分析  程序动态分析
收稿时间:2018/8/8 0:00:00
修稿时间:2018/8/30 0:00:00

Program Comprehension: Present and Future
JIN Zhi,LIU Fang and LI Ge.Program Comprehension: Present and Future[J].Journal of Software,2019,30(1):110-126.
Authors:JIN Zhi  LIU Fang and LI Ge
Affiliation:School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies, Ministry of Education(Peking University), Beijing 100871, China,School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies, Ministry of Education(Peking University), Beijing 100871, China and School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies, Ministry of Education(Peking University), Beijing 100871, China
Abstract:Program comprehension is a key activity in software engineering and plays an important role in software development, software maintenance, and software reuse. Since the advent of software engineering, program comprehension has always been a hot research hotspot issue in this field. With the increasing complexity and popularity of software, the needs for program comprehension have been changed. The program self-understanding and self-awareness have gradually become new focuses. Therefore, it is highly desired to re-examine the purposes, the tasks and the techniques of program comprehension. Firstly, this paper dicsusses the program comprehension from the 3 perspectives, namely, the engineering, the learning cognition, as well as the techniques. Then, it shows the degree of research attentions through literature analysis. Furthermore, it discusses the research progress from three aspects, i.e., the cognitive process, the methods and techniques, and the software engineering tasks. Finally, it discusses the development trend and challengs.
Keywords:software engineering  program comprehension  software comprehension  static program analysis  dynamic program analysis
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号