首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 62 毫秒
1.
根据开发者的历史开发信息,推荐潜在合作对象或能够胜任的任务,对于减少开发延时,提高团队开发效率有极大的促进作用.大量已有工作主要研究单个开源项目开发者社区,通过确定开发者的个人技能实施推荐.然而,以整个开源社区为视角,研究使用开发者实践技能做推荐,实现开发者跨项目与组织边界合作的工作相对甚少.为丰富这一工作,文中结合开发者的实践技能相似性与共同开发者数,为Sourceforge.net社区未曾合作的开发者提供一种同行推荐的方法.研究结果表明文中的方法能够有效地实现开发者同行推荐,相比只考虑共同开发者数时成功推荐的开发者数增加了31.1%,且推荐精度提高0.4倍,缓解了社区合作的稀疏性.最后,应用文中提出的方法开发了一个Roster推荐系统,为社区开发者的交流建立了一种新的辅助途径.  相似文献   

2.
陈丹  王星  何鹏  曾诚 《计算机科学》2016,43(Z6):476-479, 501
理解开发者的合作行为是促进开源社区协作开发的关键一步。已有文献主要对社区成员的加入与迁移展开研究,而对社区中已有开发者之间的实际合作行为关注甚少。主要从开发者的交互关系与个人技能两个角度出发,探析社区已有开发者如何建立新合作以及哪些因素影响他们的合作。应用Sourceforge.net平台公开的数据进行实验,结果表明不同的开发者的偏好合作模式不同,拓扑距离上的优势(“朋友的朋友”关系)对开发者间首次合作的影响不大,开发者之前的合作次数越多越有利于他们 再次建立合作,而开发环境(操作系统)与开发者(管理)经验对合作也有明显的影响。所得结论有助于提高开源社区已有开发者的合作意识,促进社区的稳定与可持续性。  相似文献   

3.
李其锋  李兵 《计算机科学》2015,42(12):43-46
开源软件的开发主要依靠开发人员的自我管理和志愿贡献。在软件开发过程中,开发人员的组成、分工、能力等会发生经常性的改变,这些改变都会通过交互行为的变化反映出来。已有研究成果表明开源软件存在核心团队,他们主导项目的开发与实施,但对开发团队随时间而发生的结构变化的研究较少。通过观测软件项目生命周期中开发者总体的变化情况,研究了开发者网络与软件的协同演化机理,以GNU/Linux公共数据集为例,讨论了开源软件开发者数量、自愿度、开发者经验与项目的协同演化现象,并给出了演化的合理解释。  相似文献   

4.
开源软件社区中开发者是流动的,有效识别出核心开发者并对其采取保护措施能够更好地促进社区集体智慧涌现.以开源软件项目AngularJS为例,通过获取开发者在GitHub上的提交记录,抽取开发者协作关系构建知识协作网络,运用社会网络分析的方法,在原有度中心性和介数中心性指标的基础上,将开发者节点的社团结构考虑进来提出新的评价指标.采用TOPSIS多属性决策方法进行核心开发者识别.仿真模拟核心开发者的流失,探究识别效果.研究发现:考虑社团结构的指标和以往指标识别出的核心开发者具有较大的相似性,和真实名单对比均具有一定的准确性,但在重要性排序上考虑社团结构的指标体系识别效果更显著.  相似文献   

5.
社交化编码是当前软件开发生产的一个重要方式,其开发模式的灵活性与开放性吸引了大量的开发者.开发者通过参与开源项目能够提升自己的开发能力并在社区中形成自己的影响力.许多开源社区如GitHub上有大量的开源项目.开发者将花费大量的时间与精力去寻找自己感兴趣的项目.开源项目推荐引起了研究者的兴趣,然而,目前的方法中仅仅基于开发者过去参加过的项目的相似性进行项目推荐,没有对开发者的兴趣迁移进行考虑.针对这一问题,本文提出了一种基于项目主题迁移频繁模式挖掘的推荐算法.该方法结合了概率主题模型与顺序频繁模式挖掘,并考虑项目社交关联和流行度,从而为开发者提供个性化开源项目推荐.本文所提方法的召回率比传统的方法高出了10.9%,推荐效果显著提升.  相似文献   

