首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 156 毫秒
1.
基于EPOM的程序可视化表示系统的设计与实现   总被引:3,自引:3,他引:3  
可扩展程序对象模型是一种用来刻画高级程序的抽象模型,利用该模型可以很方便地抽取出程序中各式各样的信息,概要介绍了可扩展程序对象模型并基于该模型设计和实现了一个程序的可视化表示系统,同时给出了该系统的运行结果。  相似文献   

2.
林道淼  古辉 《计算机工程》2012,38(15):286-289
程序理解是计算机自动实现程序源码分析、获得程序结构相关知识的技术,在程序理解信息提取的基础上,针对程序函数级以下结构的源码分析,运用计算机可视化技术,提出一种N-S图表示程序函数的算法,运用该算法可解决图元设计、图元缩放与定位、图元嵌套等问题。算法运行结果表明,该算法能够快速有效地生成N-S图,提高程序理解的效率。  相似文献   

3.
面向对象程序可视化过程中的一种布局算法   总被引:3,自引:0,他引:3  
1 引言随着面向对象技术的广泛应用,对面向对象程序的理解也变得日益重要,理解方法之一就是软件可视化,通过对软件所有方面的属性及行为进行图形化显示,包括:设计和分析方法、系统、程序和算法,使软件理解更直观准确。和软件可视化相近的另一个概念是程序可视化,在八十年代后期提出时其意义和软件可  相似文献   

4.
黄捷  古辉 《计算机系统应用》2011,20(5):51-54,149
通过计算机自动实现对程序的理解是目前国内外研究的热点内容。以面向对象程序为研究对象,提出了一种从面向对象程序中抽取类信息的规则,利用该规则可以将程序中的类以及其它程序信息抽取出来,并以UML类图形式表示出来,进而为计算机自动实现对程序的理解奠定基础。在本文中描述了产生UML类图中的各类规则,包括了类、属性、操作、对象、关系、继承、关联和接口等。最后介绍了该规则的一个应用实例。  相似文献   

5.
金芝  刘芳  李戈 《软件学报》2019,30(1):110-126
程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展.  相似文献   

6.
提出一种程序理解实现方案,通过将程序设计语言的词法规则和语法规则以产生式表示,设计基于产生式多语言程序处理算法,将产生式自动转化为对应的词法和语法规则函数,使得不同的程序设计语言规则可以采用统一的方式描述,从而可用一套程序理解系统实现对多种程序设计语言的程序理解,以后增加某种程序设计语言的程序理解,只要定义对应程序设计语言的词法和语法规则产生式即可实现,有效地解决了程序理解系统的共享性难题。  相似文献   

7.
面向对象程序整体结构及其特性的逆向分析和可视化在软件维护、软件重用等过程中起着重要作用。现有的逆向工程工具尽管可以通过对程序代码的静态分析自动获取类模型,但是在自动布图方面仍存在一些明显的问题,特别是难以直观展现类之间的耦合性、聚集效应等程序整体结构的重要特性,从而影响其实际应用。Force-Directed Layout算法能够自然展现复杂结构的耦合关系和聚集现象,因此,将其应用于类图的逆向生成,使其在充分展示程序整体结构的同时,清晰展现类之间的耦合性和聚集效应等结构特征,为软件结构演化分析、缺陷分布分析等提供辅助支持。据此,开发了软件分析与测试工具系列QESat的子工具——基于拉力算法的类图可视化工具QESat/FCD(QualityEasy-Software Analysis and Testing Tools:Force-Directed Class Diagram),通过实例展示了其在大型类图结构特性方面的展现效果。  相似文献   

8.
代码搜索任务旨在通过分析用户需求,结合用户意图来找到满足其需求的软件构件。在加强软件复用性的同时,提高软件开发维护效率,降低成本。与传统的文档检索不同,程序特性往往隐含在标识符和代码结构中,理解程序功能是实现高效代码搜索的关键。从深度程序理解视角切入对代码搜索任务进行定义,并总结梳理近期代码搜索研究进展。针对当前代码搜索研究评估方法和数据集进行了整理。针对研究中存在的问题,对未来代码搜索研究进行展望,为后来研究者提供参考。  相似文献   

9.
C语言复杂的声明语句难以理解。为此,提出一种程序理解算法,自动地对C语言声明语句进行部分语义文字描述和可视化表示。引入图元和解释2个概念,构成该程序理解算法的理论基础,这些概念同样可应用于程序理解算法的其他方面。实验结果表明,声明语句的文字描述和可视化表示能够有效提高程序可读性。  相似文献   

