面向软件复用的大规模开源资源定位技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:minisnake1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
提高软件开发效率和质量是软件工程领域面临的重大课题,基于复用的软件开发是解决这一问题的重要途径。随着互联网技术和开源软件的蓬勃发展,越来越多的开发者参与到开源软件开发中,分享自己的创意和经验,发布自己的开发成果,从而在开源社区中积累了海量的开源软件资源和开源知识资源。整个互联网开源空间成为开源资源库,为软件复用提供了丰富的可复用开源资源。然而,这些开源资源规模巨大、高度分散、类型多样且相互之间紧密关联,对可复用资源的准确定位带来巨大挑战。本文围绕开源软件资源定位和开源知识资源定位两个方面展开深入研究。海量开源软件资源通常散布在多个不同的开源社区。针对软件资源定位问题,我们从软件资源功能主题的维度,基于在线属性数据进行分析,对互联网中无序分布的大规模开源软件进行结构化组织,从而提高软件资源定位的准确度。针对这一问题,本文从海量开源软件层次分类和自动化标签推荐两个方面进行研究。开源社区中丰富的知识资源围绕开源软件资源展开,存在紧密联系。针对开源知识资源定位问题,我们从语义相关的角度,基于文本数据以及时间属性等,对不同社区中大规模知识资源进行关联分析,从而实现跨社区相关知识资源的定位。针对这一问题,本文从面向用户问题解答的相关缺陷定位以及面向软件缺陷修复的相关问答定位两个方面进行探索。具体的,我们开展了以下研究:首先,针对互联网规模开源软件资源的分类效率和分类粒度问题,本文提出了一种基于在线属性聚合的海量开源软件层次分类方法。不同于传统的基于软件源代码或者API调用的分类方法,我们充分利用开源社区中开源软件的在线描述、社会化标签等在线属性数据,对其进行加权聚合并挖掘其中蕴含的软件功能特征、技术特征等信息,从而实现对开源软件的高效分类。在构建分类层次时,我们基于Source Forge及其他开源社区中广泛应用的层次分类体系构建了一个包括4层共123个多粒度类别的分类层次结构,然后对多社区开源软件在线属性进行聚合,基于SVM算法构建了多粒度的层次分类模型,实现对海量开源软件的层次分类。基于开源软件在线属性的方法,极大的提高了软件分类的效率,为实现互联网规模的开源软件快速分类提供支持。构建的分类层次结构则能够实现对软件的细粒度分类,从而能够为大规模开源软件的定位提供帮助。其次,针对开源社区中软件标签需要人工标注、大量软件没有标签的问题,本文提出了一种针对开源软件的自动化标签推荐方法TRG。该方法基于开源软件的在线描述和标签进行,主要包括在线属性抽取、语义图构建和标签推荐三个阶段。在线属性抽取阶段,TRG抽取开源软件在各开源社区中的描述和标签数据,以开源软件为中介建立描述与标签之间的关联;在语义图构建阶段,基于描述与标签之间的关联,利用概率主题模型,分析描述词汇与标签之间的语义关联强度,并建立相应的“描述词汇-标签”语义图;在标签推荐阶段,给定一个软件描述,基于语义图计算各个标签与软件之间的关联强度,并按照关联强度大小为软件推荐相应的标签。实验结果表明,本文所提的标签推荐方法能够准确的为软件推荐标签。同时,由于模型基于在线属性数据,因此在完成语义图的构建后,TRG能够实现实时推荐。然后,以解决Stack Overflow用户问题为目标,本文提出了一种基于语义和时间属性的相关缺陷定位方法,建立Android缺陷库到Stack Overflow的关联,借助缺陷相关讨论解决用户的问题。在进行语义分析时,我们充分利用Android缺陷报告和Stack Overflow问答的多粒度文本数据,分析两者之间的语义关联,并根据语义关联强度得到可能相关的候选缺陷。基于“相关缺陷和问答之间存在时间局部性”的直觉,通过分析缺陷与问答的发布时间和反馈时间,利用时间局部性原理对候选缺陷进行排序优化,从而定位到可能与问答相关的缺陷。实验结果表明,相对于标题标签等粗粒度文本数据,基于更细粒度文本数据的定位准确度更高。同时,本文提出的时间局部性模型能够有效挖掘出缺陷与问答之间的时间关联,并进一步提高定位准确性。最后,本文对利用Stack Overflow问答社区的知识资源辅助Android缺陷修复的问题展开研究,提出了一种基于Stack Overflow内部引用网络的相关问答定位框架Cross Link。Cross Link在对Stack Overflow问答与缺陷之间语义和时间关联进行分析的基础上,基于内部引用网络对问答进行分簇,从而先将Stack Overflow中相关的问答聚合在一起,然后以问答簇为单位分析缺陷与问答之间的关联,并将相关的问答簇推荐给Android缺陷。该方法能够将Stack Overflow中广泛的参与者以及他们拥有的专业知识引入到缺陷讨论中,为软件缺陷提供更为丰富全面的信息,提高缺陷修复效率。实验结果表明,本文所提方法的定位准确度远高于当前相关工作。同时,相对于以单个问答为单位的定位方法,问答簇所提供的信息更为全面、准确,对提升缺陷报告质量、提高缺陷修复效率更为有效。
其他文献
文章通过大量的试验研究,成功地制备出了28 d抗压强度≥10 MPa、孔隙率≥25%、植被覆盖率≥90%、抗冲流速≥4 m/s的植生型多孔混凝土。以新宁县某段排水渠生态治理工程为例,
我科一年多来对42例心肌梗死患者有计划地进行出院指导,使患者及家属了解家庭护理的必要知识,取得了较好的效果,现介绍如下。
关键词 甲醛 食物中毒 餐饮服务    2006年4月28日13:12时,梅河口市某中型酒店就餐的60名顾客在用餐后先后出现不同程度的恶心、呕吐、头晕症状。梅河口市卫生局卫生监督所公共卫生突发事件应急处理办公室接到报告后立即赶赴现场,经流行病学调查,判定为食用经甲醛处理的鱿鱼引起的食物中毒。    流行病学调查  60名顾客所食用的共同食物为炒鱿鱼、溜肉片、馒头。现场卫生学调查显示,该餐厅卫生设施
进化算法是一种基于种群和进化的启发式全局搜索方法,通过创新与改进使其适用于解决机器人的规划问题。根据家庭服务机器人仿真比赛的特点设计了一种全新的编码结构——事件结
目的:联合检测分泌物过氧化氢浓度、唾液酸苷酶及白细胞脂酶活性,观察其对细菌性阴道病的诊断价值。方法:用JY-Po-Color-BV Set联合试剂盒联合测定法,统计方法用X^2检验。结果:联
为提高脱机满文手写字体的识别率,提出了基于BP网络的多特征集成分类器识别方法。对扫描成图像的手写满文进行预处理,切分出满文字元;分别提取满文字元的投影特征、链码特征以及端点和交叉点特征,并对这三类特征及其相互组合进行分类识别;通过隐马尔科夫算法对识别结果进行后处理,进一步提高识别的精度。实验结果表明,集成分类器的识别率要比单个特征的识别率要高,同时集成分类器中的特征类别越多,识别效果越好。
基于哲学解释学的视角,课程领域形成了"复原"和"创生"两种不同的教师课程理解取向。复原取向的课程理解强调教师要准确领会课程设计者的原意,而课程理解的创生取向则主张教师
提出了一种具备较高通用性的权限系统的设计方案与实现方法,可以应用于企业级信息系统、社区系统与门户系统。相对于传统的以角色作为用户权限标识的方法,添加了组别、全局角色
由于胎儿宫内发育迟缓(IUGR)的国产儿病死率比正常体重儿高6~9倍,产时窒息率高于正常7倍,新生儿病率亦高,尤以智力较差为多见,故近年来越来越受到重视。本文仅就IUGR的分娩时机和分
目的:探讨2型糖尿病合并肺结核患者的护理干预效果。方法:将22例2型糖尿病合并肺结核患者随机分为观察组和对照组各11例,对观察组进行综合护理干预,对照组不给予特殊干预,仅给常规