6.
蒋竞  吕江枫  张莉 《软件学报》2020,31(4):1143-1161
软件问答社区是软件开发者通过问答方式进行技术交流的网络平台.近年来,软件问答社区积累了大量用户讨论的技术问答内容.一些研究者对Stack Overflow等英文问答社区进行主题分析研究,但是缺少对于中文软件问答社区的分析.通过对中文软件回答社区开展主题分析研究,不仅可以指导开发者更好地了解技术动向,而且可以帮助管理者改进社区、吸引更多用户参与.“开源中国”是中国最大的技术社区之一.对“开源中国”开展了开发者问题主题分析研究.收集“开源中国”的92383个开发者问题,采用隐狄利克雷分配模型的主题分析方法,分析开发者问题的主题分布、热度趋势、回答情况和关键技术热度等.发现:(1)开发者讨论的技术主题分为前端开发、后端开发、数据库、操作系统、通用技术和其他6个类别.其中,前端开发讨论占比最大.(2)后端开发下的主题中用户的关注重点从传统的项目部署、服务器配置转移到较新的分布式系统等主题.(3)数据展示主题的零回答问题比例最高,数据类型主题下的零回答问题比例最低.(4)在技术学习主题下,用户对于Java的讨论明显多于对Python的讨论.  相似文献   

7.
寻找潜在的开源社区合作者可以提高项目开发效率并缩短开发周期。通过分析开发者特征信息和开发者之间的合作关系,可以确定开发者擅长的项目类型。利用社区中的开发者合作网络和每个开发者的特征,使用图神经网络模型学习每个开发者的特征表示,从而有效地推荐合作者。利用开源社区SourceForge.net公开的数据集进行了多组实验,结果表明:在为1982个开发者推荐的Top10个候选者中,成功率高达52.3%,并且最高的全类别平均正确率(mean Average Precision,mAP)值和平均倒数排名(Mean Reciprocal Ranking,MRR)值分别达到65.7%和23.9%,为开源社区中的开发者寻找合作伙伴提供了一种高效的合作路径。  相似文献   

8.
杨程  范强  王涛  尹刚  王怀民 《软件学报》2017,28(6):1357-1372
随着软件协同开发技术与社交网络的深度融合,社交化开发范式已成为当前软件创作与生产的重要方式。这一软件开发模型的灵活性与开放性,吸引了大规模的外围贡献者加入到开源社区中,形成了巨大的软件生产力。在开源社区中,这些分布广泛、规模巨大的外围贡献者主要以一种无组织的松散方式进行协同。他们需要花费大量的时间和精力,在海量的开源项目中寻找到自己真正感兴趣的项目并进行长期贡献。为了提高大规模群体协同的效率,本文提出一种基于多维特征的开源项目个性化推荐方法(即RepoLike)。该方法从开源项目自身流行度、关联项目技术相关度以及大众贡献者之间的社交关联度等三个维度度量开发者和开源项目之间的关联关系,并利用线性组合和Learning To Rank方法构建推荐模型,从而为开发者提供个性化的项目推荐服务。通过大规模的实证实验表明,RepoLike在推荐20个候选项目时的推荐命中率超过25%,能够有效地为开发人员提供有价值的推荐服务。  相似文献   

9.
开源许可证检测系统的研究*   总被引:1,自引:0,他引:1  
针对软件开发过程中许可证冲突的问题,对QualiPSo(quality platform for open source software)项目中提出的开源许可证检测管理过程进行研究分析,以此为支撑,改进现有的许可证检查控制工具OSLC(open source license checker),并与项目成熟度分析和软件开发质量评估检测软件Spago4Q(spagoBI for quality)集成,开发出自动检测开源许可证冲突的原型系统;阐述了将OSLC发布成Web service的类图设计,以及Spago4Q提取器的设计与实现,力求从法律角度提高开源软件的质量,并给基于开源组件的商业软件开发者一定的建议。  相似文献   

10.
软件过程是软件生命周期中所实施的一系列活动的集合.软件过程模型为软件开发者提供了软件开发的标准,也方便了开发者之间的交流.过程建模作为软件过程中最主要的活动,是对实际软件过程的再加工工程.基于Petri网提出了一种以活动为中心的软件过程控制模型ACCM,并给出了相应的算法.最后以一个软件开发的实例解释说明了该方法的有效性.  相似文献   

11.
Many software engineering applications require points-to analysis. These client applications range from optimizing compilers to integrated program development environments (IDEs) and from testing environments to reverse-engineering tools. Moreover, software engineering applications used in an edit-compile cycle need points-to analysis to be fast and precise.In this article, we present a new context- and flow-sensitive approach to points-to analysis where calling contexts are distinguished by the points-to sets analyzed for their call target expressions. Compared to other well-known context-sensitive techniques it is faster in practice, on average, twice as fast as the call string approach and by an order of magnitude faster than the object-sensitive technique. In fact, it shows to be only marginally slower than a context-insensitive baseline analysis. At the same time, it provides higher precision than the call string technique and is similar in precision to the object-sensitive technique. We confirm these statements with experiments using a number of abstract precision metrics and a concrete client application: escape analysis.  相似文献   

