首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 218 毫秒
1.
在异构网络环境中,数据实现高效、可靠与安全的分发,面临着不同的应用环境对操作系统、通信方式、网络协议以及服务质量( QoS)的多种要求。文中设计了一种基于DDS的,在异构网络通信中使用的数据分发系统。针对异构网络与DDS的特性,提出了异构网络数据分发系统的三层组织结构,并对每一层的具体内容,要实现的功能进行了研究。经过对异构网络中所传递的数据进行分析,结合OpenDDS本身的QoS策略推出该系统本身的QoS策略。最后,通过实验对该数据分发系统的网络延迟以及时延抖动进行了测试,表明了该系统能够有效满足异构网络之间的数据分发需求。  相似文献   

2.
设计并实现了基于SOA架构的信息分发平台,主要用于高扩展性的企业服务与高效率的信息共享。文中设计的信息分发系统采用面向服务的设计原则,分析异构网络信息共享问题,实现图片信息共享服务并通过插件实现客户端的功能扩展。通过研究异构网络信息分发的需求,分别对服务器端和客户端进行设计,并实现两者的高效结合。本系统可以作为云计算平台的实现模型,通过对客户端采用MVC的设计模式,提高了客户端的扩展性和灵活性,通过模块化设计降低了系统耦合度,本系统最大的特点就是可以通过平台的插件管理系统实现服务的实时扩充。  相似文献   

3.
设计并实现了基于SOA架构的信息分发平台,主要用于高扩展性的企业服务与高效率的信息共享。文中设计的信息分发系统采用面向服务的设计原则,分析异构网络信息共享问题,实现图片信息共享服务并通过插件实现客户端的功能扩展。通过研究异构网络信息分发的需求,分别对服务器端和客户端进行设计,并实现两者的高效结合。本系统可以作为云计算平台的实现模型,通过对客户端采用MVC的设计模式,提高了客户端的扩展性和灵活性,通过模块化设计降低了系统耦合度,本系统最大的特点就是可以通过平台的插件管理系统实现服务的实时扩充。  相似文献   

4.
《软件》2019,(5):8-15
在软件开发过程中,软件缺陷是不可避免的。在缺陷跟踪系统中,一个重要的问题是如何根据用户所提交的缺陷报告,进行缺陷的自动定位。本文在综合考虑缺陷报告与源代码文件结构相似性的基础上,进一步分析已修复缺陷报告、缺陷报告中的异常堆栈(StackTrace)信息对软件缺陷定位的作用,从而提高定位的精度。在Eclipse、AspectJ和SWT开源项目数据程序集上进行相关实验,并与Buglocator、BRTracer和BLUiR缺陷定位方法进行了比较分析,实验结果表明,本文方法能显著提高软件缺陷定位的精度。  相似文献   

5.
异构无线传感器网络中一种可扩展的代码分发技术   总被引:1,自引:0,他引:1  
代码分发一直是无线传感器网络研究的热点问题.目前的研究工作主要集中在同构场景下的代码分发,广播是这些研究工作中最常用的手段.而对于异构场景下的代码分发问题,研究工作则相对较少,传统的基于广播的方法很难直接适用.文中针对异构网络下的代码分发问题,把该问题归约为最小非叶节点MNN(minimum nonleaf nodes)Steiner树问题,并设计了一种基于多播的代码分发协议HSR(heterogeneous sensor networks scalable reprogramming protocol).该协议利用组件化的思想,为不同类型节点(或代码模块)建立了多棵最优代码分发多播树.并证明了在解决MNN问题时,HSR达到了理论最优近似率ln|R|(R为目标节点数),有效的降低了异构网络下代码分发过程中的通信开销和能耗.在此基础上,文中还设计了两种压缩编码机制:特殊路由日志机制SRL(special routinglog)和跳步受限的局部广播机制HLB(hops-restricted local broadcast),使得多播树的信息可以被无损压缩,增强了HSR协议的可扩展性.在实时性方面,提出了基于多播树的3阶段流水线调度方法,有效缓解了隐藏终端和干扰问题.仿真结果证明了协议的正确性和有效性.  相似文献   

