亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        開源社區(qū)問題解決過程人員參與積極性的影響因素分析

        2020-05-12 09:40:22劉曄暉趙海燕陳慶奎
        關(guān)鍵詞:回答者提問者開發(fā)人員

        劉曄暉,趙海燕,曹 健,陳慶奎

        1(上海市現(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,光學(xué)儀器與系統(tǒng)教育部工程研究中心,上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海 200093)

        2(上海交通大學(xué) 計算機(jī)科學(xué)與技術(shù)系,上海 200030)

        E-mail:1092778656@qq.com

        1 引 言

        問題追蹤器已成為現(xiàn)代軟件開發(fā)項目中必不可少的協(xié)作工具[1],它們可以用于注冊和跟蹤新功能請求、開發(fā)任務(wù)和錯誤等.在開源項目如Github中,每個人都可以在項目的問題跟蹤器上打開一個新問題,關(guān)注該項目的開發(fā)人員看到該問題時可能會進(jìn)行回答,問題被解決后提問者會關(guān)閉該問題,之后也有可能會重新開啟.

        問題的回答者可能直接來自于項目的核心團(tuán)隊成員或者是對該項目感興趣的外部貢獻(xiàn)者.等待相應(yīng)的開發(fā)人員分析回答問題的過程并不總是迅速的,這將導(dǎo)致問題處理不夠及時甚至長久得不到解決,因此出現(xiàn)了一系列研究[2-6]旨在推薦能夠回答該問題的專家.一般來說,這些方法將過去類似問題的回答者作為推薦對象,因此,其推薦的質(zhì)量依賴于所選擇的衡量問題相似性或者相關(guān)性的屬性.這種依據(jù)過去的直觀經(jīng)驗(yàn)進(jìn)行推薦的方法在新問題上是無法奏效的.

        顯然,了解哪些因素影響開發(fā)人員參與問題解決過程的積極性具有重要的意義.基于這些因素進(jìn)行更為有效的人員分配,也可以設(shè)計更好的參與者推薦系統(tǒng),避免無效的、不合理的推薦,從而導(dǎo)致問題長久得不到解決、延緩了項目的開發(fā)進(jìn)度.

        為了確定影響開發(fā)人員回答問題積極性的因素,我們圍繞以下兩個方面的問題進(jìn)行了研究:

        1)問題的特征如何影響開發(fā)人員回答問題的積極性?

        2)開發(fā)人員的特性如何影響其回答問題的積極性?

        本文的研究依托于開源軟件平臺Github產(chǎn)生的數(shù)據(jù),從中獲取了開發(fā)人員角色、開發(fā)人員社交關(guān)系、問題難度、文本長度、是否包含代碼塊、問題種類、開發(fā)人員之間的配對關(guān)系等多種影響因素,并對這些因素的作用進(jìn)行了深入分析.

        本文組織如下:第2節(jié)介紹了開源軟件中問題解決過程的相關(guān)研究;第3節(jié)詳細(xì)闡述了我們的研究使用的數(shù)據(jù)和具體的方法;第4節(jié)對結(jié)果進(jìn)行了詳細(xì)的量化分析和討論,最后進(jìn)行總結(jié)并對后續(xù)工作進(jìn)行展望.

        2 相關(guān)工作

        Github上,開源軟件的開發(fā)過程由5個步驟組成的工作流[7]組成:

        1)討論問題:討論項目的一個新功能,商定需要做什么,主要是許多開發(fā)人員就一個新的功能或需要修改的功能進(jìn)行溝通,并最終確定要增加或修改什么樣的功能;

        2)指定事務(wù):為討論出的功能創(chuàng)建一個分支;

        3)執(zhí)行事務(wù):在指定事務(wù)工作流中創(chuàng)建的分支上建立一個功能分支以使其工作;

        4)審查事務(wù):功能完成后推送到遠(yuǎn)程端,通過pull request進(jìn)行代碼審查;

        5)問題解決后迭代:在審查中發(fā)現(xiàn)問題,進(jìn)行問題討論,直到問題被解決.代碼合并到主分支.可以看出,問題討論和解決在其中具有重要作用.

        Github中項目開發(fā)人員的角色分為內(nèi)部人員和外部人員,其中,內(nèi)部人員(inner)指真正參與到項目的開發(fā)人員,包括項目的成員(Member)、協(xié)作者(Collaborator)以及貢獻(xiàn)者(Contributor),其他人則為外部人員(outer).而Member指的是成員,組織分組內(nèi)權(quán)限最低的角色,按照不同的組織設(shè)置,有些Member只限于對某些子庫具備查看或?qū)懙臋?quán)限;Collaborator指的是合作開發(fā)者,被庫的所有者邀請共同開發(fā)某一項目,擁有對庫的讀寫權(quán)限;Contributor指的是貢獻(xiàn)者,對項目有所貢獻(xiàn)(如提交代碼,修復(fù)bug等)的開發(fā)者,但不具備合作開發(fā)者的訪問權(quán)限.

        最近針對開源軟件中的問題解決過程,很多學(xué)者進(jìn)行了研究.對于發(fā)布的問題的文本內(nèi)容是否足以將問題分類,Antoniol等人進(jìn)行了研究分析[8].Assar等人通過對問題文本進(jìn)行聚類來預(yù)測問題解決時間[9].Bhattacharya等人基于Eclipse、Chrome、Firefox、 Seamonkey和Thunderbird這5個開源項目的512474個問題對問題解決時間的影響因素進(jìn)行了分析,結(jié)果表明bug的修復(fù)時間與其修復(fù)的可能性和bug的提交者沒有相關(guān)性[10].為了找出影響問題修復(fù)的因素,Guo等人重點(diǎn)對Windows Vista和Windows 7中的問題相關(guān)的因素以及參與處理問題的開發(fā)人員之間的關(guān)系進(jìn)行了分析,研究結(jié)果表明聲譽(yù)好的開發(fā)人員提交的問題更容易被解決,且開發(fā)人員間的人際關(guān)系對問題解決也有重要影響[11].Murgia對Github中34個開源項目的14000多個問題進(jìn)行分析,發(fā)現(xiàn)問題解決時間取決于維護(hù)類型[12].Tian等人提出了一種基于機(jī)器學(xué)習(xí)的自動化方法,將問題的時間、文本、提交者和嚴(yán)重性等元素考慮進(jìn)去,從而確定問題的優(yōu)先級[13].

        上述研究主要關(guān)注了影響問題解決過程速度的因素,還缺少對人員參與問題解決過程的積極性的影響因素的研究.本文的主要研究目的是旨在找出影響開發(fā)人員加入問題討論的因素,通過調(diào)整這些因素可以使得問題解決的人員積極性更高.

        3 數(shù)據(jù)和方法

        在這項工作中,我們采用了關(guān)聯(lián)規(guī)則挖掘技術(shù),以揭示數(shù)據(jù)中的隱含信息.具體而言,我們的研究采用了知識發(fā)現(xiàn)(Konwledge Discovery in Database,KDD)過程[14],即:1)數(shù)據(jù)選擇;2)預(yù)處理;3)數(shù)據(jù)轉(zhuǎn)換和填充;4)關(guān)聯(lián)規(guī)則提取;5)結(jié)果解釋與評價.在數(shù)據(jù)選擇中,我們使用GHTorrent[15]、Github API(1)https://developer.github.com/v3/以及直接從Github(2)https://github.com/爬取相關(guān)數(shù)據(jù);在數(shù)據(jù)預(yù)處理過程中,我們對數(shù)據(jù)進(jìn)行清洗和屬性選擇,以刪除缺少、不正確或不一致的數(shù)據(jù)項;在數(shù)據(jù)轉(zhuǎn)化和填充中,我們對一些數(shù)值屬性進(jìn)行了離散化,以提高結(jié)果的語義;我們使用Apriori算法實(shí)現(xiàn)關(guān)聯(lián)規(guī)則提取[16];最后,對于結(jié)果解釋和評價,我們對每個研究問題所得結(jié)果都進(jìn)行了具體分析.

        為回答第一方面的問題,我們通過對問題的難易度、文本長度、是否含有代碼以及問題的類別進(jìn)行關(guān)聯(lián)規(guī)則挖掘,我們總結(jié)分析了問題特征對開發(fā)人員回答問題的影響程度.結(jié)果將在第4.1節(jié)中討論.

        為回答第二方面的問題,我們挖掘了包含問題提出者以及回答者角色屬性的關(guān)聯(lián)規(guī)則,比如開發(fā)人員對項目有沒有貢獻(xiàn)、有貢獻(xiàn)的開發(fā)人員是Member還是Contributor、問題提出者與回答者是否是熟人以及開發(fā)人員是否經(jīng)常一起回答問題.除了對一些關(guān)聯(lián)規(guī)則進(jìn)行置信度分析外,我們還進(jìn)行了定性分析,以便更好地理解結(jié)果.第4.2節(jié)給出了分析結(jié)果.

        3.1 問題及評論的數(shù)據(jù)

        我們從Github中選擇了23個項目共57,244個問題進(jìn)行了研究,其中流行的項目有10個,有效標(biāo)簽多的項目有13個.為了從整體上提問者角色對開發(fā)人員積極性的影響,我們根據(jù)Github上的star數(shù)選取了最流行的10個項目;我們從這10個流行項目中隨機(jī)選取了5個流行項目(即jasmine、istio、realm-cocoa、elixir和metabase)研究開發(fā)人員角色、開發(fā)人員社交關(guān)系、問題難度、文本長度、是否含有代碼塊、開發(fā)人員之間的配對關(guān)系等影響因素.在研究問題類型對開發(fā)人員積極性的影響這一問題時,我們挑選了13個有效標(biāo)簽較多的項目進(jìn)行研究.

        我們研究的項目包含了很多開發(fā)人員提交的問題,考慮到不同的開發(fā)人員提交的問題數(shù)量,我們使用了不同維度的屬性去試圖理解可能影響開發(fā)人員去回答問題的不同因素.涉及的屬性如表1所示.

        在屬性預(yù)處理過程中,判斷開發(fā)人員是否是熟人首先需要先建立開發(fā)人員歷史交互信息表,通過統(tǒng)計分析,50%以上的開發(fā)人員只有一次交互信息,因此我們假設(shè)問題提問者與回答者交互次數(shù)大于1次為熟人.

        表1 本文使用到的屬性

        Table 1 Attributes used in this study

        屬 性 描 述repoter_type提交問題的開發(fā)人員類型,其中inner指Member、Contributor或Collaborator,outer指除inner意外的其他人user_type對問題進(jìn)行回答的開發(fā)人員類型,類型同repoter_typeacquaintance開發(fā)人員是否是熟人degree_type問題的難度等級,具體劃分為easy、normal和toughissueCleanedBodyLen去除停用詞、標(biāo)點(diǎn)后的問題標(biāo)題與內(nèi)容總文本長度,共四個等級:short、medium、long以及l(fā)ongercode問題文本中是否有代碼issue_category問題類別,分為:adaptive、corrective、perfective以及preventive

        考慮到一個簡單問題可能會被很多用戶回答,而一個困難問題可能只有幾個人回答,參與回答問題的人數(shù)可以成為表征問題難易程度的因素之一;此外,將問題解決的時間間隔作為問題難易程度影響的因素之一,考慮到衡量問題難度的計算中,問題耗費(fèi)的時間越長表示該問題越難,反之則問題越容易.這里,當(dāng)問題狀態(tài)為closed則認(rèn)為問題被解決.我們使用公式(1)和公式(2)來計算問題qid的難度值qdqidqdqid.

        (1)

        (2)

        其中,Aqid是問題qid的答案,|Aqid|表示答案集合的大小(也就是對問題qid進(jìn)行回復(fù)的答案個數(shù));Tavg是問題qid的平均耗費(fèi)時間,單位是分鐘,Tai是問題qid關(guān)閉的時間,Tqid則是問題qid發(fā)布的時間;τ是一個調(diào)節(jié)參數(shù),為避免計算時結(jié)果下降太快在這里被設(shè)置為1/3600.

        在將問題映射上到維護(hù)類型的時候,我們根據(jù)Github開發(fā)人員為問題打的標(biāo)簽,采用Murgia等人的方法對問題的維護(hù)類型進(jìn)行劃分[12].我們沒有映射任何不清楚或不屬于維護(hù)類型的標(biāo)簽,例如,標(biāo)簽GUI和Mobile是通用標(biāo)簽,不提供關(guān)于所執(zhí)行的維護(hù)類型的提示,因此不會劃分到四大維護(hù)類型中.出于同樣的原因,我們沒有考慮使用不同維護(hù)類型的標(biāo)簽,將這些標(biāo)簽映射為糾正性、完善性、適應(yīng)性和預(yù)防性維護(hù)都會對我們的分析的有效性造成影響.由于大部分問題有效標(biāo)簽較少,我們從眾多流行項目中挑選了13個項目,因?yàn)樗鼈冎辽儆幸粋€問題含有與維護(hù)類型相關(guān)的標(biāo)簽.

        3.2 關(guān)聯(lián)規(guī)則

        關(guān)聯(lián)規(guī)則的提取是數(shù)據(jù)挖掘中的一項重要任務(wù),其目的是找出數(shù)據(jù)庫中屬性之間的關(guān)系[17],關(guān)聯(lián)規(guī)則表示應(yīng)用程序領(lǐng)域中以特定頻率發(fā)生的數(shù)據(jù)項之間的關(guān)系模式.

        本文運(yùn)用的方法采用了多維關(guān)聯(lián)規(guī)則的概念[17]:給定一個關(guān)系數(shù)據(jù)庫D,多維關(guān)聯(lián)規(guī)則X→Y表示為:X1∩X2∩…∩Xn→Y1∩Y2∩…∩Ym,其中n≥1,m≥1,而Xi(1≤i≤n)和Yj(1≤j≤m)是D不同屬性的條件定義.

        關(guān)聯(lián)規(guī)則X→Y在一定程度上表明:先導(dǎo)X的出現(xiàn)意味著后繼Y的出現(xiàn).關(guān)聯(lián)規(guī)則的相關(guān)性主要通過兩個度量指標(biāo)來評估:支持度和置信度[18].支持度由滿足先導(dǎo)條件和后繼條件的實(shí)例的百分比定義,計算如下:Sup(X→Y)=TX∩Y/T,其中TX∩Y表示滿足條件X和Y的實(shí)例的數(shù)量,T是D中實(shí)例數(shù)量;置信度表示在先導(dǎo)發(fā)生的條件下后繼發(fā)生的概率,計算公式如下:Conf(X→Y)=TX∩Y/TX,其中TX表示滿足先導(dǎo)X發(fā)生的實(shí)例數(shù)量.支持度和置信度在關(guān)聯(lián)規(guī)則挖掘中充當(dāng)過濾器的作用,即只有滿足最小支持度閾值和置信度閾值的規(guī)則才會被提取.

        另一個度量指標(biāo)是規(guī)則X→Y的Lift,它表示給定X條件發(fā)生的概率,Y條件發(fā)生的概率會怎樣變化.Lift是由規(guī)則的置信度以及其結(jié)果的支持度的比值,即:Lift(X→Y)=Conf(X→Y)/Sup(Y),其中Sup(Y)表示滿足Y條件的數(shù)據(jù)集中的實(shí)例數(shù).當(dāng)Lift=1時,X和Y之間條件獨(dú)立,也就是說,先導(dǎo)的出現(xiàn)并不會影響后繼的出現(xiàn).另一方面,Lift>1表示先導(dǎo)和后繼之間存在正相關(guān),這意味著X的出現(xiàn)增加了Y發(fā)生的幾率.相反,當(dāng)Lift<1時,先導(dǎo)和后繼之間存在負(fù)相關(guān),這表明X的出現(xiàn)會降低Y發(fā)生的幾率.

        為了說明支持度和置信度度量的作用,我們假設(shè)規(guī)則為D中的Sup(user_type=″Memer″)=50%(對結(jié)果的支持度滿足條件user_type=″Memer″的實(shí)例數(shù)量).根據(jù)這條規(guī)則得到的Lift=1.5,因?yàn)長ift(R)=75/50=1.5,其中75%是規(guī)則的置信度.在本例中,結(jié)果表明當(dāng)提交問題的人是″Memer″時,被″Memer″的開發(fā)人員回答的幾率增加50%.

        我們還對一些規(guī)則進(jìn)行了置信度分析,以確定是先導(dǎo)影響后繼還是后繼影響先導(dǎo),當(dāng)規(guī)則在方向(X→Y)上的置信度顯著高于在方向(Y→X)上的置信度時,我們說X影響Y而不是Y反過來影響X.

        我們使用Apriori算法來提取關(guān)聯(lián)規(guī)則[16].考慮到數(shù)據(jù)中的大量實(shí)例和回答問題的開發(fā)人員較少,我們使用0.1%的最低支持度挖掘規(guī)則.因此我們從jasmine、istio、realm-cocoa、elixir和metabase項目中分別獲得了2,5,4,4,6項.考慮到只有2個issue提供的證明較弱,我們在本文中只展示5個項目中至少有4個問題支持的關(guān)聯(lián)規(guī)則,這一決定能確保它們不是隨機(jī)發(fā)生的.

        4 結(jié)果和分析

        4.1 問題1:問題的特征是否會影響開發(fā)人員回答問題的積極性?

        在本小節(jié)中,我們討論問題的特征對回答者的影響,這些特征包括問題的難度、文本長度、是否含有代碼以及問題的類別.此外,在某些情況下,我們還對一些特殊模式進(jìn)行了定性分析.

        4.1.1 問題的難易程度是否影響回答者的積極性?

        表2顯示了簡單問題對回答者的影響.結(jié)果表明,簡單的問題會激勵某些開發(fā)人員去討論.例如規(guī)則1中,如果是一個簡單的問題,那么被”cwbeck”回答的機(jī)會增加357%.由于(Y→X)方向的置信度遠(yuǎn)遠(yuǎn)大于(X→Y)方向的置信度,說明開發(fā)人員對問題難度等級有明顯偏好.在項目elixir中開發(fā)人員”mguimas”回答的問題有90.91%是簡單問題.

        表2degree_type=easy→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 2 Association rules of typedegree_type=easy→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1metabasecwbeck0.10.58804.572metabasezaiddabaeen0.150.8666.673.813metabaseMarcGJA0.10.5866.673.814realm-cocoabryan1anderson0.10.3481.822.75jasminejoshuacc0.231.01602.696istionmnellis0.110.8629.632.427istioymesika0.534.3125.482.088istiogyliu5130.322.5924.742.029realm-cocoaGreatApe0.240.856.761.8710elixirmguimas0.130.2790.911.8611realm-cocoawebmagnets0.10.3452.941.7512jasminejaapz0.190.8438.461.7213elixirNobbZ0.330.6875.761.5514elixirwojtekmach0.450.9375.561.5415jasmineamavisca0.190.8433.331.49

        當(dāng)分析以degree_type=easy為前提的規(guī)則時,我們還驗(yàn)證了其他程度的問題與回答者之間是否存在關(guān)聯(lián).圖1和圖2說明了這種模式,其中標(biāo)識符(#1、#2和#3)表示每個項目具有最高Lift值的規(guī)則.degree_type=normal和degree_type=tough對開發(fā)人員的影響與degree_type=easy的影響結(jié)果類似.值得注意的是,盡管istio項目中存在Lift>1的規(guī)則,但是當(dāng)問題degree_type=normal和degree_type=tough發(fā)生時,開發(fā)人員回答問題的幾率并沒有顯著增加.

        圖1 degree_type=normal→user類型的Lift

        我們的結(jié)果表明,開發(fā)人員喜歡挑戰(zhàn)問題的難易程度不同,這可能與其專業(yè)知識、技能水平有關(guān).

        4.1.2 問題的長度對回答者的積極性有影響嗎?

        Github中的Issue通常包含標(biāo)題和內(nèi)容,其文本長度也許會影響開發(fā)人員閱讀興趣,太長的問題可能會讓開發(fā)人員喪失閱讀耐心,我們假設(shè)問題的文本長度對回答者有影響,通過將問題的標(biāo)題和內(nèi)容合并到一個文本中,計算其純文本長度,從而將問題長度分成4個范圍.表3顯示了短文本問題對開發(fā)人員的影響.

        圖3、圖4和圖5分別顯示了文本長度變化時項目jasmine、istio、realm-cocoa、elixir和metabase中的規(guī)則Lift值.標(biāo)識符(#1、#2和#3)表示項目中Lift值最高的規(guī)則.值得注意的是,當(dāng)文本長度變得特別長時,特定的開發(fā)人員回答該問題的機(jī)會顯著增加,這表明有些人對長文本有著較強(qiáng)偏好.

        圖2 degree_type=tough→user類型的Lift

        結(jié)果表明,不同的文本長度對開發(fā)人員回答的積極性有影響.一些開發(fā)人員傾向于回答簡潔明了的問題,而有些開發(fā)人員喜歡回答內(nèi)容詳實(shí)的問題.

        圖3 issueCleanedBodyLen=medium→user類型的Lift

        4.1.3 問題中含有代碼是否影響回答者的積極性?

        開源社區(qū)的存在是為了加快項目的開發(fā)進(jìn)程,往往涉及到編程技術(shù)問題,因此很多問題會含有代碼塊,對編程感興趣的專業(yè)開發(fā)人員可能會傾向于回答含有代碼的問題.因此我們對問題中是否含有代碼與開發(fā)人員之間進(jìn)行關(guān)聯(lián)規(guī)則挖掘.表4顯示了挖掘結(jié)果,結(jié)果表明,一些開發(fā)人員回答含有代碼的問題的機(jī)會更高.例如在項目elixir中,開發(fā)人員” ianrumford”、”c0b”和”lau”回答含有代碼的問題的機(jī)會增加了79%(Lift=1.79)、70%(Lift=1.7)和68%(Lift=1.68).在項目jasmine、istio、realm-cocoa和metabase上可以推算出類似的模式.此外,我們還對這個場景進(jìn)行了規(guī)則置信度分析.從表4可以看出,在每種情況下,(Y→X)方向的置信度遠(yuǎn)遠(yuǎn)大于(X→Y)方向的置信度,這表明這些開發(fā)人員傾向于選擇評論含有代碼的問題.

        表3issueCleanedBodyLen=short→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 3 Association rules of typeissueCleanedBodyLen=short→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1jasminemightyiam0.140.651004.672jasminedwt0.140.6585.7143jasminefetis0.120.5483.333.894elixironeeman0.140.861.113.525realm-cocoashmidt0.130.6461.113.096istiosakshigoel120.321.7754.963.057istiosebastienvas0.341.8754.293.018realm-cocoawebmagnets0.130.6754.762.779elixirdevinus0.432.4747.552.7410metabasekdoh1.397.0751.422.6211elixirorenbenkiki0.150.8741.382.3912realm-cocoabigfish240.190.9540.242.0413Istioldemailly1.659.1536.682.0414metabasemazameli1.598.126.051.3315metabasetlrobinson1.638.3223.321.19

        圖4 issueCleanedBodyLen=long→user類型的Lift

        圖5 issueCleanedBodyLen=longer→user類型的Lift

        我們的結(jié)果指出,部分開發(fā)人員對回答含有代碼的問題有明顯偏好.在問答者推薦系統(tǒng)中,根據(jù)問題中是否含有代碼將其推薦給相應(yīng)的開發(fā)人員可以提高用戶對問題的積極性.

        4.1.4 問題的類別對回答者的積極性有影響嗎?

        軟件維護(hù)是任何成功的軟件項目的關(guān)鍵組成部分,在強(qiáng)調(diào)迭代和增量開發(fā)的現(xiàn)代開發(fā)過程中也是如此.本節(jié)我們研究了維護(hù)活動類型與開發(fā)人員之間的關(guān)系.在我們的實(shí)證研究中,Github存儲的問題可歸為糾正、適應(yīng)、完善或預(yù)防性維護(hù)問題.表5顯示了各種維護(hù)問題與開發(fā)人員之間的規(guī)則.從這些規(guī)則可以得出這樣的結(jié)論:一些開發(fā)人員傾向于回答預(yù)防性的問題,如規(guī)則1、規(guī)則3和規(guī)則4顯示,當(dāng)問題為預(yù)防性問題時,開發(fā)人員” SimonVT”、” ezequiel”和” madrobby”回答該類問題的可能性分別提高17.55倍(Lift=18.55)、14.28倍(Lift=15.28)和11.15倍(Lift=12.15).其他類型的問題對開發(fā)人員的影響也可以從表中推斷出.

        結(jié)果表明,問題的類型對開發(fā)人員的參與有明顯影響,這可能和開發(fā)人員擅長的領(lǐng)域有關(guān).我們的問題分類基于Murgia等人的工作進(jìn)行的,其分類并不全面,如果通過人工打標(biāo)簽或者通過半監(jiān)督學(xué)習(xí)將問題分類,結(jié)果可能更明顯.

        4.2 問題2:開發(fā)人員的特征是否會其回答問題的種類?

        本節(jié)中,我們討論了開發(fā)人員的特征(如:是否為貢獻(xiàn)者、是否是熟人等)對其回答問題的影響.

        4.2.1 問題提出者的角色是否影響回答者的積極性?

        開發(fā)人員的一些特征在提交問題以及回答問題時就已經(jīng)知道了,例如是否為”Member”或者是”Contributor”.我們的結(jié)果表明提出問題的人的角色可能會影響開發(fā)人員的回答.首先我們從項目整體出發(fā),判斷問題提問者的角色是否會對回答者有影響.表6顯示當(dāng)問題提問者是inner時被inner回答的關(guān)聯(lián)規(guī)則(升序遞減).例如,規(guī)則1中顯示在uikit項目中,如果inner提出一個問題,被inner回答的概率增加17%.規(guī)則證明,從整體上看在所有被調(diào)查的項目中inner回答inner的可能性更高.但是這并不意味著所有inner都傾向于回答inner提出的問題,規(guī)則1顯示uikit項目中inner回答的問題只有2.13%是inner提出的.類似的信息可以從其余規(guī)則中推斷出來.

        同時,我們挖掘了當(dāng)問題提問者是inner時被outer回答的關(guān)聯(lián)規(guī)則.整體上inner提出的問題對outer有負(fù)影響,即inner提問會降低outer回答的概率.

        我們同樣挖掘了當(dāng)問題提問者是outer時被inner回答的關(guān)聯(lián)規(guī)則.整體上outer提出的問題對inner有負(fù)影響,但這種負(fù)影響非常小,幾乎可以忽略不計.

        表4code=true→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 4 Association rules of typecode=true→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1elixirianrumford0.130.221001.792elixirc0b0.120.21951.73elixirlau0.310.5694.341.684realm-cocoamarlowcharite0.140.221001.635realm-cocoaArEnSc0.250.411001.636realm-cocoaadomanico0.10.161001.637istioyutongz0.310.598.591.618istiolichuqiang0.20.3297.831.599istioloewenstein0.180.391.111.4810jasmineUziTech0.260.381001.4811jasmineljwall0.190.281001.4812jasminejoezimjs0.280.421001.4813metabasepratapsingh0.10.121001.1814metabaseMixMe0.10.121001.1815metabaseHelenMertes0.10.121001.18

        表5issue_category→user類型的關(guān)聯(lián)規(guī)則

        Table 5 Association rules of typeissue_category→user

        #Antecedent(X)Consequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1preventiveSimonVT0.14.7440.4818.552perfectiveredaxmedia0.6420.4752.2416.763preventiveezequiel0.14.7433.3315.284preventivemadrobby0.136.1326.5112.155perfectivemadrobby0.165.2632.5310.446perfectivemislav0.154.8729.419.437correctiveDhilan0070.10.171001.768correctivedumganhar0.180.3293.751.659correctiveandyque0.150.2692.311.6310adaptivejdragojevic0.180.4648.331.2711adaptivebtford0.671.7746.251.2212adaptiveStevenPuttemans0.290.7546.081.21

        表6 10大流行項目repoter_type=inner→user_type=inner類型的關(guān)聯(lián)規(guī)則

        Table 6 Association rules of typerepoter_type=inner→user_type=innerin top 10 popular projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1uikitinner1.7696.942.131.172swagger-uiinner26.2295.2730.311.13pandocinner31.3796.0634.861.074react-navigationinner17.1897.2218.711.065seleniuminner45.4994.5349.631.036istioinner79.0396.4983.331.027realm-cocoainner61.8594.6466.641.028elixirinner79.1995.9583.691.019metabaseinner56.7998.3358.271.0110servoinner83.3299.1184.31.00

        表7顯示當(dāng)問題提問者是outer時被outer回答的關(guān)聯(lián)規(guī)則.可以看出整體上outer提出的問題會促進(jìn)outer回答的概率,且大部分outer傾向于回答outer提出的問題,如規(guī)則4中項目realm-cocoa中的outer回答的問題中有51.31%是outer提出的問題.

        為了更直觀地看出提問者的角色對回答者角色的影響,我們將上述表格轉(zhuǎn)化為圖的形式,如圖6所示.從上述表格可以看出,大部分規(guī)則在方向(Y→X)上的置信度顯著高于在方向(X→Y)上的置信度,所以我們從個體出發(fā)研究了問題提出者與回答者之間的關(guān)聯(lián)規(guī)則.

        表7 10大流行項目repoter_type=outer→user_type=outer類型的關(guān)聯(lián)規(guī)則

        Table 7 Association rules of typerepoter_type=outer→user_type=outerin top 10 popular projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1istioouter2.2812.6244.252.452servoouter0.412.5935.482.233elixirouter2.0411.6937.942.174realm-cocoaouter3.6910.6551.311.485metabaseouter1.573.7161.981.476pandocouter8.2112.8285.081.337seleniumouter5.7111.0168.451.328swagger-uiouter12.1716.890.351.259react-navigationouter7.659.393.971.1410uikitouter17.4417.7699.681.02

        圖6 repoter_type→user_type類型的Lift

        表8顯示了從jasmine、istio、realm-cocoa、elixir以及metabase中抽取的repoter_type=Member→user類型的關(guān)聯(lián)規(guī)則(升序遞減).例如,規(guī)則1表示當(dāng)提出問題的人是Member時,讓”sabino”回答該問題的概率增加621%.規(guī)則證明,在所有被調(diào)查的項目中,某些開發(fā)人員回答Member提出的問題的可能性更高.但這并不意味著在所有的開發(fā)人員中,只有他們評論Member提出的問題,只是這些實(shí)例的機(jī)會更高.當(dāng)我們分析每個規(guī)則(Y→X)的置信度時,發(fā)現(xiàn)除了規(guī)則8、9、10意外,其他規(guī)則明顯大于(X→Y)上的置信度.例如,規(guī)則5意味著” sandeshsoni”回答的問題94.44%是Member提出的問題.類似的知識可以從其余規(guī)則的分析中推斷出來.

        盡管一些規(guī)則的支持度較低,但是考慮到開發(fā)人員回答的問題的絕對數(shù)量,所揭示的行為非常重要.例如,表8中的規(guī)則2只提供了0.11%的支持度,這表示” gbaufake”回答了5個由Member提出的問題,但是開發(fā)人員” gbaufake”總共回答的問題只有6個,所以(Y→X)的置信度為80.77%,這表明他/她傾向于回答由Member提出的問題.盡管該規(guī)則并不代表所有開發(fā)人員的模式,但它顯示了一些特定開發(fā)人員的模式.如果在推薦系統(tǒng)中想要為Github上的issue推薦相應(yīng)的開發(fā)人員,那么應(yīng)該充分利用這種模式.

        表8repoter_type=Member→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 8 Association rules of typerepoter_type=Member→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1metabasesabino0.112.4733.337.212istiogbaufake0.110.5180.773.643istiorosenhouse0.110.5180.773.644istiotheganyo0.261.1974.243.345elixirsandeshsoni0.110.3594.443.016elixirrafaelfranca0.160.5186.212.747elixirlackac0.120.3785.712.738metabasecamsaul1.6736.0811.952.599metabasesenior0.36.610.062.1810jasmineslackersoft0.3746.881.41.76

        當(dāng)我們分析以repoter_type=Member為前提的規(guī)則時,我們還驗(yàn)證了其他身份的提問者與回答者之間是否存在關(guān)聯(lián).表9和表10說明了這種模式.可以看出,當(dāng)問題提問者是Contributor或者其他非貢獻(xiàn)者時,被某些開發(fā)人員回答問題的機(jī)會大大增加,而且很多開發(fā)人員傾向于回答這類人提出的問題.例如在表9中所研究的開發(fā)人員幾乎回答的全部問題都是非貢獻(xiàn)者提出的問題.

        表9repoter_type=Contributor→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 9 Association rules of typerepoter_type=Contributor→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1jasminedeckar010.12210016.122jasminekevinoid0.12210016.123jasmineUziTech0.25490.9114.654realm-cocoadismory0.131.1185.197.155realm-cocoaSandyChapman0.10.8781.826.876realm-cocoaJadenGeller0.544.5759.014.957metabaseVikramTiwari0.844.2273.333.698metabasejoebordes0.261.2967.53.49metabaseVarunram0.281.3967.443.3910elixirianrumford0.120.36952.7911elixirKronicDeth0.10.394.122.7712elixirPragTob0.110.3294.442.7713istiojnativio0.220.4695.35214istiojmuk0.440.9193.11.9515istiorobertpanzer0.140.2992.861.95

        表10repoter_type=others→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 10 Association rules of typerepoter_type=others→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1istiovinayvenkat0.110.381003.332istiojanevalleye2e0.150.51003.333istiojohnzheng19750.170.5794.123.134elixirmguimas0.270.781002.95elixirericbmerritt0.210.61002.96elixirmartin-langhoff0.160.471002.97metabaseLeen150.10.131001.328metabasegajus0.10.141001.329metabasezaiddabaeen0.180.241001.3210realm-cocoagithub2016a0.140.161001.1411realm-cocoaAndrewBarba0.140.161001.1412realm-cocoastaticdreams0.110.131001.1413jasminejoelmccracken0.120.131001.0814jasminemgol0.10.111001.0815jasminefloverdevel0.10.111001.08

        表11acquaintance=true→user類型在項目jasmine、istio、realm-cocoa、elixir和metabase的關(guān)聯(lián)規(guī)則

        Table 11 Association rules of typeacquaintance=true→userin jasmine,istio,realm-cocoa,elixir and metabase projects

        #ProjectConsequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1istioStono0.365.4383.9612.582istioprune9980.131.9375.411.33elixirslashmili3.51251007.124elixircdegroot1.7512.51007.125metabasepratapsingh0.120.611005.126istiogyliu5130.233.430.644.597realm-cocoaArEnSc0.190.821004.348realm-cocoamhergon0.120.511004.349metabasethat0n3guy0.120.6184.384.3210metabaseanki-code0.63.0683.334.2711realm-cocoagithub2016a0.10.44964.1612elixirriverrun5.2637.533.332.38

        我們的結(jié)果表明,提問者的身份不同會對開發(fā)人員回答問題有影響.一些開發(fā)人員傾向于回答對項目有貢獻(xiàn)的人提出的問題,而其他人傾向于回答非貢獻(xiàn)者提出的問題.在問答者推薦系統(tǒng)中,我們可以根據(jù)問題提問者的角色推薦相應(yīng)的開發(fā)人員去回答該問題.

        4.2.2 問題提出者與回答者之間的關(guān)系是否影響回答者的積極性?

        在本節(jié)中,我們將討論開發(fā)人員之間的顯式關(guān)系,更具體地說,是提問者和回答者之間的關(guān)系.Github提供了社交網(wǎng)絡(luò)資源,允許開發(fā)人員之間有彼此的社交關(guān)系,我們認(rèn)為社會關(guān)系反映了提問者和回答者之間的顯式關(guān)系,因此我們研究這些因素對回答者的影響.

        表12repoter→user類型的關(guān)聯(lián)規(guī)則

        Table 12 Association rules of typerepoter→user

        #ProjectAntecedent(X)Consequent(Y)Sup X->Y(%)Conf X->Y(%)Conf Y->X(%)Lift1jasmineragaskardwt3.392.0266.6719.692elixiralcoknewter3.032.9858.3319.223istioldemaillymattdelco3.874.7161.1115.784istiorshriramprune9983.472.3941.6712.025realm-cocoatgoyneanlaital5.32.8762.511.796jasmineinfewswyuenho8.931.1510011.27realm-cocoabdashliuxuan306.351.7664.7110.28metabasetlrobinsontomkanjam7.041.1862.58.889elixirericmjtony6126.040.85508.2710istiostalejohn-a-joyce9.531.0466.67711realm-cocoajpsimpeterpaulis15.410.721006.4912metabasecamsaulLukeAbell11.81.0671.436.0513metabasesalsakranhugocar11.090.8357.895.2214jasmineslackersoftmyitcv22.570.451004.4315elixirjosevalimKabie33.540.311002.98

        我們從acquaintance=true→user中提取規(guī)則,即當(dāng)回答者與提問者是熟人時,回答者回答該問題的機(jī)會大大增加.表11顯示了istio、realm-cocoa、elixir和metabase項目的規(guī)則及其度量.結(jié)果表明,這種模式不僅存在,還非常顯著.此表僅說明每個項目排名前三的最重要規(guī)則,例如規(guī)則1顯示,在項目istio中,當(dāng)” Stono”與提問者是熟人時,他回答該熟人提出的問題的機(jī)會增加了11.58倍(Lift=12.58).規(guī)則2到12表示相同的模式,但Lift相對較小.

        可以得出結(jié)論,當(dāng)由熟人提交問題時,被一些開發(fā)人員回答的機(jī)會會增加(最多11.58倍).對于給定提問者,部分開發(fā)人員可能會與其存在利益沖突,挖掘這個規(guī)則可以幫助我們替換提問者和回答者的配對來緩解這種沖突.

        4.2.3 回答者之間是否經(jīng)常以配對的形式出現(xiàn)去回答問題?

        開發(fā)人員之間的關(guān)系可能由于在項目中沒有明確建立而被隱藏,例如技術(shù)能力或共有興趣等,我們認(rèn)為這些關(guān)系是隱式的,但對分析提問者對回答者的影響同樣重要.

        如上所述,有些關(guān)系可能是隱式的,為了得到這樣的關(guān)系,我們尋找由一個給定開發(fā)人員回答的問題,這些問題被其他開發(fā)人員回答的幾率,即某些開發(fā)人員是否經(jīng)常一起回答同一個問題.我們從項目jasmine、istio、realm-cocoa、elixir和metabase中挖掘了repoter→user類型的規(guī)則.表12顯示了挖掘的規(guī)則及其興趣度量,其中repoter是先導(dǎo),user是后繼.結(jié)果表明,回答者經(jīng)常以配對的形式出現(xiàn)在問題討論中.

        我們的分析表明,開發(fā)人員經(jīng)常成對出現(xiàn)在問題討論中,這對問答者推薦具有重要指導(dǎo)意義.如果已知某問題的部分回答者,可以根據(jù)其配對情況推薦其他開發(fā)人員回答問題.

        5 總結(jié)與展望

        在本文中我們進(jìn)行了一個關(guān)于影響開發(fā)人員回答問題因素的研究,以便加速開源項目的開發(fā)進(jìn)程.我們的結(jié)果可能為日后推薦相關(guān)開發(fā)人員回答問題提供依據(jù),這些結(jié)果有助于解釋不同的開發(fā)人員對問題積極性為什么不同.

        根據(jù)我們的研究結(jié)果,可以得出以下七個結(jié)論.首先,提出問題的人是否對項目有過貢獻(xiàn)會影響開發(fā)人員回答的積極性.例如,一些開發(fā)人員偏好Contributor提出的問題,置信度從52%到100%不等.其次,提問者和回答者之間的社會關(guān)系可能會影響開發(fā)人員的回答,一些開發(fā)人員經(jīng)常(多達(dá)11.58倍)評論熟人提出的問題.第三,問題的難易程度對開發(fā)人員會產(chǎn)生影響,根據(jù)問題的難易程度,當(dāng)問題比較簡單時特定的開發(fā)人員去回答該問題的可能性最多可增加4倍.第四,問題的純文本長度是影響開發(fā)人員回答問題的重要因素之一,我們發(fā)現(xiàn)某些開發(fā)人員傾向于回答長度較短的問題(置信度最高達(dá)100%).第五,問題中是否含有代碼是衡量開發(fā)人員技術(shù)偏好的因素之一,含有代碼的問題被部分開發(fā)人員回答的概率最多可增加79%.第六,問題的維護(hù)類型對開發(fā)人員積極性同樣有影響,當(dāng)開發(fā)人員看到自己偏好的維護(hù)類型的問題時,他評論此類問題的可能性會大大增加.第七,我們發(fā)現(xiàn)回答者之間經(jīng)常一起評論問題,即開發(fā)人員以配對的形式出現(xiàn)在問題的討論中,我們可以根據(jù)當(dāng)前已回答該問題的開發(fā)人員尋找其配對人員,從而完成推薦.

        此外,我們指出,除了確定與開發(fā)人員回答問題相關(guān)的影響因素外,采用的方法還允許我們量化這種影響程度.我們的研究還考慮了定性因素,例如整個項目歷史中提交的問題數(shù)量和開發(fā)人員的技術(shù)領(lǐng)域,用于描述觀察到的模式.

        在未來的研究中,我們打算根據(jù)研究的影響因素對問題進(jìn)行回答者推薦,此外我們打算分析特征組合是否會增加問題回答者的回答幾率,并將其用到推薦系統(tǒng)中.

        猜你喜歡
        回答者提問者開發(fā)人員
        接夢話
        中國詩歌(2019年6期)2019-11-15 00:26:47
        Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
        分答與知識共享
        快問快答
        讓W(xué)indows 10進(jìn)入開發(fā)者模式
        電腦迷(2015年12期)2015-04-29 23:22:51
        后悔了?教你隱藏開發(fā)人員選項
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        創(chuàng)新者:“孤獨(dú)的”提問者
        天才與鍛煉(節(jié)選)
        高考模擬題精選之情景交際題參考答案
        三星SMI擴(kuò)展Java論壇 開發(fā)人員可用母語
        亚洲精品在线观看自拍| 精品国产天堂综合一区在线 | 欧亚精品无码永久免费视频| 亚洲色成人网站www永久| 国产一区二区三区av观看| 国产suv精品一区二区69| 999zyz玖玖资源站永久| 亚洲一区二区不卡日韩| 免费观看又污又黄的网站| 51国产偷自视频区视频| 亚洲欧美在线观看一区二区| 精品综合久久久久久888蜜芽 | 台湾佬综合网| 日本添下边视频全过程| 色哟哟精品中文字幕乱码| 综合三区后入内射国产馆| 中文字幕亚洲欧美在线不卡| 日本av一区二区在线| 日韩欧美在线观看成人| 色avav色av爱avav亚洲色拍| 精品国产一区二区三区性色| 日本一道dvd在线中文字幕| 日本人与黑人做爰视频网站| 精品人妖一区二区三区四区| 国产乱老熟视频乱老熟女1| 久久精品人成免费| 亚洲日韩av一区二区三区中文| 国产天堂av在线播放资源| 亚欧乱色束缚一区二区三区| 人妻少妇久久中文字幕一区二区| 国产一区二区三区在线综合视频| 午夜婷婷国产麻豆精品| 国产亚洲欧洲AⅤ综合一区| 亚洲一区 日韩精品 中文字幕| 亚洲最好看的中文字幕| 免费av网址一区二区| 一本到无码AV专区无码| a级毛片免费完整视频| 成人免费自拍视频在线观看 | 成人午夜福利视频后入| 精品国产亚洲第一区二区三区|