CN105786999A - 一种基于复杂网络关系的软件开发人员可视化推荐方法 - Google Patents

一种基于复杂网络关系的软件开发人员可视化推荐方法 Download PDF

Info

Publication number
CN105786999A
CN105786999A CN201610093333.2A CN201610093333A CN105786999A CN 105786999 A CN105786999 A CN 105786999A CN 201610093333 A CN201610093333 A CN 201610093333A CN 105786999 A CN105786999 A CN 105786999A
Authority
CN
China
Prior art keywords
bug
developer
software
integrated information
recommendation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610093333.2A
Other languages
English (en)
Inventor
孙小兵
齐鑫
杨辉
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou University
Original Assignee
Yangzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yangzhou University filed Critical Yangzhou University
Priority to CN201610093333.2A priority Critical patent/CN105786999A/zh
Publication of CN105786999A publication Critical patent/CN105786999A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于复杂网络关系的软件开发人员可视化推荐方法。本发明对系统报告人员的软件输入bug请求和对bug库中BUG_MSG和BUG_DESCRIPTION、commit库中COM_MSG和DIFF_CONTENT分别进行预处理,得出候选的个性化bug综合信息,采用CTM模型计算找到属于其他工作者的类似bug信息及其对应的commit信息作为个性化的另一部分bug综合信息,排序选出实现bug请求的合适的开发人员列表,使用最小监督选择得到开发人员可靠关系,利用Relationship Radiogram显示人员关系,并将开发人员之间的关系可视化。本发明克服了无法找到合适的交流对象而降低软件维护效率的缺陷。本发明利用WordCloud分析开发人员个性化历史经验,而且利用Relationship Radiogram将开发人员之间的关系可视化。

Description

