首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 62 毫秒
1.
近年来,软件开发模式逐渐从经验驱动的手工构造模式到知识驱动的自动生成模式进行转换,而在知识驱动的软件开发过程中,QA工具可以帮助开发人员更好地理解项目源代码。一般的,开发人员往往需要阅读大量文档、并对软件项目代码进行静态分析,利用某种形式化的查询方法才能获取软件项目的相关信息,这增加了软件开发的时间成本和学习成本。基于该问题,实现了一个基于本体的软件开发知识QA工具OKQA,OKQA可以支持开发人员的自然语言查询输入,帮助开发人员找到理解软件代码的相关答案,从而有效地指导开发人员理解及复用软件代码。  相似文献   

2.
互联网上已形成了规模巨大、种类丰富的开源软件资源。如何准确、快速地判断一个开源项目的各种可信属性是否满足需求是当前软件工程领域研究的热点。深入分析已有开源软件评估模型,总结互联网上软件质量相关的各种信息,提出了面向开源软件的可信评估证据框架,并基于该框架构建了一种开源软件可信证据查询平台。利用该平台能够极大地提高评估效率,用户可以准确、快速、全面地了解相关软件项目的各种信息。最后,以一个知名开源软件证实了该证据框架及证据查询平台的可行性。  相似文献   

3.
罗宇翔  邹艳珍  金庸  谢冰 《计算机科学》2015,42(12):23-25, 35
开源项目通常会提供邮件列表来帮助用户更好地理解和使用开源项目。但由于邮件的数量巨大、邮件内容组织繁杂、问题不明确、答案定位困难等问题,用户在邮件查询过程中定位一个特定的软件问答信息要花费大量的时间和精力。为此,提出一种基于邮件列表的软件问答信息抽取方法。该方法通过对邮件的简单分类与标注,实现自动的问题句抽取和答案邮件选取,从而提升了用户进行邮件列表查询以及开源软件项目学习的效率。最后,通过实验验证了该方法的有效性。  相似文献   

4.
软件复用是软件开发中避免重复劳动的解决方案。开源软件的源代码、邮件列表、缺陷报告和问答文档等软件资源中蕴含了规模庞大、结构复杂、语义关联丰富的软件知识。如何获取知识、组织知识,以及如何在软件复用过程中方便地检索软件知识是亟待解决的问题。为了解决这些问题,面向开源软件项目,构建了软件知识图谱,并提供了基于软件知识图谱的软件知识检索。主要工作包括:针对4种不同类型的软件资源,提出了软件知识实体的提取原则与方法;提出了软件知识实体之间关联关系构建的方法;实现了两种软件知识检索机制,并以文字列表和图形可视化相结合的方式展现检索结果;设计了软件知识图谱构建框架。基于上述工作,设计并实现了一个面向开源软件项目的软件知识图谱构建工具。实例证明,所构建的软件知识图谱可以更好地帮助软件开发人员进行软件知识的检索与应用。  相似文献   

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

6.
大型自由和开源软件进化研究   总被引:1,自引:0,他引:1  
郑巍 《计算机工程与设计》2008,29(11):2821-2823
大型自由和开源软件的各种版本源代码和相关开发信息是软件工程研究者研究开源软件项目的重要数据源.归纳开源软件项目的数据源及数据收集方法,给出Linux、FreeBSD操作系统内核的软件进化的分析方法和相关分析结果.重点分析了系统和主要子系统的复杂性进化趋势及推动进化主要原因,提出了快速测算大型开源软件复杂性的方法.得出系统目前以超线性方式进化,而进化的主要推动力是适应系统硬件资源的进化.  相似文献   

7.
随着开源概念的逐步深入,开源软件成为软件发展的潮流.同时,开源软件的使用受各类开源许可证约束.开源参与者在开发过程中该如何为自己的开源软件选择合适的许可证,确保高效合理地使用社区群体智慧劳动成果,仍是一个亟需解决的问题.为此,首先分析和解读了开放源代码促进会认证的常用开源许可证,通过对许可证条款内容和结构的研究,得到开源许可证框架及许可证兼容性推导模型,并将该模型应用于对我国自主研发的木兰宽松许可证的分析和解读.最后,基于上述工作研发了开源许可证选择工具,为开源开发者对许可证的理解和合规使用提供了参考和决策支持.  相似文献   

