软件工程数据挖掘若干问题研究.pdf

lIIIII I II IIIIII111 11l Y2705501 摘要 软件工程数据是软件工程整个过程中所产生的各种数据,包括软件的源代码、文档、 缺陷报告等。在绝大多数情况下,软件工程数据是开发者获取信息的唯一来源。随着计 算机软件规模的不断扩大,手工获取开发和维护软件所需的信息越来越困难。数据挖掘 技术可从软件工程数据中自动发现所需信息,加快软件开发进程,提高软件质量。本文 针对软件工程数据挖掘的若干问题进行研究,主要贡献如下: 1.提出了一种Java源代码中Method的自动命名方法。软件源代码中标识符的正确命名 对软件维护非常重要,恰当的Method名能够使开发者了解Method的功能,而不恰当 的命名则会误导他们。但是,开发者除了个人的经验技术之外,他们在为Method命名 时几乎无所凭依。本文提出了一种基于文本分类的方法,为Method2选择恰当的动作 名。实验表明,本文方法的命名正确率达至1J70%以上。 2.提出了一种程序盗用检测方法。与软件业、特别是开源软件的蓬勃发展相比,用以保 护现有软件免遭软件盗用者侵害的检测工具少得可怜。一个不自律的开发者可以通 过代码伪装技术盗用他人的源码,而又逃脱法律的制裁。现有的基于程序依赖图的检 测工具可以检出若干种专业的代码伪装,但时问效率无法让人满意,并且它们无法识 破影响程序依赖图结构的伪装。本文提出了一种新的盗用检测T具TPLAG,它不仅 将代码盗用检测的时间复杂度从指数级降到多项式级,而且能成功地识破影响图结 构的代码伪装技术。 3.提出了一种缺陷分派方法。人型软件的开发组每天都会收到成百上千的缺陷报告,对 这些缺陷进行分派是软件开发者们的一项沉重的负担。现有的研究工作将软件缺陷 自动分派归结为文本分类问题。本文利用LatentDirichlet 降维,在此基础上基于文本分类方法进行缺陷分派,提高了分派的准确率。 4.提出了一种缺陷报告质量评估方法。软件维护工作的质量与缺陷报告本身的质量高 度相关,不包含有用信息、质量低下的缺陷报告很可能被开发者直接忽略,相应的缺 陷也就无法得到修复。本文提出了一种基于主题模型的方法对缺陷报告的内容进行 分析,并量化缺陷报告的信息量,即缺陷报告质量。 5.提出了一种缺陷报告库上主题发现与跟踪的方法。本文试图从缺陷报告库中提取两 方砸的内容:缺陷的主题和某一主题缺陷爆发的时段,这些内容能够为软件项目的管 i 万方数据 理者提供高层次的信息,以了解软件维护的整体情况。我们采用LDA模型提取缺陷报 告内容中的主题,并开发了一种事件检测算法以检测缺陷集中爆发的时段。 关键词:软件工程,数据挖掘 分类号:TP311 万方数据 Abstract Software datareferstothedata inthewholelife of software, engineering generated cycle source andSOon.Inmost includingcodes,specificationdocuments,bug situations, reports software dataisthe for the informationsource

文档评论(0)

1亿VIP精品文档

相关文档