12.
源代码分析技术对于软件安全缺陷分析是一项非常重要的手段.分析了软件源代码分析工具的技术手段和发展过程,最后对源代码分析的理论和实践进行了分析总结.  相似文献   

13.
别名分析对于数据流分析、程序优化和分析工具的实现非常重要.文章提出了一种需求驱动,流非敏感的分析算法来解决指针别名问题.通过构造程序表达式图(PEG)把指针别名问题转化成判断两个指针节点是否是联通的问题,它不同于传统的别名分析方法,它不需要构造别名集合和对其求交集,所以提高了分析指针别名的效率.  相似文献   

14.
重点选取了15个副省级城市的第一产业比重、人口密度、人均绿地、园林面积、医院数目,市政建设面积、地方财政税收等42个指标,使用SPSS作为计算工具,使用因子分析方法简化评价指标,计算相关系数矩阵,判别因子分析可行性,利用主成分分析法求因子载荷,将因子进行旋转得出更有实际意义的因子解释,并计算因子得分,利用该结果计算Mi...  相似文献   

15.
The size of today’s programs continues to grow, as does the number of bugs they contain. Testing alone is rarely able to flush out all bugs, and many lurk in difficult-to-test corner cases. An important alternative is static analysis, in which correctness properties of a program are checked without running it. While it cannot catch all errors, static analysis can catch many subtle problems that testing would miss.We propose a new space of abstractions for pointer analysis—an important component of static analysis for C and similar languages. We identify two main components of any abstraction—how to model statement order and how to model conditionals, then present a new model of programs that enables us to explore different abstractions in this space. Our assign-fetch graph represents reads and writes to memory instead of traditional points-to relations and leads to concise function summaries that can be used in any context. Its flexibility supports many new analysis techniques with different trade-offs between precision and speed.We present the details of our abstraction space, explain where existing algorithms fit, describe a variety of new analysis algorithms based on our assign-fetch graphs, and finally present experimental results that show our flow-aware abstraction for statement ordering both runs faster and produces more precise results than traditional flow-insensitive analysis.  相似文献   

16.
《Ergonomics》2012,55(11):1787-1800
Abstract

The role of cognitively oriented tasks in the workplace continues to increase as automation of physical task components advances. Difficulties in automating the operator's cognitive processes have placed a renewed emphasis on the human component in advanced manufacturing systems. While traditional task analysis techniques have made significant contributions to improving productivity when important task elements are visually observable, their focus on manual task procedures make them less effective for cognitively oriented activities. This research has made a first attempt at integrating techniques from several disciplines to develop a cognitive task analysis methodology. The utility of this combined approach is examined for a new system being tested in the United States Postal Service. This task requires operators to encode, via a keyboard, addresses presented on a video display terminal. Results support the hypothesis that, for cognitively oriented tasks, a consensus based analysis technique (the Position Analysis Questionnaire) can be significantly improved by including data from task analysis provided the methodology is suitable for identifying non-physical task components.  相似文献   

17.
M. H. Williams 《Software》1982,12(5):487-491
The researcher who knows little about computers but wants to conduct a survey and analyse the results by computer can land himself in some difficulty if he does not appreciate some of the problems of computerization. This paper describes a system which is designed to aid such a person by providing assistance with the design of the questionnaire, the capturing of the data and the final analyses.  相似文献   

18.
Cost analysis statically approximates the cost of programs in terms of their input data size. This paper presents, to the best of our knowledge, the first approach to the automatic cost analysis of object-oriented bytecode programs. In languages such as Java and C#, analyzing bytecode has a much wider application area than analyzing source code since the latter is often not available. Cost analysis in this context has to consider, among others, dynamic dispatch, jumps, the operand stack, and the heap. Our method takes a bytecode program and a cost model specifying the resource of interest, and generates cost relations which approximate the execution cost of the program with respect to such resource. We report on COSTA, an implementation for Java bytecode which can obtain upper bounds on cost for a large class of programs and complexity classes. Our basic techniques can be directly applied to infer cost relations for other object-oriented imperative languages, not necessarily in bytecode form.  相似文献   

19.
一种全局数据流分析的新方法   总被引:1,自引:0,他引:1  
  相似文献   

20.
易定 《微机发展》2006,16(9):112-114
数据分析是从海量数据中发现隐含信息或知识的过程。基于一个公安破案辅助数据分析系统,深入研究数据分析任务的需求与实现,提出首先规划分析思路、细化分析功能,然后用多视角数据透视和智能分析两种手段,从微观与宏观、定量与定性等不同角度互为补充地使系统具有完备的分析功能。该研究对如何开发具有实用价值的数据分析系统有普遍的指导意义。  相似文献   

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

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

京公网安备 11010802026262号