一种基于复杂网络关系的软件开发人员可视化推荐方法
技术领域
本发明属于软件维护推荐领域,特别涉及一种基于复杂网络关系的软件开发人员可视化推荐方法。
背景技术
在软件开发和维护过程中,用户经常会报告软件问题给开发人员。为了更快更好地解决发现的bug,已有很多方法都集中在推荐合适的开发人员完成一个特定的bug请求,例如,利用信息检索技术中的LSI(LatentSemanticIndexing)文本检索技术寻找一些相关的软件源文件,再根据这些文件推荐开发人员。
在本发明作出之前,现有的开发人员推荐技术基本都致力于推荐一个最合适的开发人员修改软件bug。但是由于bug的复杂性和历史原因,大多软件bug往往不是一个开发人员就能解决的,开发人员在修改之前需要探讨bug问题,并且当开发人员在完成修复任务碰到困难时,他们需要快速找到合适的交流对象以提高修改软件bug的效率。现有的开发人员推荐技术不能帮助开发人员找到合适的交流对象,因此降低了软件维护效率,严重地影响了运用效果。
发明内容
本发明的目的就在于克服上述缺陷,研制一种基于复杂网络关系的软件开发人员可视化推荐方法。
本发明的技术方案是:
一种基于复杂网络关系的软件开发人员可视化推荐方法,其主要技术特征在于如下步骤:
(1)对系统报告人员的软件输入bug请求和对bug库中BUG_MSG和BUG_DESCRIPTION、commit库中COM_MSG和DIFF_CONTENT分别进行预处理;
(2)计算经过预处理后的bug请求与每个bug综合信息计算余弦相似度,得出候选的个性化bug综合信息,即相关的bug综合信息、相关的开发人员;
(3)通过部分个性化bug综合信息找到相关的开发人员,将这两者作为输入数据,采用CTM模型计算找到属于其他工作者的类似bug信息及其对应的commit信息作为个性化的另一部分bug综合信息,即相关开发人员和对应的个性化bug综合信息:
(4)结合开发人员擅长的product、component以及开发人员行为模式排序选出实现bug请求的合适的开发人员列表;
(5)从bug综合信息中的duplicate、denpendson、block、CCList、bug_description和diff_content中进行开发人员关系提取,使用最小监督选择得到开发人员可靠关系;
(6)筛选相关开发人员关系,并使用WordCloud分析开发人员历史经验,利用RelationshipRadiogram显示人员关系,并将开发人员之间的关系可视化。
所述步骤(1)中的预处理是指词条划分,词根处理,去除停用词以及标点符号、动名词同义词、近义词查询扩充词汇量、TD-IDF模型。
所述步骤(2)中每个bug综合信息是指结合了bug库、commit库的关键信息。
所述步骤(4)中行为模式是指assignedto、bug变更时间、bugsfiled、bug修改频率。
所述步骤(6)中,合适的开发人员列表进入筛选相关开发人员关系。
本发明的优点和效果在于不仅从开发人员历史开发经验和行为模式角度推荐出对实现某一特定bug请求的开发人员,而且结合了该开发人员的开发历史任务找出了与bug相关的开发人员之间关系,帮助开发人员完成修复任务时找到合适的交流对象。主要有如下一些优点:
(1)目前的软件推荐开发人员方法没有考虑到对于特定bug信息的开发人员间的关系。本发明结合了软件开发人员的历史开发经验和行为模式构建出复杂的网络关系,基于可视化的网络关系图推荐出开发人员。
(2)本发明充分考虑了bug提交过程中的bug库、commit库等信息,不仅可以利用WordCloud分析开发人员个性化历史经验,而且利用RelationshipRadiogram将开发人员之间的关系可视化,基于网络关系有效地找出开发人员的交流对象。
附图说明
图1——本发明的流程示意图。
图2——本发明中TF-IDF技术计算方法示意图。
图3——本发明中CTM模型示意图。
图4——本发明中历史bug信息示意图。
图5——本发明中Bug请求的Wordcloud示意图。
图6——本发明中开发人员RelationshipRadiogram示意图。
图7——本发明中最小监督选择方法示意图。
具体实施方式
本发明的技术思路是:
如果推荐系统基于一个可视化的软件开发者网络关系图推荐开发人员,这不仅可以更快速更准确地反映出开发人员之间的关系,而且可以找出一个开发团队供他们交流讨论以解决问题。
Bugzilla是Mozilla公司提供的一款开源的免费Bug(错误或是缺陷)追踪系统,用来帮助管理软件开发,建立完善的BUG跟踪体系。Bugzilla中包含软件开发过程中的bug库、commit库、开发人员信息。本发明利用Bugzilla的数据进行分析,见图4。
协方差主题模型(CollaborativeTopicModel简称CTM)将传统的协方差分析模型和主题模型相结合,其模型图见图3。该模型以部分个性化bug综合信息和相应的开发人员作为输入数据,可以找出与每个开发者相关的其他bug综合信息从而推荐出开发者的个性化bug综合信息。
WordCloud是文字的视觉化描述,图5以字号和颜色来映射文字的相关属性,把词频映射到字号,把词性映射到颜色。RelationshipRadiogram描述了开发人员间的关系,图6中圆圈代表实体,有向边代表相互关系,边长和边的粗细代表关系的强弱。
下面具体说明本发明。
如图1所示,本发明的技术步骤如下:
步骤1).对系统报告人员的软件bug请求和对bug库中BUG_MSG和BUG_DESCRIPTION、commit库中COM_MSG和DIFF_CONTENT进行词条划分,词根处理,去除停用词以及标点符号、动名词同义词、近义词查询扩充词汇量、TD-IDF模型预处理。例如:对bug请求”SelectingtextbymousesetsXprimaryselectionfromnsVoidArray”预处理后的结果为:”selectpackchoosetextmouseratsetprimaryelementarymajorcentralmainselectionchoosechoicepicknsVoidArraychar”。将以上token映射为id可以将用字符串表示的文档转换为用id表示的文档向量,使用图2中的TF-IDF模型将用词频表示文档向量表示为一个用TF-IDF值表示的文档向量,得到每个文档的关键词。例如:上述bug请求所得文档向量:[(1,0.6633689723434505),(2,0.6633689723434505),(3,0.2448297500958463),(6,0.2448297500958463),(7,0.16073253746956623),(8,0.4355066251613605),(9,0.871013250322721),(10,0.16073253746956623)]。
步骤2).计算经过预处理的bug请求与每个bug综合信息的余弦相似度,得出候选的个性化bug综合信息。则有:
假定A和B是两个n维向量,A是[A1,A2,...,An],B是[B1,B2,...,Bn].则A与B的夹角θ的余弦等于:
cos θ = Σ i = 1 n ( A i × B i ) Σ i = 1 n ( A i ) 2 × Σ i = 1 n ( B i ) 2 = A · B | A | × | B |
步骤3).通过部分个性化bug综合信息找到相关的开发人员,将这两者作为输入数据,采用CTM技术找到属于其他工作者的类似bug信息及其对应的commit信息作为个性化的另一部分bug综合信息。例如:使用CTM模型前bug请求”SelectingtextbymousesetsXprimaryselection”相关开发人员RobertO′Callahan(:roc)和ArpadBorsos的部分个性化bug综合信息:
经过协相关计算后开发人员的相关bug综合信息会因为与其他开发人员开发经验类似而使得个性化信息增多,例如,RobertO′Callahan(:roc)和ArpadBorsos两位开发者经过CTM处理后增加的相关bug综合信息如下:
步骤4).结合相应的开发人员擅长的product、component以及开发人员行为模式选出实现bug请求的开发人员。
假设bug库中bug报告集合为B,开发人员d参与bug报告集合为Bd,对于开发人员d的某个bug报告b来说,当bug报告b的产品为p时,则有b[p]等于1,反之则为0.故product可建立如下关系:
Product b ( d ) = Σ b ∈ B d b [ p b ] Σ b ′ ∈ B b ′ [ p b ]
对于开发人员d的某个bug报告b来说,当bug报告b的component为c时,则有|b[c]等于1,反之则为0.故component可建立如下关系:
Component b ( d ) = Σ b ∈ B d b [ c b ] Σ b ′ ∈ B b ′ [ c b ]
步骤5).从bug综合信息中的duplicate、denpendson、block、CCList、bug_description和diff_content中提取开发人员关系,使用最小监督选择得到开发人员可靠关系。
最小监督选择方式如图7:
1)|(p1,p2,r)|表示该关系三元组出现的次数。
2)ρ|(p1,p2),r|表示(p1,p2)和r的相互信息。
可靠关系值为1)与2)的比值计算所得。
步骤6).筛选出相关人员关系,并利用WordCloud分析开发人员历史经验,利用RelationshipRadiogram将开发人员之间的关系可视化。
Bug请求的Wordcloud如图5,图中把词频映射到字号,把词性映射到颜色,可视化分析bug请求能够帮助开发人员快速了解bug任务。
关于bug请求得到RobertO′Callahan(:roc)的RelationshipRadiogram如图6,从图中可以看出bug234651由于和该bug请求是duplicate关系,所以该bug的提交人员SergeGautherie(:sgautherie)的关系最密切。此外,其他开发人员也可以作为完成修复任务时的交流对象。