8.
理解软件代码的功能是软件复用的一个重要环节。基于主题建模技术的代码理解方法能够挖掘软件代码中潜在的主题,这些主题在一定程度上代表了软件代码所实现的功能。但是使用主题建模技术所挖掘出的代码主题有着语义模糊、难以理解的弊端。潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)技术是一种比较常用的主题建模技术, 其在软件代码主题挖掘领域已取得了较好的结果,但同样存在上述问题。为此,需要为主题生成解释性文本描述。基于LDA的软件代码主题摘要自动生成方法除了利用主题建模技术对源代码生成主题之外,还利用文档、问答信息等包含软件系统功能描述的各类软件资源挖掘出代码主题的描述文本并提取摘要,从而能够更好地帮助开发人员理解软件的功能。  相似文献   

9.
为克服阅读理解源代码的困难,根据现有的软件开发辅助工具的特点,对源代码导读和管理工具进行了深入的分析和研究.针对业界大量使用的Java语言,设计并实现了一个旨在以Java源代码导读为主、并具代码抽取等分析管理功能的交互式软件开发辅助工具Javigator.作为Eclipse的插件,能帮助开发人员快速地阅读理解Java源程序,并支撑对关注代码的快速测试及代码重用.Javigator使用灵活方便,可明显降低开发中理解及管理源代码的难度,提高开发的效率.  相似文献   

10.
在开源软件开发的维护阶段, 开源软件缺陷报告为开发人员解决缺陷提供了大量帮助。然而, 开源软件缺陷报告通常是以用户对话的形式编写, 一个软件缺陷报告可能含有数十条评论和上千个句子, 导致开发人员难以阅读或理解软件缺陷报告。为了缓解这个问题, 人们提出了开源软件缺陷报告自动摘要, 缺陷报告自动摘要可以减少开发人员阅读冗长缺陷报告的时间。本文以综述的方式对开源软件缺陷报告自动摘要的研究做了系统的归纳总结。首先, 根据摘要的表现形式, 将开源软件缺陷报告摘要分类为固定缺陷报告摘要和可视化缺陷报告摘要, 再将固定缺陷报告摘要研究方法分类为基于监督学习方法和基于无监督学习方法, 之后总结了基于监督学习和无监督学习的开源软件缺陷报告摘要生成的工作框架, 并介绍了开源软件缺陷报告摘要领域常用数据集、预处理技术和摘要评估指标。其次, 本文以无监督学习为切入点, 分类阐述和归纳了无监督开源软件缺陷报告摘要方法, 将无监督开源软件缺陷报告摘要方法分类为: 基于特征评分方法、基于深度学习方法、基于图方法和基于启发式方法, 并对每类方法进行讨论与分析。再次, 从缺陷报告摘要的实用性出发, 对现有的缺陷报告可视化摘要研究成果进行总结,并对固定缺陷报告摘要和可视化缺陷报告摘要的实用性做出分析。最后, 对现有研究成果及综述进行讨论和分析, 指出了开源软件缺陷报告摘要领域在缺陷报告数据集、抽取式摘要和黄金标准摘要三个方面面临的挑战和对未来研究的展望。  相似文献   

11.
随着高校计算机实验室的应用范围的不断扩大,本文对软件环境频繁更新对高校实验室管理人员造成的困难进行了分析,提出了一种软件虚拟化的软件部署方案,降低了实验室软件环境的部署次数,提高部署效率。  相似文献   

12.
基于软件总线技术的软件工程方法   总被引:12,自引:0,他引:12  
该文提出了软件总线的框架结构,并对软件总线的模块设计方案进行了论述。文章最后描述了基于软件总线的软件开发方法及其过程。  相似文献   

13.
一种软件部署冲突检测及其自动调整算法   总被引:1,自引:0,他引:1  
主要研究能够根据不同环境自动调整软件部署过程的软件智能部署问题.首先,介绍并分析现有软件部署工具,提出软件智能部署模型、软件智能部署的规范化描述.其次,介绍并分析软件部署过程中冲突检测以及自动调整方法.在此基础上,提出一种能够根据环境差异,自动调整软件部署过程的软件智能部署算法.最后对比并分析软件智能部署实际应用效果.  相似文献   

