首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 171 毫秒
1.
沈琦  钱莹  邹艳珍  伍仕骏  谢冰 《软件学报》2021,32(4):1023-1038
在软件复用过程中,简洁清楚的软件功能自然语言描述是帮助复用者快速了解待复用软件项目/代码库的前提和基础.但当前开源软件往往缺乏高质量的软件功能说明文档,使得这一过程变得更加复杂和困难.为此,本文提出了一种融合代码与文档的软件功能特征挖掘方法.该方法以动宾短语的形式描述软件功能特征,通过迭代挖掘软件源代码和以Stack Overflow讨论帖为代表的软件文档,自动提取开源软件的功能特征描述,并构造了层次化的软件功能特征视图.在针对多个开源软件项目的实验中,本文方法可覆盖官方文档中列举的95.38%的软件功能.挖掘结果中语句和功能特征的准确率分别达到了93.78%和92.57%.对比现有工作TaskNav和APITasks,本文方法在平均准确率上分别提升了28.78%和11.56%.  相似文献   

2.
林泽琦  邹艳珍  赵俊峰  曹英魁  谢冰 《软件学报》2019,30(12):3714-3729
自然语言文本形式的文档是软件项目的重要组成部分.如何帮助开发者在大量文档中进行高效、准确的信息定位,是软件复用领域中的一个重要研究问题.提出了一种基于代码结构知识的软件文档语义搜索方法.该方法从软件项目的源代码中解析出代码结构图,并以此作为领域特定的知识来帮助机器理解自然语言文本的语义.这一语义信息与信息检索技术相结合,从而实现了对软件文档的语义检索.在StackOverflow问答文档数据集上的实验表明,与多种文本检索方法相比,该方法在平均准确率(mean average precision,简称MAP)上可以取得至少13.77%的提升.  相似文献   

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

4.
高效地开发软件界面是提高整个软件开发效率的关键.为了提升界面开发效率、降低软件开发成本,针对B/S结构的系统,提出了基于XML Schema的Web界面生成方法.根据FDP模型生成XML Schema界面描述文档,将Schema文档组织成文档库;同时建立样式模板库,对它们统一管理实现文档复用.通过XML Schema-to-HTML转换方法,实现了由界面描述文档自动生成Web界面,并利用XML Schema对界面输入数据直接验证.该方法可以较规范地描述界面,提升界面开发效率,并实现界面生成与界面验证的集成.  相似文献   

5.
在对服务组装需求分析的研究过程中,提出一种新的基于XML的从软件模型到程序流程的映射机制.利用XML(schema)对服务组装规约进行形式化描述,采用数据绑定技术对XML文档描述的软件模型进行解析,最后通过映射生成程序流程.实例证明了该技术的可行性.  相似文献   

6.
李润洲 《福建电脑》2007,(3):154-155
针对软件项目文档在实际使用过程中所存在的问题,本文提出了一种将软件工程过程中提交的各类文档进行统一组织的框架模型;阐述了基于XML组织文档内容的录入与查阅方法的设计与实现.  相似文献   

7.
在开发类社交平台上针对特定软件项目的讨论中往往蕴含着许多潜在的软件需求,针对Git Hub中的Issues模块数据尝试对其进行安全性需求挖掘。通过抓取特定软件项目Issues中带有安全相关标签的讨论数据形成初选数据集,借助实体识别方法对句子中包含的连接实体进行识别,提取出用户需求,提出一种Cre US用户故事生成方法,将提取到的用户需求以用户故事的形式表示出来。实验结果表明,该方法生成的用户故事集可以有效支持项目开发,对于需求发现起到重要的辅助作用。  相似文献   

8.
一种基于分布式数据库的关联规则挖掘新算法   总被引:1,自引:0,他引:1  
分布式系统下关联规则挖掘算法的挖掘效率取决于频繁项目集的确定和网络各站点间的通讯量.为提高频繁项目集的生成效率.提出了关系数据库下一种新的数据预处理方法以及一种基于数组形式的频繁项目集生成算法.新的数据预处理方法可以降低候选项目集的数量,基于二进制的数组只需进行逻辑与运算便可生成频繁项目集,将该算法结合星型网络结构下的分布式挖掘算法 SDMA 应用于实验挖掘,理论分析与实验结果表明,算法提高了挖掘效率,是可行的.  相似文献   

9.
代码复用是重要的软件复用方式之一,复用者需要理解软件代码实现的功能方能有效实施软件复用。基于主题建模技术的程序理解方法逐渐受到研究人员的重视,它能够帮助软件开发者和使用者更好地理解软件的功能。目前,基于主题建模技术的程序理解方法一般欠缺对挖掘出的Topic的语义分析,为此提出的基于代码静态分析和LDA技术的代码功能挖掘(Code Function Mining,CFM)方法可作为对这类方法的补充。CFM是一套以代码为研究对象的挖掘、筛选、组织和描述主题(Topic)的方法,该方法能够生成带描述的功能型Topic的层次结构,以供使用者更清晰和方便地浏览、学习软件的功能。功能型Topic的描述能够帮助复用者理解代码功能,其层次结构能够让复用者从不同抽象层次理解代码功能。CFM方法包括4个部分:挖掘Topic、筛选Topic、组织Topic、描述Topic。以CFM方法为基础,设计并实现了一个CFM工具。CFM工具能够分析用户提交的代码,通过Web页面向用户展示带描述的功能型Topic的层次结构。最后,对CFM方法中的几个关键算法进行实验分析,验证了CFM方法的有效性。  相似文献   

10.
《计算机工程》2017,(7):48-53
由于缺少面向列车车载控制软件的需求分析工具,需求分析人员难以自动分析出预期数据。针对该问题,提出基于模型抽取的需求分析方法,设计控制软件需求分析工具。通过抽取需求描述文档中的需求条目建立可执行模型,使用数据流方法对其进行分析,得到变量影响关系图和状态迁移图,利用动态分析获得以需求描述文档为依据的预期输出数据,并将其与软件的真实运行输出数据进行对比,生成控制软件的可视化分析报告。实验结果表明,该方法可以帮助需求分析人员快速发现软件实现错误,为列车安全运行提供保障。  相似文献   

11.
Traditionally, computer and software applications have been used by economists to off-load otherwise complex or tedious tasks onto technology, freeing up time and intellect to address other, intellectually more rewarding, aspects of research. On the negative side, this increasing dependence on computers has resulted in research that has become increasingly difficult to replicate. In this paper, we propose some basic standards to improve the production and reporting of computational results in economics for the purpose of accuracy and reproducibility. In particular, we make recommendations on four aspects of the process: computational practice, published reporting, supporting documentation, and visualization. Also, we reflect on current developments in the practice of computing and visualization, such as integrated dynamic electronic documents, distributed computing systems, open source software, and their potential usefulness in making computational and empirical research in economics more easily reproducible.   相似文献   

12.
Documenting software architecture rationale is essential to reuse and evaluate architectures, and several modeling and documentation guidelines have been proposed in the literature. However, in practice creating and updating these documents rarely is a primary activity in most software projects, and rationale remains hidden in casual and semi-structured records, such as e-mails, meeting notes, wikis, and specialized documents. This paper describes the TREx (Toeska Rationale Extraction) approach to recover, represent and explore rationale information from text documents, combining: (1) pattern-based information extraction to recover rationale; (2) ontology-based representation of rationale and architectural concepts; and (3) facet-based interactive exploration of rationale. Initial results from TREx’s application suggest that some kinds of architecture rationale can be semi-automatically extracted from a project’s unstructured text documents, namely decisions, alternatives and requirements. The approach and some tools are illustrated with a case study of rationale recovery for a financial securities settlement system.  相似文献   

13.
The purpose of documentation is to describe software systems and software processes. Consistent, correct and complete documentation of a software system is an important vehicle for the maintainer to gain its understanding, to ease its learning and/or relearning processes, and to make the system more maintainable. Poor system documentation, on the other hand, is the primary reason for quick software system quality degradation and ageing. Proper process documentation records the process, its stages and tasks, executing roles, their decisions and motivations, and the results of each individual process task. It is extremely important for achieving insight and visibility into the processes, important for their meaningful process measurement and thereby pivotal for achieving high process maturity. In this paper, we report on the results of an explorative study in which we have identified a number of rudimentary documentation requirements relevant within corrective maintenance, and found out how they were implemented within eighteen software organizations in Sweden. The goal was to examine the industrial documentation practice within corrective maintenance. Our results show that the documentation within corrective maintenance is still a very neglected issue within the organisations studied. None of our organisations has fully implemented all our documentation requirements.  相似文献   

14.
ContextSoftware documentation is an integral part of any software development process. However, software practitioners are often concerned about the value, degree of usage and usefulness of documentation during development and maintenance.ObjectiveMotivated by the needs of NovAtel Inc. (NovAtel), a world-leading company developing software systems in support of global navigation satellite systems, and based on the results of a former systematic mapping study, we aimed at better understanding of the usage and the usefulness of various technical documents during software development and maintenance.MethodWe utilized the results of a former systematic mapping study and performed an industrial case study at NovAtel. From the joint definition of the analysis goals, the research method incorporates qualitative and quantitative analysis of 55 documents (design, test and process related) and 1630 of their revisions. In addition, we conducted a survey on the usage and usefulness of documents. A total of 25 staff members from the industrial partner, all having a medium to high level of experience, participated in the survey.ResultsIn the context of the case study, a number of findings were derived. They include that (1) technical documentation was consulted least frequently for maintenance purpose and most frequently as an information source for development, (2) source code was considered most frequently as the preferred information source during software maintenance, (3) there is no significant difference between the usage of various documentation types during both development and maintenance, and (4) initial hypotheses stating that up-to-date information, accuracy and preciseness have the highest impact on usefulness of technical documentation.ConclusionsIt is concluded that the usage of documentation differs for various purposes and it depends on the type of the information needs as well as the tasks to be completed (e.g., development and maintenance). The results have been confirmed to be helpful for the company under study, and the firm is currently implementing some of the recommendations given.  相似文献   

15.
16.
Software product line engineering is a paradigm that advocates the reusability of software engineering assets and the rapid development of new applications for a target domain. These objectives are achieved by capturing the commonalities and variabilities between the applications of the target domain and through the development of comprehensive and variability-covering feature models. The feature models developed within the software product line development process need to cover the relevant features and aspects of the target domain. In other words, the feature models should be elaborate representations of the feature space of that domain. Given that feature models, i.e., software product line feature models, are developed mostly by domain analysts by sifting through domain documentation, corporate records and transcribed interviews, the process is a cumbersome and error-prone one. In this paper, we propose a decision support platform that assists domain analysts throughout the domain engineering lifecycle by: (1) automatically performing natural language processing tasks over domain documents and identifying important information for the domain analysts such as the features and integrity constraints that exist in the domain documents; (2) providing a collaboration platform around the domain documents such that multiple domain analysts can collaborate with each other during the process using a Wiki; (3) formulating semantic links between domain terminology with external widely used ontologies such as WordNet in order to disambiguate the terms used in domain documents; and (4) developing traceability links between the unstructured information available in the domain documents and their formal counterparts within the formal feature model representations. Results obtained from our controlled experimentations show that the decision support platform is effective in increasing the performance of the domain analysts during the domain engineering lifecycle in terms of both the coverage and accuracy measures.  相似文献   

17.
提出一种从科技文献等文档中自动抽取元数据的方法,将自动归纳法和相似特征度算法结合起来,基于特征相似的归纳学习算法自动生成抽取规则,并对文档进行元数据的自动抽取。这种方法利用文档自身某些特有属性,对文档的内容进行分块,利用归纳法自动生成抽取规则,并结合特征相似度对生成规则进行匹配,然后对文档元数据信息进行自动抽取,提高了自动生成规则的效率和抽取元数据信息的准确率。  相似文献   

18.
潘兴禄  刘陈晓  王敏  邹艳珍  王涛  谢冰 《软件学报》2023,34(9):4114-4131
软件代码注释生成是软件工程领域近期研究的一个重要问题.目前很多研究工作已经在包含大量<代码片段,注释语句>对的开源数据集上取得了较好效果.但在企业应用中,待注释的代码往往是一个软件项目库,其必须首先决策在哪些代码行上生成注释更好,而且待注释的代码片段大小、粒度各不相同,需要研究提出一种注释决策和生成一体化的、抗噪音的代码注释生成方法.针对这个问题,提出一个面向软件项目的代码自动注释生成方法CoComment.所提方法能够自动抽取软件项目文档中的领域基本概念,并基于代码解析与文本匹配进行概念传播和扩展.在此基础上,通过定位概念相关的代码行/段进行自动注释决策,最终利用模板融合概念和上下文生成具有高可读性的自然语言代码注释.目前CoComment已经在3个企业软件项目、超过4.6万条人工代码注释数据上进行了对比试验.结果表明,所提方法不仅能够有效地进行代码注释决策,其注释内容与现有方法相比也能够提供更多有益于理解代码的信息,从而为软件项目代码的注释决策和注释生成问题提供了一种一体化的解决方案.  相似文献   

19.
Modern Software Engineering (SE) is characterized by the use of several models that establish and show the different states a software product goes through, from its initial conception to its end, passing across its development, setup and maintenance among others. Each phase produces a set of deliverables following different documentation standards, but in many cases, natural language text is a key aspect in the elaboration of such documents. This work surveys the state of the art in the application of text mining techniques to architectural software design, starting from the role of text documents during development phases, specifically the kind of text documents that can be subsequently exploited to assist architects in the complex task of designing software. Intelligent text analysis techniques utilized in software engineering tasks across the software life-cycle are detailed in order to analyze works focused on automatically bridging the gap between requirements and software architectures.  相似文献   

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

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