认知容易度驱动的程序理解过程

来源 :东南大学 | 被引量 : 0次 | 上传用户:greatspy_52
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序理解是软件维护的重要阶段,程序员对程序的理解程度直接影响到维护工作的正确性和效率。由于在设计程序时,尤其是使用面向对象方法设计时,功能行为相关的代码通常会被分散在程序中的各个角落,这增加了理解程序的难度,也使得理解者感到无从下手。因此很多研究人员不断地探索寻找有效的方法辅助程序员理解程序。然而很少有人致力于研究如何利用已有的知识快速有效地结块抽象出新知识。   本文提出认知容易度概念,表示当前理解阶段程序员理解程序中某个未理解部分的容易情况。为了量化认知容易度,我们以函数为单位,依据函数是否已经为程序员所熟悉,将程序中的函数分为两部分:已理解部分和未理解部分。同时,采用调用图层粗粒度切片和过程内粗粒度切片技术寻找函数间的关系,结合程序员已理解部分计算尚未理解部分的认知容易度,为程序员展示当前理解阶段哪些未理解函数比较容易理解,哪些不容易理解。   使用认知容易度驱动程序理解,可以引导程序员从简单到复杂的认知未理解代码,做到每次阅读的代码都是程序剩余部分中最容易理解的,从而降低工作难度,提高工作效率:同时,我们的方法还可以针对每个具体不同的程序员提供不同的指引。最后,为了评估方法的有效性和实用性,我们开发了支持程序理解的工具CEPlugin,并且在此基础上展开实验分析。
其他文献
如今,人们把握数据的能力在不断提升。面对海量数据,人们更加关注的是隐藏在数据背后的重要信息,而非数据本身。数据挖掘满足了我们的需求,它是帮助我们发现数据中重要知识的
网格被视为继Internet技术和Web技术之后的第三代互联网技术,能够最大限度地实现网络资源共享和调度,因此网格技术在国内外迅速发展。   网格的目标就是能够实现计算、存储
随着无线网络的广泛应用与飞速发展,不满足Internet基本假设的受限网络不断涌现。与传统无线网络不同,这些网络中通常不存在稳定的端到端路径,传输延时一般较高。容迟/容断网
本文主要研究了基于空间变换核天文图像降晰算法及硬件实现,以达到南极天文站(AST3)对图像实时性和低功耗的要求。本文实现了一种基于传输触发体系结构(Transport Triggered
目前,P2P技术已经成为近年来互联网最热门的技术之一,它具有对等性高、健壮性好、负载均衡等优点,得到了广泛应用。但是,目前P2P的应用还存在一些问题,如P2P带宽滥用,P2P网络蠕虫传
进入21世纪以来,互联网的快速发展以及带宽的提升使得通过互联网获取各种对带宽要求较高的多媒体服务提供了可能。以往的单播方案,采取C/S模型,在特定的服务器和每位用户之间
本课题主要研究多媒体教学场景中的跟踪问题,以场景中授课教师为跟踪目标,要求实时录制教师授课情况。基于特定的应用场景,课题在单目标、单摄像头,且目标和摄像头都运动的情
随着信息化时代的不断推进,人们对信息化技术的依赖逐渐变大,游客的个性化需求增多,也更倾向于选择去信息化建设完善、能尽量满足他们个性化需求的景区。因此,为了增加景区的
随着互联网的发展,网络信息呈爆炸式的增长,如何快速有效的获取网络信息已成为一个重要的研究问题。文本摘要和关键词抽取技术正是在这样的一个背景下发展起来的,随着信息检
随着互联网的快速发展,网络媒体应运而生,传统媒体公司也随之建立了新闻发布网站。网络传播的快捷性、互动性、开放性等特点使得民众可以快速关注网络上的热点事件,发表看法