6.
对于大型开源软件项目来说,用户提交了海量缺陷报告,人工分发缺陷时会出现大量的错误分配。提出OSDR(Open Software Developer Recommendation)方法通过计算新缺陷报告和历史缺陷报告之间的文本相似度,基于K最近邻算法得到相似度最高的K个历史缺陷报告及其对应的修复人列表,再基于频率和社交网络图的各项指标对开发者专业能力进行评价。从Mozilla Firefox缺陷库中采集真实实验数据,比较不同社交网络指标在推荐修复人时的准确率与召回率。结果表明,推荐性能最高的指标是频率和出度,其准确率大约在0.6左右;Betweenness和Closeness的推荐效果最差;度、入度以及PageRank推荐效果良好。  相似文献   

7.
快速数据分发在突发事件响应,军事领域等具有重要的应用。针对异构用户节点群体下快速数据分发问题,提出基于能力区分的拓扑构建和速率控制的网络编码组播协议CORE。CORE利用能力区分的自适应层次化拓扑构建鼓励节点提供高的上传带宽并优化系统范围吞吐率;利用直方图的方式对基于网络编码的数据传输进行流量控制,降低冗余数据的传输;基于分布式的速率控制实现Pareto最优的下载速率分配。实验结果表明CORE具有良好的可扩展性,能够充分利用异构节点的上传能力,提供区分的下载带宽分配,较高的数据传输吞吐率、低端到端网络延迟,能够提供异构网络环境下分发时间紧迫的数据分发服务。  相似文献   

8.
王燕  吴化尧  聂长海  徐家喜  尹震  钮鑫涛 《软件学报》2022,33(11):3983-4007
缺陷追踪是软件项目管理的一个重要环节,是保证现代大规模开源软件开发顺利进行并持续提高软件质量的必要手段.目前,大部分开源软件都使用开放的缺陷跟踪系统进行软件缺陷的管理.它允许用户向开发者提交系统故障(即defect类型缺陷)以及系统改进建议(即enhancement类型缺陷),但是这些用户的反馈所起的作用尚未得到充分研究.针对这一问题,对Firefox的缺陷跟踪系统进行实证研究,收集了2018年和2019年提交的19 474份Firefox Desktop以及3 057份Firefox for Android缺陷报告.在此基础上,对比分析了普通用户和核心开发者提交的缺陷在数量、严重性、组件分布、修复率、修复速度以及修复者上的差别,并调查了缺陷报告的撰写质量与缺陷处理结果和修复时间的关系.主要发现包括:(1)当前缺陷追踪系统中普通用户人数众多,但参与程度较浅,86%的用户只提交过一个缺陷,其中,高严重等级的缺陷不超过3%;(2)普通用户提交的缺陷主要分布在和用户交互相关的UI组件上(例如地址栏、音频/视频等),然而还有43%的缺陷由于缺乏充分描述信息而难以准确地定位到具体的关联组件;(3)在缺陷处理结果上,由于查重系统以及缺陷填报系统在设计上过于简单,致使普通用户提交的大量缺陷被处理为“无用”缺陷,缺陷修复率低于10%;(4)在缺陷修复流程上,由于普通用户难以准确、充分地描述缺陷,导致系统对其重视程度不足,普通用户提交缺陷的处理流程也比核心开发者提交的复杂,平均需要多花至少8天的时间进行修复.上述研究结果揭示了当前缺陷追踪系统在用户参与激励机制、缺陷自动查重以及缺陷报告填写智能辅助等方面的不足,能够为缺陷跟踪系统开发者和管理者改进系统、提高普通用户对开源软件的贡献提供参考.  相似文献   