Claims (5)

1.一种基于复杂网络关系的软件开发人员可视化推荐方法,其特征在于如下步骤:
(1)对系统报告人员的软件输入bug请求和对bug库中BUG_MSG和BUG_DESCRIPTION、commit库中COM_MSG和DIFF_CONTENT分别进行预处理;
(2)计算经过预处理后的bug请求与每个bug综合信息计算余弦相似度,得出候选的个性化bug综合信息,即相关的bug综合信息、相关的开发人员;
(3)通过部分个性化bug综合信息找到相关的开发人员,将这两者作为输入数据,采用CTM模型计算找到属于其他工作者的类似bug信息及其对应的commit信息作为个性化的另一部分bug综合信息,即相关开发人员和对应的个性化bug综合信息;
(4)结合开发人员擅长的product、component以及开发人员行为模式排序选出实现bug请求的合适的开发人员列表;
(5)从bug综合信息中的duplicate、denpendson、block、CCList、bug_description和diff_content中进行开发人员关系提取,使用最小监督选择得到开发人员可靠关系;
(6)筛选相关开发人员关系,并使用WordCloud分析开发人员历史经验,利用RelationshipRadiogram显示人员关系,并将开发人员之间的关系可视化。
2.根据权利要求1所述的一种基于复杂网络关系的软件开发人员可视化推荐方法,其特征在于所述步骤(1)中的预处理是指词条划分,词根处理,去除停用词以及标点符号、动名词同义词、近义词查询扩充词汇量、TD-IDF模型。
3.根据权利要求1所述的一种基于复杂网络关系的软件开发人员可视化推荐方法,其特征在于所述步骤(2)中每个bug综合信息是指结合了bug库、commit库的关键信息。
4.根据权利要求1所述的一种基于复杂网络关系的软件开发人员可视化推荐方法,其特征在于所述步骤(4)中行为模式是指assignedto、bug变更时间、bugsfiled、bug修改频率。
5.根据权利要求1所述的一种基于复杂网络关系的软件开发人员可视化推荐方法,其特征在于所述步骤(6)中,合适的开发人员列表进入筛选相关开发人员关系。
CN201610093333.2A 2016-02-17 2016-02-17 一种基于复杂网络关系的软件开发人员可视化推荐方法 Pending CN105786999A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610093333.2A CN105786999A (zh) 2016-02-17 2016-02-17 一种基于复杂网络关系的软件开发人员可视化推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610093333.2A CN105786999A (zh) 2016-02-17 2016-02-17 一种基于复杂网络关系的软件开发人员可视化推荐方法

Publications (1)

Publication Number Publication Date
CN105786999A true CN105786999A (zh) 2016-07-20

Family

ID=56402329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610093333.2A Pending CN105786999A (zh) 2016-02-17 2016-02-17 一种基于复杂网络关系的软件开发人员可视化推荐方法

Country Status (1)