10.
程序理解是一种需要高度智力活动的过程,其效率取决于所理解的程序、理解人员的领域经验和所采用的辅助机制。为了保证该活动的准确性和高效性,理解工具的半自动化支持是关键的。着重探讨和研究基于文法高级概念化抽象的程序理解,从不同层次不同方面来得到源程序的设计意图,实现语言平台的无关性。  相似文献   

11.
The goal of our study is to evaluate the effect on program comprehension of three factors that have not previously been studied in a single experiment. These factors are programmer expertise (expert versus novice), programming task (documentation versus reuse), and the development of understanding over time (phase 1 versus phase 2). This study is carried out in the context of the mental model approach to comprehension based on van Dijk and Kintsch's model [(1983) Strategies of Discourse Comprehension. New York: Academic]. One key aspect of this model is the distinction between two kinds of representation the reader might construct from a text: (1) the textbase, which refers to what is said in the text and how it is said, and (2) the situation model, which represents the situation referred to by the text. We have evaluated the effect of the three factors mentioned above on the development of both the textbase (or program model) and the situation model in object-oriented program comprehension. We found a four-way interaction of expertise, phase, task and type of model. For the documentation group we found that experts and novices differ in the elaboration of their situation model but not their program model. There was no interaction of expertise with phase and type of model in the documentation group. For the reuse group, there was a three-way interaction between phase, expertise and type of model. For the novice reuse group, the effect of the phase was to increase the construction of the situation model but not the program model. With respect to the task, our results show that novices do not spontaneously construct a strong situation model but are able to do so if the task demands it.  相似文献   

12.
知识表达是遥感信息专家知识库建立过程中的重要研究内容之一,是实现遥感影像智能化信息提取的先决条件。从知识表达的理论方法入手,详细介绍了面向对象的知识表达方法。对其在遥感领域的具体应用进行了详细的介绍。  相似文献   

13.
程序理解通过对程序进行分析、抽象、推理从而获取程序中相关信息,在软件开发、维护、迁移等过程中起重要作用,因而得到学术界和工业界的广泛关注.传统程序理解很大程度上依赖开发人员的经验,但随着软件规模及其复杂度不断增大,完全依赖开发人员的先验知识提取程序特征既耗时耗力,又很难充分挖掘出程序中隐含特征.深度学习是一种数据驱动的端到端的方法,它根据已有数据构建深度神经网络对数据中隐含的特征进行挖掘,已经在众多领域中获得成功应用.将深度学习技术运用于程序理解中,根据具体任务以及大量数据自动地学习程序数据中蕴含的特征,可以充分地挖掘出程序中隐含的知识,提高程序理解的效率.对基于深度学习的程序理解研究工作进行综述,首先对程序所包含的性质进行分析,然后介绍主流的程序理解模型,包括基于序列、结构以及执行过程的程序理解模型.随后展示基于深度学习的程序理解在程序分析中的应用,主要针对代码补全、代码注释生成、代码检索等任务.最后,分析并总结程序理解研究所面临的挑战.  相似文献   

14.
阅读理解指的是基于给定文章自动回答相关问题,这是人工智能及自然语言处理领域的一个研究热点。目前已提出许多基于深度学习的阅读理解方法,但是这些方法对问题理解及篇章建模不充分,导致模型获取答案准确率不高。为了解决上述问题,该文提出一个基于外部知识和层级篇章表示的阅读理解方法。该方法特点有: ①通过引入问题重要词的字典释义、HowNet义原,并结合问题类型,加强问题理解; ②使用层级篇章表示,提升模型对篇章的理解; ③在一个框架下联合优化问题类型预测与答案预测两个子任务。在DuReader数据集上的实验结果表明,该方法与基线系统性能相比最大提升了8.2%。  相似文献   

15.
一种基于模糊形式概念分析的程序聚类方法   总被引:4,自引:0,他引:4  
程序聚类通过将与同一个需求或设计元素相关的代码单元聚集在一起来辅助程序理解及系统结构分析.其中,形式概念分析(FCA)是一类被广泛采用的程序聚类技术.然而现有基于FCA的程序聚类方法都是基于二值属性构建的,无法处理模糊信息.提出将模糊概念分析用于基于文本分析的程序聚类,提出了一种支持模糊信息的程序聚类方法.该方法包括模糊属性的采集过程以及相应的模糊概念格的构造算法.在此基础上,开发了一个半自动化的程序分析工具,并将其应用到一个商业软件分析中.初步的实验结果表明该方法能够有效地支持基于模糊特征的程序聚类,对于提高遗留系统的维护效率有明显的帮助.  相似文献   

16.
17.
采用自顶向下的LL(1)语法分析技术,设计一个程序静态分析器,对源文法进行高级概念化抽象。可以从不同层次不同方面来得到源程序的设计意图,实现语言平台的无关性。系统不仅优于传统的分析工具,而且具有良好的通用性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

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