删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于图嵌入的软件项目源代码检索方法

本站小编 Free考研考试/2022-01-02

摘要:源代码检索是软件工程领域的一项重要研究问题,其主要任务是检索和复用软件项目API(application program interface,应用程序接口).随着软件项目的规模越来越大、越来越复杂,当前,源代码检索一方面需要提高基于自然语言API查询的准确性,另一方面需要定位和展示目标API及其相关代码之间的关联,以更好地辅助用户理解API的实现逻辑和使用场景.为此,提出一种基于图嵌入的软件项目源代码检索方法.该方法能够基于软件项目源代码自动构建其代码结构图,并通过图嵌入对源代码进行信息表示.在此基础上,用户可以输入自然语言问题、检索并返回相关的API及其关联信息构成的连通代码子图,从而提高API检索和复用的效率.在以开源项目Apache Lucene和POI为例的检索实验中,该方法检索结果的F1值比现有基于最短路径的方法提高了10%,同时显著缩短了平均响应时间.



Abstract:Searching software source code and locating software's API (application program interface) are important research issues in software engineering. As software projects are becoming more and more complex, existing search tools mainly face the following two challenges. First, more accurate search results are required in natural language question based search process. Second, the relationships between API are required to illustrate so that these API' underlying logic and usage scenarios are able to be understood more quickly. In this study, an ovel approach is proposed to searching a software project's API based on graph embedding. It aims to improve the accuracy of natural language based code graph search. A software project's code graph is built automatically from its source code and they are represented through graph embedding. For a natural language question, a code-connected subgraph, composed by relevant API and their associated relationships, are returned as the best answer. In experiments, Apache Lucene and POI projects are selected as examples to perform some API search tasks. Experimental results show that the proposed approach improves F1-score by 10% than existing shortest path based approach, while reduces average response time significantly.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/5721
相关话题/软件 代码 信息 逻辑 实验

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 企业级海量代码的检索与管理技术
    摘要:在大型IT企业中,尤其像Google或者百度,代码搜索已是软件开发过程中不可或缺且频繁的活动,其通过借鉴或复用已有代码,加速开发过程的速度.多年以来,已有大量的研究人员关注代码搜索,且设计出很多优秀的工具.但是已有的研究和工具主要是在小规模或者编程语言单一的代码数据集上,没有从企业实际搜索需求 ...
    本站小编 Free考研考试 2022-01-02
  • 软件开发活动数据的数据质量问题
    摘要:问题追踪系统和版本控制系统等软件开发支持工具已被广泛应用于开源和商业软件的开发中,产生了大量的数据,即软件开发活动数据.软件开发活动数据被广泛应用于科学研究和开发实践,为智能化开发提供支持.然而数据质量对相关的研究和实践有重大影响,却还没有得到足够的重视.为了能够更好地警示数据使用者潜在的数据 ...
    本站小编 Free考研考试 2022-01-02
  • 代码克隆检测研究进展
    摘要:代码克隆(codeclone),是指存在于代码库中两个及以上相同或者相似的源代码片段.代码克隆相关问题是软件工程领域研究的重要课题.代码克隆是软件开发中的常见现象,它能够提高效率,产生一定的正面效益.但是研究表明,代码克隆也会对软件系统的开发、维护产生负面的影响,包括降低软件稳定性,造成代码库 ...
    本站小编 Free考研考试 2022-01-02
  • 基于角色发现的动态信息网络结构演化分析
    摘要:动态信息网络是当前复杂网络领域中极具挑战的新问题之一,对其动态的演化过程进行研究,有助于分析网络结构、理解网络特性、发现网络中潜在的信息及演化规律,具有重要的理论意义与应用价值.基于网络结构本身量化表示的复杂性以及网络演化时序、复杂、多变的挑战,使用角色来量化动态网络的结构,并对模型进行分析, ...
    本站小编 Free考研考试 2022-01-02
  • 方法级别的细粒度软件缺陷定位方法
    摘要:当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高 ...
    本站小编 Free考研考试 2022-01-02
  • 软件学科发展回顾特刊前言
    摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/5653 ...
    本站小编 Free考研考试 2022-01-02
  • 系统软件新洞察
    摘要:系统软件是计算学科的基本概念之一,从系统软件的本质特征、时代特点和发展趋势这3个方面给出了关于系统软件的新洞察.洞察1认为,通用图灵机和存储程序思想是系统软件的理论源头和技术源头,其本质特征是"操纵计算系统执行",编码加载和执行管控是两种主要的操纵方式.洞察2认为,系统软件在互联网时代的时代特 ...
    本站小编 Free考研考试 2022-01-02
  • 软件开发方法发展回顾与展望
    摘要:软件是信息化社会的基础设施,而构造并运用软件的能力成为一种核心竞争力.软件开发方法凝结了系统化的软件构造过程和技术.简要回顾了50年来软件开发方法发展历程中具有重要影响的里程碑,包括基于结构化程序设计和模块化开发的基本方法、面向对象方法、软件复用与构件化方法、面向方面的方法、模型驱动的方法,以 ...
    本站小编 Free考研考试 2022-01-02
  • 软件过程与管理方法综述
    摘要:工程化软件开发需要对软件开发整个过程进行有效的组织和管理,由此产生了一系列软件开发组织和管理方法,其主要目的是形成一种载体,用以积累和传递关于软件开发的经验教训.然而,由于软件开发的一些天然特性(比如复杂性和不可见性)的存在,使得描述软件开发过程的软件开发与组织方法也天然地带着一定的抽象性.由 ...
    本站小编 Free考研考试 2022-01-02
  • 融合多维信息的主题自适应Web API推荐方法
    摘要:如何根据用户的自然语言需求描述自动生成或推荐用于解决问题的WebAPI服务集合,并辅助构建Mashup,是业务流程管理者和服务组合者关注的热点之一.如何提高推荐的质量,是大家关注的焦点.为此,提出了一种融合多维信息的主题自适应WebAPI推荐方法HDP-FM(hierarchicalDiric ...
    本站小编 Free考研考试 2022-01-02