Country Link
CN (1) CN105786999A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681917A (zh) * 2016-12-21 2017-05-17 南京大学 一种基于神经网络的前端自动化评估方法
CN107016090A (zh) * 2017-04-05 2017-08-04 合肥酷庆信息科技有限公司 一种子群约束的复杂网络可视化方法
US20220334837A1 (en) * 2021-04-19 2022-10-20 Atlassian Pty Ltd. Method, apparatus, and system for outputting a development unit performance insight interface component comprising a visual emphasis element in response to an insight interface component request

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1344120A2 (en) * 2000-12-19 2003-09-17 The Procter & Gamble Company System and method for managing product development
CN102395993A (zh) * 2009-04-02 2012-03-28 三星电子株式会社 在移动终端中提供人际网络管理服务的方法
CN104318340A (zh) * 2014-09-25 2015-01-28 中国科学院软件研究所 基于文本履历信息的信息可视化方法及智能可视分析系统
CN104461558A (zh) * 2014-12-22 2015-03-25 扬州大学 一种基于协相关主题模型的面向软件修改的个性化任务推荐方法
CN104615783A (zh) * 2015-03-02 2015-05-13 百度在线网络技术(北京)有限公司 信息搜索方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1344120A2 (en) * 2000-12-19 2003-09-17 The Procter & Gamble Company System and method for managing product development
CN102395993A (zh) * 2009-04-02 2012-03-28 三星电子株式会社 在移动终端中提供人际网络管理服务的方法
CN104318340A (zh) * 2014-09-25 2015-01-28 中国科学院软件研究所 基于文本履历信息的信息可视化方法及智能可视分析系统
CN104461558A (zh) * 2014-12-22 2015-03-25 扬州大学 一种基于协相关主题模型的面向软件修改的个性化任务推荐方法
CN104615783A (zh) * 2015-03-02 2015-05-13 百度在线网络技术(北京)有限公司 信息搜索方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOHN ANVIK等: "Who Can Help Me with this Source Code Change?", 《SOFTWARE MAINTENANCE, 2008. ICSM 2008. IEEE INTERNATIONAL CONFERENCE ON》 *
SONG WANG: "DevNet: Exploring Developer Collaboration in Heterogeneous Networks of Bug Repositories", 《EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, 2013 ACM / IEEE INTERNATIONAL SYMPOSIUM ON》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681917A (zh) * 2016-12-21 2017-05-17 南京大学 一种基于神经网络的前端自动化评估方法
CN106681917B (zh) * 2016-12-21 2019-06-18 南京大学 一种基于神经网络的前端自动化评估方法
CN107016090A (zh) * 2017-04-05 2017-08-04 合肥酷庆信息科技有限公司 一种子群约束的复杂网络可视化方法
US20220334837A1 (en) * 2021-04-19 2022-10-20 Atlassian Pty Ltd. Method, apparatus, and system for outputting a development unit performance insight interface component comprising a visual emphasis element in response to an insight interface component request
US11693655B2 (en) * 2021-04-19 2023-07-04 Atlassian Pty Ltd. Method, apparatus, and system for outputting a development unit performance insight interface component comprising a visual emphasis element in response to an insight interface component request

Similar Documents

Publication Publication Date Title
US10521464B2 (en) Method and system for extracting, verifying and cataloging technical information from unstructured documents
US10839162B2 (en) Service management control platform
CN110516073A (zh) 一种文本分类方法、装置、设备和介质
CN110442676A (zh) 基于多轮对话的专利检索方法及装置
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
Lawrie et al. Leveraged quality assessment using information retrieval techniques
Cui et al. Sliding selector network with dynamic memory for extractive summarization of long documents
CN111209472B (zh) 一种铁路事故故障关联和事故故障原因分析方法及系统
CN104778186A (zh) 将商品对象挂载到标准产品单元的方法及系统
US9558182B1 (en) Smart terminology marker system for a language translation system
CN103473409A (zh) 一种基于知识库的fpga故障自动诊断方法
CN103559199A (zh) 网页信息抽取方法和装置
CN105786999A (zh) 一种基于复杂网络关系的软件开发人员可视化推荐方法
US20220391598A1 (en) Text checking method based on knowledge graph, electronic device, and medium
CN107169321A (zh) 基于属性计数和结构度量技术相结合的程序剽窃检测方法及系统
Toomey R for data science
CN115618006A (zh) 一种知识图谱的自动构建系统及其工作方法
US20190236173A1 (en) Utilizing artificial intelligence to integrate data from multiple diverse sources into a data structure
You et al. Exploring public sentiments for livable places based on a crowd-calibrated sentiment analysis mechanism
Nadim et al. Leveraging structural properties of source code graphs for just-in-time bug prediction
CN110222139A (zh) 道路实体数据去重方法、装置、计算设备和介质
CN113724057A (zh) 基于大数据的财政预算填报方法、系统、设备及介质
US11257100B2 (en) Product optimization crawler and monitor
CN112667819A (zh) 一种实体描述推理知识库构建与推理证据量化信息获取方法和装置
Jagadamba Online subjective answer verifying system using artificial intelligence

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication