共查询到20条相似文献,搜索用时 46 毫秒
1.
软件过程产品间可追溯关联挖掘对软件维护及需求跟踪等众多领域至关重要。基于此,提出一种基于潜在语义索引提取程序代码和中文文档关联信息的方法,该方法是对向量空间模型的改进,通过分析文本间隐含的语义结构来确定关联度,而不依赖于词项的匹配。实验结果表明,该方法不依赖于代码和文档预先定义的同义词库和知识库,并能一定程度上提高查全率和查准率。 相似文献
2.
神经网络在软件工程中的应用极大程度上缓解了传统的人工提取代码特征的压力.已有的研究往往将代码简化为自然语言或者依赖专家的领域知识来提取代码特征,简化为自然语言的处理方法过于简单,容易造成信息丢失,而引入专家制定启发式规则的模型往往过于复杂,可拓展性以及普适性不强.鉴于以上问题,提出了一种基于卷积和循环神经网络的自动代码... 相似文献
3.
在软件的开发和维护过程中,与代码对应的注释经常存在缺失、不足或者与代码实际内容不匹配等问题,但手工编写代码注释对开发人员来说费时费力,且注释质量难以保证,因此亟需研究人员提出有效的代码注释自动生成方法.代码注释自动生成问题是当前程序理解研究领域的一个研究热点,对该问题进行了系统综述.主要将已有的自动生成方法细分为3类:... 相似文献
4.
“摘要”、“关键词”是对文档内容提供简要概括的元数据,在Web信息检索中起着重要作用。针对Web信息检索的需求和Web文档的特点,采用拟人思维,提出了一种以篇章结构为指导的自动摘要方法。该方法对段落之间的内容语义关系进行分析,进而划分出文档的主题层次,得到文档的篇章结构;在篇章结构的指导下,使用统计方法和启发式规则来提取文档的关键词、关键句,生成文档的摘要。在实验评估中,该方法取得了令人满意的摘要质量和速度。 相似文献
5.
在开发过程中,开发人员在进行缺陷修复、版本更新时,常常需要修改多处相似的代码.如何进行自动代码修改已成为软件工程领域的热点研究问题.一种行之有效的方式是:给定一组代码修改示例,通过抽取其中的代码修改模式,辅助相似代码进行自动转换.在现有工作中,基于深度学习的方法取得了一定进展,但在捕获代码间的长程信息依赖关系时,效果不... 相似文献
6.
精简二进制代码形式的软件是软件分析和程序理解需要处理的一类具有代表性的对象,基于高级语言源代码和调试符号信息的传统分析方法在处理此类软件时受到了极大限制。提出一种精简二进制形式软件的理解方法,首先将分析对象转变为运行期进程,引入实际运行中的进程信息;然后引入程序的行为特征,以程序表现出的外在行为和对外接口作为辅助信息,将此类外部特征映射到程序代码;最后基于切片思想和调试技术,获得程序切片并分析。这种方法为分析理解过程扩展了信息量,降低了复杂度,解决了分析此类软件时信息缺失和难以建立理解模型的问题。 相似文献
7.
本文介绍了一种算法能将源程序代码自动转换成其程序流程图,在软件单元测试阶段,用来检测编码与详细设计的不一致性,从而及时发现并纠正潜在的错误,提高了软件的可靠性,实距表明本算法是有效的。 相似文献
8.
<正> 通常的检索引擎将用户检索的结果表现为一个按照相关度排序的列表,这里的相关度指所检索的文档与用户问题之间的相似度。这种排序的机制仅仅能够在用户可以将想要查询内容很好地定义出来的情况下才能发挥良好的功效,这个条件往往只适用于一些专业人员,在真实的情况下,70%的Web用户会将其所查询的问题浓缩到一或两个单词中,在这种条件下,检索引擎很难找到用户真正感兴趣的内容,当用户对其所检索的领域 相似文献
9.
传统程序生成器,只能辅助程序开发,不能有效地辅助程序维护,本文提出了一种自动维护生成程序的方法,可指导开发程序自动生成/维护工具,并以此工具为基础,完成程序的自动生成与自动维护工作,从而大大提高软件系统的维护效率。 相似文献
10.
软件文档和源代码之间的可追踪性研究广泛使用了信息检索(IR)技术,但由于中文文档和源代码用不同的语言书写,使用传统IR技术进行自动跟踪时会导致精度不高。针对上述问题,提出一种基于版本控制的中文文档到源代码的自动跟踪方法。首先,结合文本到源代码的启发式规则,采用IR方法计算出文本和源代码之间的相似度得分;然后,使用软件开发和维护过程中提交到版本控制软件的更新信息来修正该分数;最后,根据设定的阈值确定中文文档与源代码之间的跟踪关系。实验结果表明,改进方法的精确度和召回率相比传统IR方法均有一定的提高,并且该方法能提取出传统IR方法中遗漏的跟踪关系。 相似文献
11.
如果软件源程序中的一个代码段和同一程序中的另一个代码段在结构或语义上类似,这些代码段就成了代码克隆.概述代码克隆存在的各种形式,分析代码克隆产生的原因,并在概括了代码克隆检测的一般过程以后进一步阐述两类代码克隆检测方法:基于语义抽象树的检测方法和基于Token序列的检测方法. 相似文献
13.
Traceability ensures that software artifacts of subsequent phases of the development cycle are consistent. Few works have so far addressed the problem of automatically recovering traceability links between object-oriented (OO) design and code entities. Such a recovery process is required whenever there is no explicit support of traceability from the development process. The recovered information can drive the evolution of the available design so that it corresponds to the code, thus providing a still useful and updated high-level view of the system. Automatic recovery of traceability links can be achieved by determining the similarity of paired elements from design and code. The choice of the properties involved in the similarity computation is crucial for the success of the recovery process. In fact, design and code objects are complex artifacts with several properties attached. The basic anchors of the recovered traceability links should be chosen as those properties (or property combinations) which are expected to be maintained during the transformation of design into code. This may depend on specific practices and/or the development environment, which should therefore be properly accounted for. In this paper different categories of basic properties of design and code entities will be analyzed with respect to the contribution they give to traceability recovery. Several industrial software components will be employed as a benchmark on which the performances of the alternatives are measured. 相似文献
14.
This paper addresses the problem of visualizing program dependencies (i.e. entities and their relations). A code visualization tool that maintains a repository of structural and functional dependencies for C programs is described. Visualization of such dependencies is accomplished by using a presentation model which combines data and control flow information. Moreover, transformation mechanisms and partitioning techniques used by the tool provide the means for managing large graphical representations. The quantitative results from an experimental study using this tool indicate that the productivity of its users was increased and that the quality of changes made during a program modification exercise was improved. Furthermore, the qualitative results have shown that its presentation model, transformation mechanisms and partitioning techniques constitute a promising platform for the comprehension and maintenance of C programs. Finally, the outcome of an empirical evaluation of the tool and the enhancement of its functionality and user interface are also discussed in this paper. 相似文献
15.
可复用软构件检索是构件库和软件复用领域的研究重点.基于刻面分类模式,将构件的刻面描述和查询表达式分别映射成两棵树,利用构件信息集成方式在集成端数据库借鉴树匹配思想进行检索,有效地提高了查全率和查准率. 相似文献
16.
Program design languages are an increasingly important method of expressing the detailed design of a software system. Such languages can be modelled using a data structure known as a semantic net. This paper describes a maintenance tool for program design languages based on such a data structure. The tool allows the user to interrogate a semantic net using an interactive procedural language in order to derive information necessary for software maintenance. The technique upon which this tool is based is applicable to the maintenance of activities throughout the software lifecycle. 相似文献
17.
The maintenance or re-engineering of a program usually begins with considerable effort in understanding the program structure. In this paper, an interactive tool for understanding the structure of non-object-oriented programs, known as the Object Finder, is presented. The structure of a program is defined in terms of the groupings of routines and data into modules within the program and the hierarchical relationships among the modules. The Object Finder incorporates two complementary approaches, one being top-down and the other bottom-up, to assist the software engineer in understanding the structure of a program based on the object-like features found in the program. In the top-down approach, the user obtains an overall understanding of the entire program as a collection of hierarchically organized objects. In the bottom-up approach, the user obtains a view of the information which is closely related to the components under examination. In both approaches, two methods are used to identify the objects in a program written in a non-object-oriented programming language. These methods identify sets of objects based on the data bindings and on the type bindings found in a program. An object is considered as a collection of routines, types, and/or data items of the program. The Object Finder combines the top-down and bottom-up approaches while using human input to guide the object identification process. Two examples of using this Object Finder are also presented to demonstrate the capabilities of the approaches to assist the software engineer in attaining a high-level understanding of the program structure. 相似文献
18.
中文信息的标引是国内信息导航系统实现的基础,汉语分词和语义提取是目前尚未解决的难题。本文比较了信息检索系统中目前主要使用的标引方法,根据国内信息导航系统处理对象的“中文”特征,提出了关键词标引与全文标引相结合的混合标引方法,并给出了具体的实现方法,较好地解决了查全、查准和标引空间的增长问题。文中最后也给出了中文信息标引处理后入库的数据的检索方法。 相似文献
19.
软件缺陷是软件失效的源头,是影响软件可靠性的重要因素。简述了几种典型的软件缺陷分类方法,结合C++语言,提出了面向程序代码的软件缺陷分类法。采用程序变异方法模拟各类软件缺陷,通过实验,归纳并总结了不同类型的软件缺陷对软件可靠性的影响。 相似文献
20.
本文讨论一种从结构化源程序导出PAD图的方法,该方法可用于程序理解和维护,以求有效地保持PAD文档与结构化源程序之间的一致。 相似文献
|