14.
Large object-oriented applications are structured over many packages. Packages are important but complex structural entities that are difficult to understand since they act as containers of classes, which can have many dependencies with other classes spread over multiple packages. However to be able to take decisions (e.g. refactoring and/or assessment decisions), maintainers face the challenges of managing (sorting, grouping) the massive amount of dependencies between classes spread over multiple packages. To help maintainers, there is a need for at the same time understanding, and quantifying, dependencies between classes as well as understanding how packages as containers of such classes depend on each other.In this paper, we present a visualization, named Package Blueprint, that reveals in detail package internal structure, as well as the dependencies between an observed package and its neighbors, at both package and class levels. Package blueprint aims at assisting maintainers in understanding package structure and dependencies, in particular when they focus on few packages and want to take refactoring decisions and/or to assess the structure of those packages. A package blueprint is a space filling matrix-based visualization, using two placement strategies that are enclosure and adjacency. Package blueprint is structured around the notion of surfaces that group classes and their dependencies by their packages (i.e., enclosure placement); whilst surfaces are placed next to their parent node which is the package under-analysis (i.e., adjacency placement). We present two views: one stressing how an observed package depends upon the rest of the system and another stressing how the system depends upon that package.To evaluate the contribution of package blueprint for understanding packages we performed an exploratory user study comparing package blueprint with an advanced IDE. The results show that users of package blueprint are faster in analyzing and assessing package structure. The results are proved statically significant and they show that package blueprint considerably improves the experience of standard browser users.  相似文献   

15.
软件体系结构层次的适应性度量技术研究   总被引:7,自引:0,他引:7  
高晖  张莉 《计算机科学》2008,35(4):259-264
软件适应特定变化的能力对软件开发和维护都具有重要的影响.软件适应性(Software Flexibility)是反映软件适应变化能力的一项重要质量特征.实践说明软件体系结构设计在很大程度上决定了软件的适应性.在软件体系结构层次上量化地度量软件适应性,有助于设计人员改善和比较软件体系结构的设计方案,并可以辅助设计人员评价软件体系结构的质量.本文首先定义了软件适应性的因素-准则-度量模型(FCM模型);然后在此基础上提出了一种利用变化影响图(CIG)对软件适应性进行度量的方法.  相似文献   

16.
对软件的两阶段失效与恢复模型进行了分析,基于特定失效概率求解最优恢复时间间隔,并利用半马尔可夫过程,得到特定失效概率下的平均恢复成本。为了将恢复成本降到更低,采用了嵌套的基于时间的软件恢复策略,同时考虑应用级和系统级的恢复,并求得了特定失效概率下的最大应用级恢复次数、恢复时间间隔序列以及最低年平均恢复成本。  相似文献   

17.
软件质量是当前软件工程领域的研究热点,各种各样的软件质量保证方法,为提高软件质量起到了积极的作用.但是在众多的软件质量保证方法中,基于软件文档的软件质量保证通常得不到应有的重视,导致软件质量受到严重的影响.本文分析了软件生存周期各阶段文档的特点,并提出相应的软件文档的管理策略.  相似文献   

18.
软件复用度量是软件复用技术中不可分割的一部分,在软件复用开发中占据重要地位。软件复用开发与传统的软件开发方式不同,从而影响到软件度量,因此需要新的软件复用度量方法,软件复用度量的研究已经引起学术界的广泛重视。本文是一篇软件复用度量综述,阐述了软件复用对度量的影响以及有关软件复用的度量。  相似文献   

19.
基础软件技术的发展趋势   总被引:1,自引:1,他引:0  
从分析基础软件的基本概念和特性出发,对基础软件的内容、需求、技术、产品等方面进行了系统论述。探讨了现有的主流开发技术及未来的发展趋势。通过分析现有部分国产软件系统在一些典型领域的应用,揭示我国基础软件发展的现状和难题,为现有国产基础软件产业的发展提供决策参考。  相似文献   

20.
软件移植测试过程的探讨   总被引:1,自引:0,他引:1  
分析了传统软件测试方法在软件移植过程中可能出现的问题,并在此基础上提出了在软件移植过程中软件测试的过程与框架.  相似文献   

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

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