9.
异构网络中多模终端业务流分发技术研究   总被引:4,自引:0,他引:4  
伴随着异构网络的迅猛发展,多模终端日益普及.当终端上有多种不同类型的会话业务流需要传输时,如何根据不同类型业务流的特点、不同网络的当前链路状况、通信费用、传输功耗等因素,在终端所接入的多个网络之间自动地、合理地分发业务流就成为一个非常重要的问题.文中提出了一套针对多模终端业务流分发问题的解决方案,包括支持业务流自动分发的多模终端框架结构及其包含的业务流分发算法.方案引入优先级的概念使得高等级的业务流在网络负载较重时具有使用网络的优先权,同时方案包含了一种权重自生成方法,为影响业务流分发决策的多个属性自动生成权重,减轻了用户负担,避免了由用户直接指定权重的困难.仿真实验的结果表明,文中方案能够根据当前各接入网络的链路状况、不同类型业务流的服务质量需求、传输功耗、通信成本等多个属性,自动为多模终端上运行的各条业务流选择合理的接入网络,同时方案在吞吐量、会话完成率等性能指标上也拥有显著改进.  相似文献   

10.
随着各种新的网络业务不断出现,网络处理器得到了日益广泛的应用。文章采用基于SystemC的系统设计方法,构建一个用于网络处理器体系结构建模的平台。这个平台由一个可扩展的异构资源库和一个体系结构构造器组成。设计者只需提交配置信息表,体系结构构造器就能自动生成模型实例,得到的模型可以方便地进行细化和性能评价。这种方法能够便捷地完成各种网络处理器的体系结构建模,便于网络处理器的优化设计。  相似文献   

11.
ContextBug report assignment, namely, to assign new bug reports to developers for timely and effective bug resolution, is crucial for software quality assurance. However, with the increasing size of software system, it is difficult to assign bugs to appropriate developers for bug managers.ObjectiveThis paper propose an approach, called KSAP (K-nearest-neighbor search and heterogeneous proximity), to improve automatic bug report assignment by using historical bug reports and heterogeneous network of bug repository.MethodWhen a new bug report was submitted to the bug repository, KSAP assigns developers for the bug report by using a two-phase procedure. The first phase is to search historically-resolved similar bug reports to the new bug report by K-nearest-neighbor (KNN) method. The second phase is to rank the developers who contributed to those similar bug reports by heterogeneous proximity.ResultsWe collected bug repositories of Mozilla, Eclipse, Apache Ant and Apache Tomcat6 projects to investigate the performance of the proposed KSAP approach. Experimental results demonstrate that KSAP can improve the recall of bug report assignment between 7.5–32.25% in comparison with the state of art techniques. When there is only a small number of developer collaborations on common bug reports, KSAP has shown its excellence over other sate of art techniques. When we tune the parameters of the number of historically-resolved similar bug reports (K) and the number of developers (Q) for recommendation, KSAP keeps its superiority steadily.ConclusionThis is the first paper to demonstrate how to automatically build heterogeneous network of a bug repository and extract meta-paths of developer collaborations from the heterogeneous network for bug report assignment.  相似文献   

12.
席圣渠  姚远  徐锋  吕建 《软件学报》2018,29(8):2322-2335
随着开源软件项目规模的不断增大,人工为缺陷报告分派合适的开发人员(缺陷分派)变得越来越困难.而不合适的缺陷分派往往会严重影响缺陷修复的效率,为此迫切需要一种缺陷分派辅助技术帮助项目管理者更好地完成缺陷分派任务.当前,大部分研究工作都基于缺陷报告文本以及相关元数据信息分析来刻画开发者的特征,忽略了对开发者活跃度的考虑,使得对具有相似特征的开发者进行缺陷报告分派预测时表现较差.本文提出了一个基于循环神经网络的深度学习模型DeepTriage,一方面利用双向循环网络加池化方法提取缺陷报告的文本特征,一方面利用单向循环网络提取特定时刻的开发者活跃度特征,并融合两者,利用已修复的缺陷报告进行监督学习.在Eclipse等四个不同的开源项目数据集上的实验结果表明,DeepTriage较同类工作在缺陷分派预测准确率上有显著提升.  相似文献   

13.
In practice, some bugs have more impact than others and thus deserve more immediate attention. Due to tight schedule and limited human resources, developers may not have enough time to inspect all bugs. Thus, they often concentrate on bugs that are highly impactful. In the literature, high-impact bugs are used to refer to the bugs which appear at unexpected time or locations and bring more unexpected effects (i.e., surprise bugs), or break pre-existing functionalities and destroy the user experience (i.e., breakage bugs). Unfortunately, identifying high-impact bugs from thousands of bug reports in a bug tracking system is not an easy feat. Thus, an automated technique that can identify high-impact bug reports can help developers to be aware of them early, rectify them quickly, and minimize the damages they cause. Considering that only a small proportion of bugs are high-impact bugs, the identification of high-impact bug reports is a difficult task. In this paper, we propose an approach to identify high-impact bug reports by leveraging imbalanced learning strategies. We investigate the effectiveness of various variants, each of which combines one particular imbalanced learning strategy and one particular classification algorithm. In particular, we choose four widely used strategies for dealing with imbalanced data and four state-of-the-art text classification algorithms to conduct experiments on four datasets from four different open source projects. We mainly perform an analytical study on two types of high-impact bugs, i.e., surprise bugs and breakage bugs. The results show that different variants have different performances, and the best performing variants SMOTE (synthetic minority over-sampling technique) + KNN (K-nearest neighbours) for surprise bug identification and RUS (random under-sampling) + NB (naive Bayes) for breakage bug identification outperform the F1-scores of the two state-of-the-art approaches by Thung et al. and Garcia and Shihab.  相似文献   

14.
软件缺陷在软件的开发和维护过程中是不可避免的,软件缺陷报告是软件维护过程中重要的缺陷描述文档,高质量的软件缺陷报告可以有效提高软件缺陷修复的效率.然而,由于存在许多开发人员、测试人员和用户与缺陷跟踪系统交互并提交软件缺陷报告,同一个软件缺陷可能被不同的人员报告,导致了大量重复的软件缺陷报告.重复的软件缺陷报告势必加重人工检测重复缺陷报告的工作量,并造成人力物力的浪费,降低了软件缺陷修复的效率.以系统文献调研的方式,对近年来国内外学者在重复软件缺陷报告检测领域的研究工作进行了系统的分析.主要从研究方法、数据集的选取、性能评价等方面具体分析总结,并提出该领域在后续研究中存在的问题、挑战以及建议.  相似文献   

15.
张天伦  陈荣  杨溪  祝宏玉 《软件学报》2019,30(5):1386-1406
在所有的软件系统开发过程中,Bug的存在是不可避免的问题.对于软件系统的开发者来说,修复Bug最有利的工具就是Bug报告.但是人工识别Bug报告会给开发人员带来新的负担,因此,自动对Bug报告进行分类是一项很有必要的工作.基于此,提出用基于极速学习机的方法来对Bug报告进行分类.具体而言,主要解决Bug报告自动分类的3个问题:第1个是Bug报告数据集里不同类别的样本数量不平衡问题;第2个是Bug报告数据集里被标注的样本不充足问题;第3个是Bug报告数据集总体样本量不充足问题.为了解决这3个问题,分别引入了基于代价的有监督分类方法、基于模糊度的半监督学习方法以及样本迁移方法.通过在多个Bug报告数据集上进行实验,验证了这些方法的可行性和有效性.  相似文献   

16.
Information Retrieval (IR) approaches, such as Latent Semantic Indexing (LSI) and Vector Space Model (VSM), are commonly applied to recover software traceability links. Recently, an approach based on developers’ eye gazes was proposed to retrieve traceability links. This paper presents a comparative study on IR and eye-gaze based approaches. In addition, it reports on the possibility of using eye gaze links as an alternative benchmark in comparison to commits. The study conducted asked developers to perform bug-localization tasks on the open source subject system JabRef. The iTrace environment, which is an eye tracking enabled Eclipse plugin, was used to collect eye gaze data. During the data collection phase, an eye tracker was used to gather the source code entities (SCE’s), developers looked at while solving these tasks. We present an algorithm that uses the collected gaze dataset to produce candidate traceability links related to the tasks. In the evaluation phase, we compared the results of our algorithm with the results of an IR technique, in two different contexts. In the first context, precision and recall metric values are reported for both IR and eye gaze approaches based on commits. In the second context, another set of developers were asked to rate the candidate links from each of the two techniques in terms of how useful they were in fixing the bugs. The eye gaze approach outperforms standard LSI and VSM approaches and reports a 55 % precision and 67 % recall on average for all tasks when compared to how the developers actually fixed the bug. In the second context, the usefulness results show that links generated by our algorithm were considered to be significantly more useful (to fix the bug) than those of the IR technique in a majority of tasks. We discuss the implications of this radically different method of deriving traceability links. Techniques for feature location/bug localization are commonly evaluated on benchmarks formed from commits as is done in the evaluation phase of this study. Although, commits are a reasonable source, they only capture entities that were eventually changed to fix a bug or resolve a feature. We investigate another type of benchmark based on eye tracking data, namely links generated from the bug-localization tasks given to the developers in the data collection phase. The source code entities relevant to subjected bugs recommended from IR methods are evaluated on both commits and links generated from eye gaze. The results of the benchmarking phase show that the use of eye tracking could form an effective (complementary) benchmark and add another interesting perspective in the evaluation of bug-localization techniques.  相似文献   

17.
Fixing software bug is part of the daily work routine in software engineering which requires collaboration and thus has been explored as a core CSCW domain, since the early inception of the research field. In this paper, we explore the use of chat technology in software engineering by analyzing the coordination between client and vendor in a large government software project in Brazil (Gov-IT). We collected our empirical material through face-to-face and online interviews, site and chat forums observations. Looking closely at the bug fixing activities within Gov-IT, we find that the client and the vendor use chat technology to coordinate their cooperative work by enabling the participants to monitor the availability of developers and the urgency of detecting bugs synchronously. This way, the chat technology made it possible for the client to report bugs and developers to resolve bugs in a timely manner. Moreover, the chat technology enabled the participants to request and share artefacts synchronously, making it possible to analyze and understand the contextual nature surrounding bugs faster than using the bug tracking system. Finally, the chat technology enabled participants in enacting commitment and interdependence across vendor and client, creating cooperative situations of mutual dependence. Our results suggest that we, as CSCW designers, must rethink the design of bug tracking systems and find new ways to re-configure systems, so they support the coordinative practices involved in detecting, analyzing, and resolving critical and severe software bugs synchronously.  相似文献   

18.
陈理国  刘超 《软件学报》2014,25(6):1169-1179
在软件系统中,缺陷定位是缺陷修复的一个关键环节,如果能将缺陷自动定位到很小的范围,将会极大地降低缺陷修复的难度.基于高斯过程提出了一种缺陷定位方法(GPBL),即针对每个缺陷,向开发人员推荐这个缺陷可能存在于哪些源文件中,从而帮助开发人员快速修复缺陷.为了验证方法的有效性,采集了开源软件Eclipse 和Argouml 中的数据,实验结果表明,高斯过程缺陷定位的查全率和查准率平均分别为87.16%和78.90%.与基于LDA的缺陷定位方法进行比较,表明高斯过程更能准确定位缺陷的位置.  相似文献   

19.
Software crashes are severe manifestations of software bugs. Debugging crashing bugs is tedious and time-consuming. Understanding software changes that induce a crashing bug can provide useful contextual information for bug fixing and is highly demanded by developers. Locating the bug inducing changes is also useful for automatic program repair, since it narrows down the root causes and reduces the search space of bug fix location. However, currently there are no systematic studies on locating the software changes to a source code repository that induce a crashing bug reflected by a bucket of crash reports. To tackle this problem, we first conducted an empirical study on characterizing the bug inducing changes for crashing bugs (denoted as crash-inducing changes). We also propose ChangeLocator, a method to automatically locate crash-inducing changes for a given bucket of crash reports. We base our approach on a learning model that uses features originated from our empirical study and train the model using the data from the historical fixed crashes. We evaluated ChangeLocator with six release versions of Netbeans project. The results show that it can locate the crash-inducing changes for 44.7%, 68.5%, and 74.5% of the bugs by examining only top 1, 5 and 10 changes in the recommended list, respectively. It significantly outperforms the existing state-of-the-art approach.  相似文献   

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

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