日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据驱动的软件开发者智能协作技术

發(fā)布時(shí)間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据驱动的软件开发者智能协作技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

點(diǎn)擊上方藍(lán)字關(guān)注我們

數(shù)據(jù)驅(qū)動(dòng)的軟件開(kāi)發(fā)者智能協(xié)作技術(shù)

張建1,2,3,?孟祥鑫1,2,3,?孫海龍1,2,3,?王旭1,2,3,?劉旭東1,2,3

1?軟件開(kāi)發(fā)環(huán)境國(guó)家重點(diǎn)實(shí)驗(yàn)室(北京航空航天大學(xué)),北京 100191

2?北京航空航天大學(xué)大數(shù)據(jù)科學(xué)與腦機(jī)智能高精尖創(chuàng)新中心,北京 100191

3?北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191

?

摘要通過(guò)挖掘并利用軟件大數(shù)據(jù)中蘊(yùn)含的知識(shí)來(lái)提高軟件開(kāi)發(fā)的智能化水平已成為軟件工程領(lǐng)域的熱點(diǎn)研究問(wèn)題。然而,對(duì)軟件開(kāi)發(fā)者及其群體協(xié)作方法的研究尚未形成系統(tǒng)化的研究成果。針對(duì)此問(wèn)題,以開(kāi)發(fā)者群體為研究對(duì)象,通過(guò)深入分析開(kāi)發(fā)者的行為歷史數(shù)據(jù),研究面向智能協(xié)作的關(guān)鍵技術(shù),并以此為基礎(chǔ)研制相應(yīng)的支撐環(huán)境。首先,收集并分析了海量的開(kāi)發(fā)者相關(guān)數(shù)據(jù);第二,給出了軟件開(kāi)發(fā)者能力特征模型及其協(xié)作關(guān)系模型,并構(gòu)建了開(kāi)發(fā)者知識(shí)圖譜;第三,以開(kāi)發(fā)者知識(shí)圖譜為支撐,闡述了基于智能推薦的協(xié)作開(kāi)發(fā)方法。基于以上關(guān)鍵技術(shù),研發(fā)了相應(yīng)的支撐工具,并構(gòu)建了智能協(xié)作開(kāi)發(fā)環(huán)境系統(tǒng);最后,對(duì)未來(lái)的工作進(jìn)行了展望。

關(guān)鍵詞智能化軟件開(kāi)發(fā)?;?大數(shù)據(jù)?;?群體協(xié)作?;?知識(shí)圖譜?;?推薦系統(tǒng)

論文引用格式:

張建, 孟祥鑫, 孫海龍,? et al. 數(shù)據(jù)驅(qū)動(dòng)的軟件開(kāi)發(fā)者智能協(xié)作技術(shù)[J]. 大數(shù)據(jù), 2021, 7(1): 76-93.

ZHANG J, MENG X X, SUN H L, et al. Data driven intelligent collaboration of software developers[J]. Big Data Research, 2021, 7(1): 76-93.


1 引言

軟件開(kāi)發(fā)是以“開(kāi)發(fā)者”為中心的智力密集型活動(dòng)。盡管在模型驅(qū)動(dòng)和人工智能等技術(shù)的推動(dòng)下,部分開(kāi)發(fā)任務(wù)可以實(shí)現(xiàn)一定程度的自動(dòng)處理,但是由于軟件開(kāi)發(fā)的高度復(fù)雜性,大多數(shù)開(kāi)發(fā)任務(wù)尚難以自動(dòng)完成,開(kāi)發(fā)者依然是軟件開(kāi)發(fā)過(guò)程中的核心要素。不僅如此,軟件開(kāi)發(fā)的復(fù)雜性使得大部分軟件開(kāi)發(fā)任務(wù)難以由單個(gè)開(kāi)發(fā)人員獨(dú)立完成,通常需要開(kāi)發(fā)者群體的共同協(xié)作。例如,據(jù)報(bào)道,Windows 7的開(kāi)發(fā)涉及2 000多人共25個(gè)子團(tuán)隊(duì)的協(xié)作。特別是,開(kāi)源軟件、眾包等基于互聯(lián)網(wǎng)的軟件開(kāi)發(fā)模式涉及的開(kāi)發(fā)者數(shù)量龐大,且開(kāi)發(fā)者相互之間了解有限,因此,建立開(kāi)發(fā)者之間的高效協(xié)作成為更加迫切的需求。例如,開(kāi)源社區(qū)GitHub擁有5 600多萬(wàn)個(gè)注冊(cè)用戶,其中拉取請(qǐng)求(pull request)機(jī)制是GitHub倡導(dǎo)的社會(huì)化編程的核心內(nèi)容,但如果沒(méi)有推薦技術(shù)的支持,一個(gè)拉取請(qǐng)求得到用戶評(píng)論的平均時(shí)間會(huì)延長(zhǎng)12天;軟件開(kāi)發(fā)問(wèn)答社區(qū)Stack Overflow匯聚了1 300多萬(wàn)個(gè)用戶,但仍然有超過(guò)620萬(wàn)個(gè)問(wèn)題(約占總問(wèn)題的30%)未得到有效回答,其主要原因是缺乏針對(duì)問(wèn)題進(jìn)行回答者推薦的支持。總之,開(kāi)發(fā)者群體在開(kāi)發(fā)過(guò)程中的協(xié)作效率與效果在很大程度上影響著軟件的開(kāi)發(fā)效率和質(zhì)量。因此,研究開(kāi)發(fā)者的能力、行為及其相互影響,并提供相應(yīng)的協(xié)作支撐方法具有重要的意義。

圖靈獎(jiǎng)獲得者Frederick P. Brooks在其《人月神話》一書中明確指出:簡(jiǎn)單地基于“人月”來(lái)度量和計(jì)劃軟件開(kāi)發(fā)任務(wù)存在不足。例如,軟件開(kāi)發(fā)成本會(huì)隨著開(kāi)發(fā)人數(shù)和時(shí)間的變化而發(fā)生變化,但進(jìn)度卻可能變緩甚至停滯。這充分說(shuō)明,僅考慮開(kāi)發(fā)者數(shù)量和開(kāi)發(fā)時(shí)間而忽視開(kāi)發(fā)任務(wù)的復(fù)雜性以及開(kāi)發(fā)者的協(xié)作效率是不可行的。實(shí)際上,廣義的開(kāi)發(fā)者群體協(xié)作主要研究以開(kāi)發(fā)者為中心的軟件開(kāi)發(fā)過(guò)程中各種要素之間的連接、交互和作用機(jī)理,以提升人與人、人與工具、人與數(shù)據(jù)、數(shù)據(jù)與工具之間的協(xié)作效率,從而提高軟件開(kāi)發(fā)的效率和質(zhì)量。而狹義的群體協(xié)作主要指開(kāi)發(fā)者群體之間的協(xié)作,一般體現(xiàn)在4個(gè)方面:直接的溝通與交流、開(kāi)發(fā)任務(wù)的分配、開(kāi)發(fā)結(jié)果的匯聚、開(kāi)發(fā)資源的重用。在現(xiàn)有的軟件開(kāi)發(fā)中,開(kāi)發(fā)者之間的協(xié)作多依賴于開(kāi)發(fā)者的主觀經(jīng)驗(yàn)進(jìn)行,協(xié)作效率低,缺乏智能化的支持。例如,在開(kāi)發(fā)者的溝通與交流方面,交流的對(duì)象往往局限于開(kāi)發(fā)團(tuán)隊(duì)內(nèi)相互熟悉的人員,但是團(tuán)隊(duì)外或者互聯(lián)網(wǎng)上可能存在大量潛在的協(xié)作者;在開(kāi)發(fā)任務(wù)的分配上,一般由技術(shù)負(fù)責(zé)人依據(jù)其對(duì)開(kāi)發(fā)人員和開(kāi)發(fā)任務(wù)的主觀了解進(jìn)行任務(wù)分配,缺乏客觀準(zhǔn)確的任務(wù)分配方法;在開(kāi)發(fā)結(jié)果的匯聚上,多采用版本管理工具進(jìn)行結(jié)果的聚合,這些工具假定每個(gè)開(kāi)發(fā)者的貢獻(xiàn)是可信的,在出現(xiàn)錯(cuò)誤甚至惡意貢獻(xiàn)的情況下,需要復(fù)雜的回滾等操作;在開(kāi)發(fā)資源的重用方面,往往局限于開(kāi)發(fā)團(tuán)隊(duì)內(nèi)部積累的軟件資源庫(kù),而缺乏對(duì)互聯(lián)網(wǎng)上更大范圍的資源的重用支持。因此,基于互聯(lián)網(wǎng)中的海量開(kāi)發(fā)者相關(guān)數(shù)據(jù),近年來(lái)大量的工作研究了面向特定開(kāi)發(fā)任務(wù)的開(kāi)發(fā)者推薦和開(kāi)發(fā)資源推薦。一方面,開(kāi)發(fā)者推薦面向開(kāi)發(fā)過(guò)程中的不同階段,推薦合適的開(kāi)發(fā)人員,包括代碼評(píng)審者推薦、開(kāi)發(fā)者以及開(kāi)發(fā)團(tuán)隊(duì)推薦等;另一方面,開(kāi)發(fā)資源推薦推薦的是開(kāi)發(fā)過(guò)程中需要的軟件資源,包括應(yīng)用程序接口(application programming interface, API)推薦、代碼推薦和代碼修復(fù)補(bǔ)丁推薦等。然而,這類工作只關(guān)注與特定任務(wù)相關(guān)的歷史數(shù)據(jù),忽略了對(duì)開(kāi)發(fā)者及其協(xié)作關(guān)系的分析,使得推薦性能受到限制。此外,目前還沒(méi)有形成系統(tǒng)化的軟件開(kāi)發(fā)者智能協(xié)作環(huán)境,不能很好地支撐高效的軟件協(xié)作開(kāi)發(fā)。

針對(duì)軟件開(kāi)發(fā)中開(kāi)發(fā)者協(xié)作面臨的問(wèn)題,本文以提高開(kāi)發(fā)者的協(xié)作效率為目標(biāo),研究智能化的群體協(xié)作方法,并開(kāi)發(fā)智能化的協(xié)作開(kāi)發(fā)支撐環(huán)境。其核心是通過(guò)對(duì)互聯(lián)網(wǎng)及企業(yè)內(nèi)等積累的軟件開(kāi)發(fā)大數(shù)據(jù)進(jìn)行分析,對(duì)開(kāi)發(fā)者的能力特征和歷史協(xié)作行為等進(jìn)行定性和定量的分析,進(jìn)而面向特定的軟件開(kāi)發(fā)任務(wù)提供智能化的協(xié)作支持。首先,收集和匯聚大量的軟件開(kāi)發(fā)數(shù)據(jù),學(xué)習(xí)開(kāi)發(fā)者的能力特征,并挖掘其中隱含的協(xié)作關(guān)系,從而建立以開(kāi)發(fā)者為中心的知識(shí)庫(kù)。第二,在此基礎(chǔ)上,一方面,根據(jù)開(kāi)發(fā)者能力和行為等,突破開(kāi)發(fā)者推薦和智能的任務(wù)分配關(guān)鍵技術(shù),提高軟件開(kāi)發(fā)中開(kāi)發(fā)者“顯式協(xié)作”的效率;另一方面,基于開(kāi)發(fā)者關(guān)聯(lián)關(guān)系進(jìn)行分析,突破軟件資源(代碼、問(wèn)答等)智能推薦和重用關(guān)鍵技術(shù),以提高基于軟件資源的開(kāi)發(fā)者“隱式協(xié)作”的效率。第三,在關(guān)鍵技術(shù)突破的基礎(chǔ)上,研發(fā)相應(yīng)的智能協(xié)作工具集,面向開(kāi)發(fā)人員建立開(kāi)放敏捷的自組織式協(xié)作支撐環(huán)境,實(shí)現(xiàn)智能任務(wù)分配和資源推薦等。

總體來(lái)說(shuō),本文的主要貢獻(xiàn)如下:

● 提出了面向軟件開(kāi)發(fā)的智能化群體協(xié)作的研究框架,給出了其中的核心研究問(wèn)題;

● 提出了開(kāi)發(fā)者能力模型與協(xié)作關(guān)系模型,并基于從互聯(lián)網(wǎng)上收集的軟件開(kāi)發(fā)大數(shù)據(jù)構(gòu)建了開(kāi)發(fā)者知識(shí)圖譜;

● 在開(kāi)發(fā)者知識(shí)圖譜的基礎(chǔ)上,針對(duì)開(kāi)發(fā)者的智能推薦和開(kāi)發(fā)資源推薦,提出了若干關(guān)鍵技術(shù),并基于真實(shí)數(shù)據(jù)進(jìn)行了實(shí)驗(yàn)評(píng)估;

● 研制了一個(gè)智能協(xié)作開(kāi)發(fā)支撐環(huán)境的系統(tǒng),并開(kāi)展了應(yīng)用實(shí)踐。

2 智能協(xié)作框架

開(kāi)發(fā)者協(xié)作一直是軟件開(kāi)發(fā)中的關(guān)鍵問(wèn)題。研究表明,在大的軟件開(kāi)發(fā)項(xiàng)目中,開(kāi)發(fā)人員花費(fèi)70%以上的時(shí)間進(jìn)行相互協(xié)作,同時(shí)也有研究表明,在有些大型軟件開(kāi)發(fā)中,團(tuán)隊(duì)性的活動(dòng)占85%以上。早期的軟件開(kāi)發(fā)活動(dòng)大多局限于企業(yè)內(nèi)部,因此相關(guān)的研究工作主要集中于提供諸如版本控制等工具來(lái)實(shí)現(xiàn)開(kāi)發(fā)者共同開(kāi)發(fā)軟件。隨著互聯(lián)網(wǎng)的發(fā)展和成熟,尤其是在社交媒體與社交網(wǎng)絡(luò)(social network)被廣泛應(yīng)用到軟件開(kāi)發(fā)中后,大量的研究開(kāi)始集中于對(duì)基于互聯(lián)網(wǎng)軟件資源的開(kāi)發(fā)者的協(xié)作分析。

本文在現(xiàn)有研究的基礎(chǔ)上,提出了智能協(xié)作支撐環(huán)境的框架:收集軟件開(kāi)發(fā)者協(xié)作開(kāi)發(fā)產(chǎn)生的多源異構(gòu)大數(shù)據(jù),提取出其中蘊(yùn)含的軟件開(kāi)發(fā)知識(shí),并以知識(shí)圖譜的形式進(jìn)行組織,進(jìn)一步借助于搜索、推薦等技術(shù),將這些知識(shí)應(yīng)用于軟件開(kāi)發(fā)活動(dòng),從而實(shí)現(xiàn)軟件開(kāi)發(fā)者的智能協(xié)作,最終為提高軟件開(kāi)發(fā)效率與質(zhì)量提供支撐。整體的研究框 架如圖1所示。

圖1???面向軟件開(kāi)發(fā)的智能化群體協(xié)作框架

在該框架中,開(kāi)發(fā)者相關(guān)知識(shí)是智能協(xié)作開(kāi)發(fā)環(huán)境的關(guān)鍵所在。具體來(lái)講,圍繞開(kāi)發(fā)者知識(shí)的提取與利用,需要解決4類關(guān)鍵問(wèn)題。

● 數(shù)據(jù)源。從數(shù)據(jù)源增量爬取的數(shù)據(jù)是多源異構(gòu)的,這種原始數(shù)據(jù)包含雜亂無(wú)章的信息。這些信息對(duì)于推薦或搜索層來(lái)說(shuō)價(jià)值很低,不能被直接使用,需要對(duì)這些數(shù)據(jù)進(jìn)行有效管理和知識(shí)提取。

● 開(kāi)發(fā)者知識(shí)庫(kù)。考慮到上層的軟件開(kāi)發(fā)者知識(shí)需求,知識(shí)提取的技術(shù)主要包括兩種:開(kāi)發(fā)者能力評(píng)估技術(shù)和開(kāi)發(fā)者關(guān)系挖掘技術(shù)。開(kāi)發(fā)者能力評(píng)估技術(shù)的核心是建立定性定量相結(jié)合的多維開(kāi)發(fā)者能力模型,以全面地刻畫開(kāi)發(fā)者的能力;開(kāi)發(fā)者關(guān)系挖掘技術(shù)則主要依賴協(xié)作關(guān)系模型,包含開(kāi)發(fā)者-開(kāi)發(fā)者關(guān)系以及開(kāi)發(fā)者-軟件資源的關(guān)聯(lián)關(guān)系。于是構(gòu)成了開(kāi)發(fā)者能力、開(kāi)發(fā)者關(guān)系以及開(kāi)發(fā)資源的知識(shí)統(tǒng)一體,其表現(xiàn)形式為開(kāi)發(fā)者知識(shí)圖譜。

● 推薦與搜索。構(gòu)建知識(shí)庫(kù)的目標(biāo)是將其中的知識(shí)應(yīng)用到軟件開(kāi)發(fā)過(guò)程中,具體的方式包括面向智能協(xié)作的知識(shí)搜索以及知識(shí)推薦。其中,搜索技術(shù)既包括開(kāi)發(fā)者及其關(guān)聯(lián)資源的搜索,也包括開(kāi)發(fā)者的能力以及開(kāi)發(fā)者之間的關(guān)系搜索;智能推薦是借助于開(kāi)發(fā)者能力模型知識(shí)和協(xié)作關(guān)系模型的開(kāi)發(fā)者推薦與開(kāi)發(fā)資源推薦技術(shù)。

● 工具集。其主要包括開(kāi)發(fā)者推薦和開(kāi)發(fā)資源推薦工具,同時(shí),在開(kāi)發(fā)者使用這些工具進(jìn)行軟件開(kāi)發(fā)的過(guò)程中,通過(guò)開(kāi)發(fā)行為監(jiān)控與感知,又能夠擴(kuò)充或更新開(kāi)發(fā)者知識(shí)圖譜中的知識(shí)。

在開(kāi)發(fā)者知識(shí)的驅(qū)動(dòng)下,這4種關(guān)鍵技術(shù)問(wèn)題形成了閉環(huán)的智能協(xié)作環(huán)境,即數(shù)據(jù)獲取→開(kāi)發(fā)者知識(shí)庫(kù)的構(gòu)建→知識(shí)搜索與推薦→智能釋放工具集→開(kāi)發(fā)者知識(shí)圖譜的更新。

因此,智能協(xié)作的核心是對(duì)開(kāi)發(fā)者知識(shí)的利用。本文提出了一種新的智能協(xié)作分析方法,即開(kāi)發(fā)者知識(shí)圖譜(developer knowledge graph)。該方法結(jié)合了開(kāi)發(fā)者能力建模和開(kāi)發(fā)者協(xié)作分析的方法,形成了一體化的開(kāi)發(fā)者協(xié)作知識(shí)網(wǎng)絡(luò),貫穿了整個(gè)智能協(xié)作環(huán)境。

3 開(kāi)發(fā)者知識(shí)圖譜

開(kāi)發(fā)者知識(shí)圖譜是將開(kāi)發(fā)者作為知識(shí)結(jié)點(diǎn)、將開(kāi)發(fā)者協(xié)作關(guān)系作為邊的知識(shí)圖譜。其中,結(jié)點(diǎn)描述了開(kāi)發(fā)者的能力特征,邊描述了開(kāi)發(fā)者之間的協(xié)作關(guān)系,因此定義開(kāi)發(fā)者能力模型和開(kāi)發(fā)者協(xié)作關(guān)系模型是構(gòu)建知識(shí)圖譜的關(guān)鍵。在本文的工作中,為了覆蓋更多的開(kāi)發(fā)知識(shí),筆者也將開(kāi)發(fā)資源結(jié)點(diǎn)以及開(kāi)發(fā)者與開(kāi)發(fā)資源的關(guān)系納入了知識(shí)圖譜。

3.1 開(kāi)發(fā)者能力模型

現(xiàn)有的開(kāi)發(fā)者能力評(píng)估方法存在一些不足:第一,大多數(shù)的能力評(píng)估方法只注重對(duì)開(kāi)發(fā)者的開(kāi)發(fā)語(yǔ)言技能的抽取與評(píng)分,具有一定的片面性;第二,現(xiàn)有方法沒(méi)有綜合考慮開(kāi)發(fā)者在開(kāi)發(fā)活動(dòng)中表現(xiàn)出的個(gè)人貢獻(xiàn)與團(tuán)隊(duì)合作能力;第三,開(kāi)發(fā)者的能力不僅體現(xiàn)在個(gè)人編寫的代碼中,也體現(xiàn)在不同的開(kāi)發(fā)活動(dòng)(如問(wèn)答、測(cè)試等)中。因此,如何提供一種通用的模型來(lái)刻畫各類型開(kāi)發(fā)者的能力是需要解決的一個(gè)難題。

針對(duì)以上問(wèn)題,本文提出了一種新的開(kāi)發(fā)者能力模型,從多個(gè)維度度量開(kāi)發(fā)者的能 力,如圖2 所示。

圖2???軟件開(kāi)發(fā)者能力模型

本文刻畫了開(kāi)發(fā)者能力的3個(gè)主要方面,并且基于度量的靈活性,建立了開(kāi)發(fā)者能力樹。具體來(lái)說(shuō),樹的根結(jié)點(diǎn)為開(kāi)發(fā)者能力,其子樹分別為專業(yè)技能(skill)、貢獻(xiàn)度(contribution)以及協(xié)作度(collaboration)。本文對(duì)能力的刻畫以統(tǒng)計(jì)方法為基礎(chǔ),該方法更適用于大型社區(qū)(如GitHub、Stack Overflow),且可解釋性較強(qiáng)。下面分別對(duì)這3個(gè)維度進(jìn)行具體說(shuō)明。

專業(yè)技能表示開(kāi)發(fā)者掌握的開(kāi)發(fā)技能,包括編程語(yǔ)言、技術(shù)框架以及操作系統(tǒng)等,主要考察開(kāi)發(fā)者在開(kāi)發(fā)活動(dòng)中是否具備某項(xiàng)技能以及能否符合任務(wù)需求,因此,以key:value的形式表示。這里key和value分別以定性和定量的方式表示開(kāi)發(fā)者的專業(yè)技能掌握程度。例如,對(duì)于掌握J(rèn)ava、Python語(yǔ)言以及Spring框架并且熟悉Linux的開(kāi)發(fā)者,其專業(yè)技能可以表示為{Java:6,Python:4,Spring:6,Linux:2}集合的形式。在該集合中,key為Java的技能的評(píng)分為6,在某種評(píng)分體系下,表示開(kāi)發(fā)者能夠較熟練地掌握J(rèn)ava語(yǔ)言,其他技能依此類推。關(guān)于技能的抽取和評(píng)分,可以集成已有的研究方法。本文針對(duì)活躍在不同社區(qū)的開(kāi)發(fā)者構(gòu)建了簡(jiǎn)單易行的評(píng)分體系。例如,在Stack Overflow社區(qū)中,從開(kāi)發(fā)者回答的問(wèn)題中抽取出技能標(biāo)簽集合,記為Γ。對(duì)于每 個(gè)技能標(biāo)簽T∈Γ,找出開(kāi)發(fā)者在該標(biāo)簽下的回答集合A=∪αi,每個(gè)回答有對(duì)應(yīng)的回答得分si,則開(kāi)發(fā)者在該技能標(biāo)簽T下的技能得分為。類似地,在其他社區(qū)中也主要采用基于統(tǒng)計(jì)分析的方式對(duì)開(kāi)發(fā)者技能進(jìn)行評(píng)估。

貢獻(xiàn)度是指開(kāi)發(fā)者在特定社區(qū)中對(duì)該社區(qū)作出的貢獻(xiàn),主要考察開(kāi)發(fā)者在社區(qū)中的活躍程度,同時(shí)也是對(duì)其熟練度的刻畫。這些貢獻(xiàn)指的是開(kāi)發(fā)者的各項(xiàng)活動(dòng),如在GitHub開(kāi)源社區(qū)中參與項(xiàng)目或提交代碼、在Stack Overflow問(wèn)答社區(qū)中回答問(wèn)題等。為了客觀地度量各個(gè)社區(qū)中開(kāi)發(fā)者的貢獻(xiàn),筆者首先抽取開(kāi)發(fā)者不同貢獻(xiàn)的集合C={Ci|i=1,2,3,…,N}組成該開(kāi)發(fā)者的貢獻(xiàn)的key集合,對(duì)于每一個(gè)key,即Ci,以屬于該key的活動(dòng)集合的累加數(shù)目Vi組成在該key下的貢獻(xiàn)值。例如,開(kāi)發(fā)者D在GitHub中提交了m次代碼,則其貢獻(xiàn)度表示為{commit:m},其他貢獻(xiàn)也是同樣的計(jì)算方式。

協(xié)作度指開(kāi)發(fā)者在特定社區(qū)的開(kāi)發(fā)活動(dòng)中與其他開(kāi)發(fā)者的關(guān)聯(lián)關(guān)系,用于考察開(kāi)發(fā)者與其他開(kāi)發(fā)者之間的團(tuán)隊(duì)協(xié)作能力。開(kāi)發(fā)者在特定社區(qū)中共同完成任務(wù)或者互相關(guān)注(follow),形成了諸多關(guān)系,主要包括社交關(guān)系與協(xié)作關(guān)系。例如,在GitHub中,開(kāi)發(fā)者可以關(guān)注其他開(kāi)發(fā)者,也可以被關(guān)注,因此產(chǎn)生了較為緊密的社交關(guān)系。由于每個(gè)社區(qū)的協(xié)作方式存在差異,在計(jì)算協(xié)作度時(shí)仍然按照統(tǒng)計(jì)協(xié)作頻度的方式對(duì)開(kāi)發(fā)者的協(xié)作能力進(jìn)行評(píng)價(jià),以保持模型的通用性。

按照上述方法,能夠得到每個(gè)維度下的詳細(xì)評(píng)分。對(duì)于這些詳細(xì)評(píng)分,可按照該子樹的分支的權(quán)重進(jìn)行加權(quán)計(jì)算得到整個(gè)維度的評(píng)分。以某個(gè)開(kāi)發(fā)者的專業(yè)技能為例,假設(shè)其中包含N個(gè)技能標(biāo)簽T1,T2,…,TN,對(duì)應(yīng)的得分為S1,S2,…,SN,按照某種任務(wù)需求,其技能權(quán)重為ω12,… ,ωN,則L其專業(yè)技能的整體得分為:

同樣,可得到貢獻(xiàn)度和協(xié)作度維度下的得分,記為P2、P3。考慮不同的側(cè)重點(diǎn),每個(gè)維度又可以有權(quán)重μ1、μ2、μ3。于是,該開(kāi)發(fā)者的總得分為:

這項(xiàng)得分給出了開(kāi)發(fā)者的整體能力。

3.2 開(kāi)發(fā)者協(xié)作關(guān)系模型

開(kāi)發(fā)者協(xié)作關(guān)系分析與開(kāi)發(fā)者能力評(píng)估同等重要,它們都是知識(shí)凝練的結(jié)果。從宏觀的角度來(lái)看,本文的開(kāi)發(fā)者協(xié)作關(guān)系的表示方法與開(kāi)發(fā)者網(wǎng)絡(luò)是相似的。然而,現(xiàn)有的研究提出的開(kāi)發(fā)者網(wǎng)絡(luò)僅僅是開(kāi)發(fā)者協(xié)作關(guān)系模型的一部分,因?yàn)槠渫环治隽四骋环N協(xié)作關(guān)系,如共同修改某一文件等。另外,現(xiàn)有方法也未對(duì)協(xié)作關(guān)系強(qiáng)度進(jìn)行度量。

本文提出了一種開(kāi)發(fā)者協(xié)作模型,即抽象出的跨社區(qū)的協(xié)作關(guān)系模型,該模型在各個(gè)社區(qū)中均是適用的。其在知識(shí)圖譜中被表示為開(kāi)發(fā)者結(jié)點(diǎn)之間的邊,這些邊包含的協(xié) 作關(guān)系如圖3所示。

圖3???軟件開(kāi)發(fā)者協(xié)作關(guān)系模型

按照協(xié)作關(guān)系類型,將所有的協(xié)作關(guān)系劃分為三大類,分別是社交關(guān)系、直接協(xié)作與間接協(xié)作。在每個(gè)類型下又包含了詳細(xì)的協(xié)作關(guān)系,將關(guān)系類型和關(guān)系強(qiáng)度作為協(xié)作關(guān)系的屬性。在開(kāi)發(fā)者的開(kāi)發(fā)活動(dòng)中,社交關(guān)系是指開(kāi)發(fā)者之間的在特定社區(qū)中的人際關(guān)系。雖然與開(kāi)發(fā)活動(dòng)并不直接相關(guān),但是社交關(guān)系會(huì)對(duì)軟件開(kāi)發(fā)效率產(chǎn)生重要影響。例如,社交關(guān)系又可以分為follow關(guān)系和in organization關(guān)系等,分別表示開(kāi)發(fā)者之間的互相關(guān)注和開(kāi)發(fā)者隸屬于同一個(gè)組織等。直接協(xié)作指開(kāi)發(fā)者之間的直接交互關(guān)系,即兩個(gè)開(kāi)發(fā)者面對(duì)同一任務(wù)需要緊密的溝通合作。例如開(kāi)發(fā)者D1與開(kāi)發(fā)者D2之間存在answer to和call API的關(guān)系,則分別表示D1回答了D2提出的問(wèn)題、D1實(shí)現(xiàn)某些功能時(shí)調(diào)用了D2提供的接口,number表示這些協(xié)作的頻度。此外,開(kāi)發(fā)者共同修改代碼文件、對(duì)同一代碼的開(kāi)發(fā)和測(cè)試也屬于這種緊密型的協(xié)作關(guān)系,其他類似的協(xié)作關(guān)系還有很多。間接協(xié)作指開(kāi)發(fā)者之間的間接交互關(guān)系。相對(duì)于直接協(xié)作來(lái)說(shuō),它是一種較弱的協(xié)作關(guān)系,但對(duì)于整體的開(kāi)發(fā)任務(wù)也起到了一定的作用。例如開(kāi)發(fā)者D1與開(kāi)發(fā)者D2都回答了某個(gè)問(wèn)題,或者都向某個(gè)開(kāi)源項(xiàng)目提交了自己的代碼,則他們之間分別構(gòu)成了co-answer和co-commit的關(guān)系。同樣,這里number用來(lái)表示間接協(xié)作的關(guān)系發(fā)生的頻度。類似的協(xié)作關(guān)系還有眾包社區(qū)中開(kāi)發(fā)者共同參與某一項(xiàng)目中的不同任務(wù)等。

此外,筆者還提出了眾包社區(qū)中開(kāi)發(fā)者能力演化模型、基于知識(shí)追蹤的眾包軟件開(kāi)發(fā)者能力評(píng)估方法、基于程序代碼分析的開(kāi)發(fā)者能力刻畫方法、實(shí)體級(jí)的開(kāi)發(fā)者情感分析方法和跨社區(qū)的軟件開(kāi)發(fā)者畫像方法等。

4 基于開(kāi)發(fā)者知識(shí)圖譜的智能推薦方法

在大規(guī)模軟件開(kāi)發(fā)歷史數(shù)據(jù)的基礎(chǔ)上,借助對(duì)開(kāi)發(fā)者進(jìn)行建模分析形成的開(kāi)發(fā)者知識(shí)圖譜,可提供開(kāi)發(fā)者推薦與開(kāi)發(fā)資源推薦兩種智能服務(wù)。

(1)開(kāi)發(fā)者推薦

解決當(dāng)前軟件團(tuán)隊(duì)組織的相對(duì)固化、依靠主觀經(jīng)驗(yàn)、準(zhǔn)確性不高問(wèn)題的核心是根據(jù)任務(wù)特征實(shí)現(xiàn)開(kāi)發(fā)者的動(dòng)態(tài)檢索和智能推薦。因?yàn)殚_(kāi)發(fā)任務(wù)具有自己的特性,開(kāi)發(fā)者能力是復(fù)雜多維的,開(kāi)發(fā)活動(dòng)之間存在關(guān)聯(lián)依賴,所以開(kāi)發(fā)者的智能推薦具有個(gè)性化需求、復(fù)雜度高的特點(diǎn)。本文將介紹面向編碼、測(cè)試以及軟件開(kāi)發(fā)問(wèn)答等任務(wù)的開(kāi)發(fā)者智能推薦和任務(wù)分配方法,實(shí)現(xiàn)對(duì)軟件開(kāi)發(fā)任務(wù)需求與開(kāi)發(fā)者的智能匹配。基于開(kāi)發(fā)者知識(shí)圖譜中的開(kāi)發(fā)者能力建模與協(xié)作關(guān)系分析,結(jié)合傳統(tǒng)機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)方法,筆者研究了開(kāi)發(fā)者、開(kāi)發(fā)團(tuán)隊(duì)的智能推薦。例如,針對(duì)軟件問(wèn)答社區(qū)中越來(lái)越多的問(wèn)題無(wú)法得到及時(shí)回答導(dǎo)致的開(kāi)發(fā)效率下降的情況,筆者提出了一種新的利用文本潛在隱含主題的回答者推薦方法,為了提高推薦的可信度和準(zhǔn)確率,利用開(kāi)發(fā)者之間的協(xié)作關(guān)系優(yōu)化推薦效果,并以此為核心設(shè)計(jì)了一種有較高準(zhǔn)確率和可用性的面向軟件開(kāi)發(fā)的回答者推薦系統(tǒng)。這里僅以眾包軟件開(kāi)發(fā)為代表性案例(見(jiàn)第4.1節(jié)和第4.2節(jié)),詳細(xì)闡述其中的開(kāi)發(fā)者以及開(kāi)發(fā)團(tuán)隊(duì)智能推薦技術(shù)。

(2)開(kāi)發(fā)資源推薦

重用軟件開(kāi)發(fā)社區(qū)中積累的開(kāi)發(fā)資源(如代碼、問(wèn)答知識(shí)等)是提高軟件開(kāi)發(fā)效率的重要途徑,但這些資源語(yǔ)義結(jié)構(gòu)復(fù)雜、數(shù)據(jù)量大,使得已有的推薦方法準(zhǔn)確度不高、性能較低,同時(shí)資源的檢索質(zhì)量也較差,給開(kāi)發(fā)者獲取開(kāi)發(fā)資源帶來(lái)了很多困難。筆者通過(guò)檢索開(kāi)發(fā)者知識(shí)圖譜中與開(kāi)發(fā)者關(guān)聯(lián)的海量軟件資源數(shù)據(jù),提出了對(duì)這些結(jié)構(gòu)復(fù)雜的數(shù)據(jù)進(jìn)行語(yǔ)義解析的方法,為開(kāi)發(fā)者推薦在開(kāi)發(fā)過(guò)程中所需要的資源,從而實(shí)現(xiàn)以開(kāi)發(fā)資源為中心的隱式協(xié)作開(kāi)發(fā)。具體來(lái)說(shuō),筆者研究了上下文感知的編程問(wèn)答資源推薦、面向高效編程的API使用模式推薦、軟件問(wèn)答社區(qū)中的Tag推薦等技術(shù)。本文以面向高效編程的API使用模式推薦為例(見(jiàn)第4.3節(jié)),闡述開(kāi)發(fā)者資源智能推薦技術(shù)。

4.1 面向眾包軟件開(kāi)發(fā)的開(kāi)發(fā)團(tuán)隊(duì)推薦技術(shù)

近年來(lái),基于互聯(lián)網(wǎng)的眾包軟件開(kāi)發(fā)成為一種新型的軟件開(kāi)發(fā)模式,為管理者提供了發(fā)布需求的平臺(tái),也為開(kāi)發(fā)者提供了自由選擇開(kāi)發(fā)任務(wù)的機(jī)會(huì)。然而,相比于數(shù)據(jù)標(biāo)注等傳統(tǒng)任務(wù),軟件開(kāi)發(fā)更加復(fù)雜,因此往往需要團(tuán)隊(duì)協(xié)作。現(xiàn)有的團(tuán)隊(duì)推薦算法僅適用于管理者將任務(wù)指派給特定開(kāi)發(fā)團(tuán)隊(duì)的場(chǎng)景,不適用于眾包軟件開(kāi)發(fā)任務(wù)場(chǎng)景。本文提出了一種基于開(kāi)發(fā)者隊(duì)友選擇偏好的團(tuán)隊(duì)推薦算法,根據(jù)軟件開(kāi)發(fā)任務(wù)的技能需求與人員需求,考慮各開(kāi)發(fā)者的隊(duì)友選擇偏好,為開(kāi)發(fā)者推薦高協(xié)作意愿團(tuán)隊(duì),以確保團(tuán)隊(duì)的組建成功率。

本文的團(tuán)隊(duì)推薦算法首先對(duì)開(kāi)發(fā)者進(jìn)行能力建模和親密度建模,然后對(duì)協(xié)作意愿影響因素建模,分析開(kāi)發(fā)者隊(duì)友選擇偏好,基于開(kāi)發(fā)者的隊(duì)友選擇偏好建模團(tuán)隊(duì)協(xié)作意愿,設(shè)計(jì)一種基于貪心策略的近似算法,為開(kāi)發(fā)者推薦高協(xié)作意愿的團(tuán)隊(duì),以確保團(tuán)隊(duì)組建成功率,且適用于大規(guī)模眾包軟件開(kāi)發(fā)平臺(tái)。本文個(gè)性化團(tuán)隊(duì)推薦 算法框架如圖4所示,主要由以下3個(gè)模塊構(gòu)成。

圖4???個(gè)性化團(tuán)隊(duì)推薦算法框架

● 數(shù)據(jù)模型:該模塊對(duì)開(kāi)發(fā)者進(jìn)行能力建模和親密度建模。

● 團(tuán)隊(duì)協(xié)作意愿建模:該模塊首先給出協(xié)作意愿影響因素的數(shù)學(xué)表示,然后分析開(kāi)發(fā)者的隊(duì)友選擇偏好,基于開(kāi)發(fā)者的隊(duì)友選擇偏好建模團(tuán)隊(duì)協(xié)作意愿。

● 近似算法:該近似算法基于貪心策略為開(kāi)發(fā)者推薦高協(xié)作意愿的團(tuán)隊(duì),適用于大規(guī)模眾包軟件開(kāi)發(fā)平臺(tái)。

實(shí)驗(yàn) 結(jié)果表明,本文算法推薦結(jié)果明顯優(yōu)于親密度優(yōu)先(closeness first,CF)、能力提升優(yōu)先(expertise gain first,EGF)、能力差異優(yōu)先(expertise difference first,EDF)3個(gè)對(duì)比方法,本文算法推薦出的開(kāi)發(fā)團(tuán)隊(duì)存在更高的團(tuán)隊(duì)協(xié)作意愿,保證了開(kāi)發(fā)者的團(tuán)隊(duì)組建成功率。本文同時(shí)考慮了影響團(tuán)隊(duì)協(xié)作意愿的3個(gè)因素,而CF、EGF、EDF方法僅考慮了其中一個(gè)因素。Optimal方法的推薦結(jié)果是理論最優(yōu)解,該方法遍歷開(kāi)發(fā)者集合以找到推薦的理論最優(yōu)解,但其算法時(shí)間復(fù)雜度為O(nN)(其中,n表示眾包開(kāi)發(fā)者集合大小, N表示團(tuán)隊(duì)規(guī)模),復(fù)雜度高,當(dāng)數(shù)據(jù)規(guī)模很大時(shí),無(wú)法達(dá)到實(shí)時(shí)推薦的效果,不適用于大規(guī)模眾包軟件開(kāi)發(fā)平臺(tái)。本文提出的近似算法在保證推薦有效性的同時(shí),算法的時(shí)間復(fù)雜度為O(n?N)(其中,n表示眾包開(kāi)發(fā)者集合大小,N表示團(tuán)隊(duì)規(guī)模),確保了推薦的效率。

4.2 基于元學(xué)習(xí)的眾包軟件開(kāi)發(fā)者推薦方法

盡管眾包軟件開(kāi)發(fā)模式日益發(fā)展,但仍然存在一個(gè)典型的問(wèn)題,即開(kāi)發(fā)者與任務(wù)的匹配問(wèn)題。對(duì)于具有嚴(yán)格的時(shí)間要求的軟件開(kāi)發(fā)任務(wù),如何借助歷史數(shù)據(jù)評(píng)估開(kāi)發(fā)者的能力并依此推薦可靠的開(kāi)發(fā)者,以保障開(kāi)發(fā)效率和質(zhì)量,成為研究的關(guān)鍵點(diǎn)。現(xiàn)在的眾包軟件開(kāi)發(fā)者推薦方法僅能針對(duì)大數(shù)據(jù)集進(jìn)行分析建模,缺乏對(duì)小數(shù)據(jù)集的研究。多標(biāo)簽分類需要大量的數(shù)據(jù)才能訓(xùn)練出一個(gè)非常優(yōu)秀的模型,這限制了該方法在數(shù)據(jù)量不足時(shí)的應(yīng)用。此外,基于用戶角色的數(shù)據(jù)角色預(yù)測(cè)方法需要使用用戶的歷史數(shù)據(jù),小數(shù)據(jù)集上的用戶歷史顯然太少,這導(dǎo)致難以訓(xùn)練模型。現(xiàn)有技術(shù)也缺乏針對(duì)冷啟動(dòng)問(wèn)題的解決方法。在多標(biāo)簽形式的分類問(wèn)題中,其基本假設(shè)為只有注冊(cè)次數(shù)高于一定閾值時(shí)才是可靠的,那些獲勝次數(shù)少的用戶會(huì)被過(guò)濾,導(dǎo)致有些用戶即使有能力完成任務(wù)也難以被算法推薦出來(lái)。而基于用戶角色的預(yù)測(cè)依舊需要大量的用戶歷史數(shù)據(jù)才能訓(xùn)練分類器,對(duì)于那些缺乏相應(yīng)歷史的用戶,則無(wú)法處理。

本研究針對(duì)眾包軟件開(kāi)發(fā)者推薦的問(wèn)題,提出了一種基于元學(xué)習(xí)的眾包軟件開(kāi)發(fā)者推薦方法,從而保證軟件質(zhì)量和 開(kāi)發(fā)效率。如圖5所示,進(jìn)行推薦時(shí),所述方法中包含3個(gè)主要組件:用戶注冊(cè)行為預(yù)測(cè)器、用戶提交行為預(yù)測(cè)器、用戶獲勝行為預(yù)測(cè)器。這三者分別可以預(yù)測(cè)用戶的相應(yīng)行為,用戶提交行為預(yù)測(cè)器基于用戶注冊(cè)后的情況進(jìn)行預(yù)測(cè),而用戶獲勝行為預(yù)測(cè)器基于用戶提交后的情況進(jìn)行預(yù)測(cè),用戶注冊(cè)行為預(yù)測(cè)器的預(yù)測(cè)沒(méi)有任何先決條件。依據(jù)用戶獲勝行為預(yù)測(cè)器預(yù)測(cè)出的獲勝概率p,用戶注冊(cè)行為預(yù)測(cè)器和用戶提交行為預(yù)測(cè)器會(huì)相繼對(duì)預(yù)測(cè)出的注冊(cè)概率和提交概率不在前Top_R、Top_S的用戶的獲勝概率進(jìn)行修改,R、S為0到1的閾值,可以人為設(shè)定。如果把獲勝概率p設(shè)為0,此時(shí)直接結(jié)束模型對(duì)該輸入的預(yù)測(cè)行為。對(duì)于這3個(gè)組件,采用元模型進(jìn)行構(gòu)建,基礎(chǔ)學(xué)習(xí)模型使用Extrees、XGBoost、深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN) 3個(gè)算法,并依據(jù)原學(xué)習(xí)方法進(jìn)行分析算法選擇。

圖5???眾包開(kāi)發(fā)者推薦的整體流程

實(shí)驗(yàn)結(jié) 果(見(jiàn)表1)表明,相比于協(xié)同過(guò)濾分類(collaborative filtering classification,CBC)、基于內(nèi)容的推薦(CrowdRex)、動(dòng)態(tài)眾包工人決策支持(dynamic crowd worker decision support,DCW-DS)的方法,本文提出的元學(xué)習(xí)模型(policy model)能夠在眾包軟件開(kāi)發(fā)平臺(tái)Topcoder上獲得當(dāng)前較高的推薦準(zhǔn)確率。其中,Acc@3表示Top-3的推薦準(zhǔn)確率,依此類推。MRR是國(guó)際上通用的對(duì)搜索/推薦算法進(jìn)行評(píng)價(jià)的機(jī)制,即如果第一個(gè)結(jié)果即可匹配,則分?jǐn)?shù)為1;第二個(gè)結(jié)果匹配,則分?jǐn)?shù)為0.5;第n個(gè)結(jié)果匹配,則分?jǐn)?shù)為1/n;如果沒(méi)有匹配的結(jié)果,則分?jǐn)?shù)為0。單個(gè)方法在該數(shù)據(jù)集上的最終MRR分?jǐn)?shù)為所有匹配分?jǐn)?shù)的平均值。

4.3 面向高效編程的API使用模式推薦技術(shù)

開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中往往需要尋求其他開(kāi)發(fā)者的幫助。開(kāi)發(fā)者或者僅與熟悉的開(kāi)發(fā)者溝通,或者通過(guò)互聯(lián)網(wǎng)提出問(wèn)題,兩者的效率和質(zhì)量均得不到保障。為了提高隱式協(xié)作的效率,本文研究了API使用模式的智能推薦方法,即給定開(kāi)發(fā)者需求,推薦其他開(kāi)發(fā)者產(chǎn)生的相應(yīng)的API使用模式代碼。在根據(jù)自然語(yǔ)言自動(dòng)生成代碼的問(wèn)題上,目前有工作嘗試生成完整代碼,或者生成API序列。前者生成代碼的質(zhì)量往往比較低,很難達(dá)到直接可用的效果;而后者難以直接被用于補(bǔ)全源代碼。相比之下,包含API及其相關(guān)控制流語(yǔ)句的結(jié)構(gòu)(稱之為API使用模式)有適中的復(fù)雜度,并且可以提供足夠的代碼骨架信息來(lái)幫助開(kāi)發(fā)者實(shí)現(xiàn)各種各樣的功能。根據(jù)自然語(yǔ)言查詢生成相關(guān)的API使用模式,既可以達(dá)到比較好的生成效果,又可以有效地幫助開(kāi)發(fā)者。

本文針對(duì)由自然語(yǔ)言查詢生成API使用模式的問(wèn)題,提出了一種新的API使用模式推薦技術(shù)。本研究采用編碼器-解碼器模型,設(shè)計(jì)了API-MCTree解碼器模塊,并對(duì)該模型設(shè)計(jì)了訓(xùn)練和預(yù)測(cè)的算法。為了獲得<自然語(yǔ)言查詢,API使用模式>形式的數(shù)據(jù)對(duì)作為訓(xùn)練數(shù)據(jù),還需要獲得對(duì)應(yīng)API使用模式的自然語(yǔ)言查詢。根據(jù)Javadoc說(shuō)明指導(dǎo),一個(gè)函數(shù)的注釋文檔的第一句可以作為當(dāng)前函數(shù)的簡(jiǎn)短描述,因此抽取其中的第一句作為自然語(yǔ)言查詢。為了在學(xué)習(xí)過(guò)程中更好地表示API使用模式,每個(gè)API使用模式可以被看成一個(gè)有約束的樹形結(jié)構(gòu)。假設(shè)每種控制流結(jié)構(gòu)都有一種不同的顏色,稱這種有約束的樹為API-MCTree(API multi-colored tree)。本研究基于一種帶注意力機(jī)制的編碼器-解碼器模型。編碼器部分是基于循環(huán)神經(jīng)網(wǎng)絡(luò)模型的,具體使用的是長(zhǎng)短期記憶(LSTM)單元,它可以以循環(huán)的方式一個(gè)接一個(gè)地處理自然語(yǔ)言的詞輸入,然后將自然語(yǔ)言序列編碼到一個(gè)固定大小的向量。解碼器根據(jù)自然語(yǔ)言向量c生成API-MCTree。對(duì)于API使用模式這種特殊的形式,本文設(shè)計(jì)了一種新型的解碼器,稱之為API-MCTree解碼器,如?圖6所示。與序列解碼器不同,在時(shí)間步t,API-MCTree解碼器的隱藏狀態(tài)不僅依賴于上一個(gè)時(shí)間步t-1,也依賴于父親非終結(jié)符結(jié)點(diǎn)的信息。因而,在模型中采用了parent-feeding連接機(jī)制。在時(shí)間步t,將父親非終結(jié)符結(jié)點(diǎn)的隱藏狀態(tài)和輸入向量拼接在一起,然后把它們共同送入LSTM單元,基于輸出的隱藏狀態(tài)生成相應(yīng)的樹形API使用模式。

圖6???API-MCTree解碼器

為了驗(yàn)證本文設(shè)計(jì)的API使用模式生成方法的有效性,分析模型中設(shè)計(jì)的合理性并與其他相關(guān)方法進(jìn)行對(duì)比,筆者設(shè)計(jì)了相關(guān)的實(shí)驗(yàn)進(jìn)行評(píng)估。與其他相關(guān)工作的評(píng)價(jià)方式類似,使用BLEU-4來(lái)衡量生成的API使用模式的質(zhì)量,它可以量化候選序列和真實(shí)序列之間的相似度。筆者比較了本文方法和現(xiàn)有的4種方法 。表2是這些方法在具體指標(biāo)上的表現(xiàn),可以看到,本文提出的方法擁有最高的BLEU分?jǐn)?shù)(44.90%)和最高的測(cè)試準(zhǔn)確度(37.45%)。通過(guò)和對(duì)比方法的比較可知,本文提出的方法有較好的效果,在自然語(yǔ)言查詢語(yǔ)義理解、API使用模式的語(yǔ)法和語(yǔ)義信息的捕捉和表達(dá)上具有不錯(cuò)的能力。

5 大規(guī)模開(kāi)發(fā)者智能協(xié)作支撐環(huán)境

如圖7所示,基于對(duì)開(kāi)發(fā)者畫像、開(kāi)發(fā)者推薦及開(kāi)發(fā)資源推薦等關(guān)鍵技術(shù)的研究,筆者構(gòu)建了大規(guī)模開(kāi)發(fā)者智能協(xié)作支撐環(huán)境,自下而上可分為5個(gè)層次。

圖7???大規(guī)模軟件開(kāi)發(fā)者智能協(xié)作支撐環(huán)境體系結(jié)構(gòu)

(1)數(shù)據(jù)源和數(shù)據(jù)管理

開(kāi)發(fā)了面向GitHub、Stack Overflow、Topcoder、CSDN、GitLab平臺(tái)的分布式爬蟲工具,獲取了源代碼、代碼注釋、項(xiàng)目文檔、開(kāi)發(fā)者行為、技術(shù)問(wèn)答、技術(shù)博客等海量開(kāi)發(fā)數(shù)據(jù),并存儲(chǔ)到MySQL、MongoDB、Neo4j數(shù)據(jù)庫(kù)中(見(jiàn)表3)。

(2)開(kāi)發(fā)者知識(shí)庫(kù)

定義了開(kāi)發(fā)者知識(shí)庫(kù)的基本模型,從原始數(shù)據(jù)中提取開(kāi)發(fā)結(jié)點(diǎn)與開(kāi)發(fā)關(guān)系,以構(gòu)建開(kāi)發(fā)者知識(shí)庫(kù)。開(kāi)發(fā)結(jié)點(diǎn)包括開(kāi)發(fā)者以及開(kāi)發(fā)者的技能、效率、情感等信息,還包括開(kāi)發(fā)資源及其主題、類別、質(zhì)量等信息;開(kāi)發(fā)關(guān)系包含開(kāi)發(fā)者間的社交、競(jìng)爭(zhēng)、協(xié)作等關(guān)系信息。最終,建立起一個(gè)包含24億個(gè)結(jié)點(diǎn)、80.7億條邊的大規(guī)模開(kāi)發(fā)者知識(shí)庫(kù),其中包含4 397萬(wàn)名開(kāi)發(fā)者,數(shù)據(jù)總量達(dá)到13 TB(見(jiàn)表3)。

(3)智能推薦與搜索

根據(jù)已構(gòu)建的開(kāi)發(fā)者知識(shí)庫(kù),分別進(jìn)行了開(kāi)發(fā)者推薦、開(kāi)發(fā)資源推薦、知識(shí)庫(kù)搜索3個(gè)方面的研究。對(duì)于開(kāi)發(fā)者推薦,使用協(xié)同過(guò)濾、元學(xué)習(xí)模型、主題模型、協(xié)作關(guān)系感知等方法,對(duì)開(kāi)發(fā)過(guò)程中不同階段任務(wù)的開(kāi)發(fā)者分配模式進(jìn)行了優(yōu)化;對(duì)于開(kāi)發(fā)資源推薦,一方面通過(guò)開(kāi)發(fā)行為上下文感知方法來(lái)捕獲開(kāi)發(fā)者的行為特征,另一方面通過(guò)神經(jīng)網(wǎng)絡(luò)代碼表示與語(yǔ)法樹挖掘代碼語(yǔ)義等方法對(duì)相關(guān)代碼進(jìn)行結(jié)構(gòu)化表示,最后綜合兩者作為輸入特征,基于知識(shí)庫(kù)中的資源與歷史協(xié)作關(guān)系進(jìn)行資源推薦;對(duì)于知識(shí)庫(kù)搜索,對(duì)開(kāi)發(fā)者與開(kāi)發(fā)資源潛在主題的提取技術(shù)進(jìn)行了研究,并輔以多種維度的排序返回方式,提高了搜索的精度。

(4)工具集

基于以上智能推薦與搜索方法,開(kāi)發(fā)了一系列智能開(kāi)發(fā)工具集,包括開(kāi)發(fā)者智能推薦工具集、開(kāi)發(fā)者畫像工具集、開(kāi)發(fā)資源推薦工具集、開(kāi)發(fā)者搜索工具集和開(kāi)發(fā)資源搜索工具集。

● 開(kāi)發(fā)者智能推薦工具集包括代碼評(píng)審者、眾包開(kāi)發(fā)者、問(wèn)題(issue)解決者、問(wèn)題回答者的推薦工具,這些工具能夠在開(kāi)發(fā)過(guò)程中的不同階段優(yōu)化開(kāi)發(fā)者的分配策略,以提高協(xié)作開(kāi)發(fā)的效率。

● 開(kāi)發(fā)者畫像工具集包含能力定量評(píng)估工具、技能特征刻畫工具與跨社區(qū)畫像集成工具,能夠從社區(qū)貢獻(xiàn)、協(xié)作能力、技能偏好、代碼質(zhì)量、開(kāi)發(fā)者情感等維度對(duì)開(kāi)發(fā)者能力做定性與定量分析,并且可以對(duì)同時(shí)使用多個(gè)開(kāi)發(fā)平臺(tái)的開(kāi)發(fā)者進(jìn)行跨平臺(tái)開(kāi)發(fā)能力的綜合展示。

● 開(kāi)發(fā)資源推薦工具集包括Java編程助手工具與代碼自動(dòng)生成工具,前者能夠根據(jù)開(kāi)發(fā)者的開(kāi)發(fā)行為特征推薦與代碼上下文相關(guān)的優(yōu)質(zhì)問(wèn)答資源,后者能夠根據(jù)自然語(yǔ)言的需求描述,面向Java的JDK庫(kù)提供API調(diào)用序列的自動(dòng)生成服務(wù),幫助進(jìn)行簡(jiǎn)單的函數(shù)功能設(shè)計(jì)。

● 開(kāi)發(fā)者搜索工具集提供了基于基本信息與技能信息的兩種搜索模式,支持跨開(kāi)發(fā)平臺(tái)搜索。

● 開(kāi)發(fā)資源搜索工具集提供了基于資源主題的搜索模式,并可以對(duì)搜索結(jié)果依據(jù)技能標(biāo)簽進(jìn)行聚類,幫助開(kāi)發(fā)者更好地獲取所需的開(kāi)發(fā)資源。

最終,筆者將上述工具集成在大規(guī)模開(kāi)發(fā)者智能協(xié)作支撐環(huán)境iCoOper平臺(tái)上,并且提供REST API服務(wù) ,圖8圖9圖10給出了該平臺(tái)的部分功能截圖。不同企業(yè)的開(kāi)發(fā)管理平臺(tái)中的歷史開(kāi)發(fā)數(shù)據(jù)具有結(jié)構(gòu)一致性,因此iCoOper平臺(tái)具有良好的可擴(kuò)展性,能夠容易地嵌入更多企業(yè)的開(kāi)發(fā)環(huán)境中。系統(tǒng)已在東軟集團(tuán)股份有限公司和萬(wàn)達(dá)信息股份有限公司等進(jìn)行部署,系統(tǒng)直接與企業(yè)內(nèi)部代碼管理系統(tǒng)GitLab進(jìn)行對(duì)接,自動(dòng)獲取和分析企業(yè)內(nèi)部開(kāi)發(fā)人員的相關(guān)數(shù)據(jù),構(gòu)建開(kāi)發(fā)者知識(shí)圖譜,并實(shí)現(xiàn)了對(duì)開(kāi)發(fā)者的畫像、搜索和推薦等支持,在智慧城市、互聯(lián)網(wǎng)金融等應(yīng)用項(xiàng)目的開(kāi)發(fā)中進(jìn)行了實(shí)際應(yīng)用。

圖8???開(kāi)發(fā)者能力畫像

圖9???開(kāi)發(fā)者智能搜索

圖10???代碼評(píng)審者智能推薦

6 結(jié)束語(yǔ)

本文從軟件開(kāi)發(fā)者的角度對(duì)軟件智能化開(kāi)發(fā)進(jìn)行了探索,介紹了開(kāi)發(fā)者智能協(xié)作研究的思路和所開(kāi)展的關(guān)鍵技術(shù)研究工作。首先,在對(duì)開(kāi)發(fā)者能力評(píng)估模型和開(kāi)發(fā)者協(xié)作關(guān)系模型進(jìn)行了全面闡述后,提出了新的開(kāi)發(fā)者協(xié)作分析方法,構(gòu)建了開(kāi)發(fā)者知識(shí)圖譜。進(jìn)一步,針對(duì)開(kāi)發(fā)過(guò)程中存在的問(wèn)題,本文提出了面向開(kāi)發(fā)任務(wù)的開(kāi)發(fā)者以及開(kāi)發(fā)資源智能推薦算法。以這些關(guān)鍵技術(shù)為基礎(chǔ),構(gòu)建了一體化的智能協(xié)作開(kāi)發(fā)環(huán)境,以期為提高軟件開(kāi)發(fā)效率和質(zhì)量提供有效支撐。

在未來(lái)工作中,一方面,由于本文研究的智能協(xié)作開(kāi)發(fā)環(huán)境以輔助開(kāi)發(fā)者進(jìn)行軟件開(kāi)發(fā)為主,筆者將按照自頂向下的研究方法繼續(xù)完善智能協(xié)作環(huán)境,通過(guò)深入理解開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中的需求以及掌握這種需求的變化,提供更多的面向多種開(kāi)發(fā)任務(wù)的開(kāi)發(fā)者推薦與開(kāi)發(fā)資源推薦服務(wù),進(jìn)一步改進(jìn)智能推薦所依賴的開(kāi)發(fā)者知識(shí)圖譜的開(kāi)發(fā)者能力模型與開(kāi)發(fā)者協(xié)作關(guān)系模型;另一方面,在本文提出的智能協(xié)作環(huán)境的基礎(chǔ)上,結(jié)合深度學(xué)習(xí)等方法研究并構(gòu)建更加智能化的開(kāi)發(fā)者服務(wù)環(huán)境。

作者簡(jiǎn)介

張建(1994-),男,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院博士生,主要研究方向?yàn)檐浖こ獭⒃创a分析、自然語(yǔ)言理。

孟祥鑫(1995-),男,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院博士生,主要研究方向?yàn)榛谀0宓某绦蜃詣?dòng)修復(fù)與基于度學(xué)習(xí)的程序自動(dòng)修復(fù)。

孫海龍(1979-),男,博士,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院教授、博士生導(dǎo)師,主要研究方向?yàn)橹悄苘浖こ獭Ⅲw智能和分布式系統(tǒng)。

王旭(1986-),男,博士,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院講師,主要研究方向?yàn)榛诖髷?shù)據(jù)的軟件分析和智能化開(kāi)發(fā)。

劉旭東(1965-),男,博士,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院教授、博士生導(dǎo)師,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)新技術(shù)研究所所長(zhǎng),可信網(wǎng)絡(luò)計(jì)算技術(shù)國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室主任,主要研究方向?yàn)榫W(wǎng)絡(luò)化軟件開(kāi)發(fā)方法、可信軟件技術(shù)、軟件中間件技術(shù)和信息化標(biāo)準(zhǔn)。

聯(lián)系我們:

Tel:010-81055448

? ? ? ?010-81055490

? ? ? ?010-81055534

E-mail:bdr@bjxintong.com.cn?

http://www.infocomm-journal.com/bdr

http://www.j-bigdataresearch.com.cn/

轉(zhuǎn)載、合作:010-81055537

大數(shù)據(jù)期刊

《大數(shù)據(jù)(Big Data Research,BDR)》雙月刊是由中華人民共和國(guó)工業(yè)和信息化部主管,人民郵電出版社主辦,中國(guó)計(jì)算機(jī)學(xué)會(huì)大數(shù)據(jù)專家委員會(huì)學(xué)術(shù)指導(dǎo),北京信通傳媒有限責(zé)任公司出版的期刊,已成功入選中文科技核心期刊、中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)刊、中國(guó)計(jì)算機(jī)學(xué)會(huì)推薦中文科技期刊,并被評(píng)為2018年、2019年國(guó)家哲學(xué)社會(huì)科學(xué)文獻(xiàn)中心學(xué)術(shù)期刊數(shù)據(jù)庫(kù)“綜合性人文社會(huì)科學(xué)”學(xué)科最受歡迎期刊。

關(guān)注《大數(shù)據(jù)》期刊微信公眾號(hào),獲取更多內(nèi)容

總結(jié)

以上是生活随笔為你收集整理的数据驱动的软件开发者智能协作技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

伊人中文网 | 日韩伦理片一区二区三区 | 综合久久久久久久久 | 日韩有码网站 | 中文字幕在线色 | 成人国产精品免费观看 | 在线看黄网站 | 九九综合在线 | 免费黄色a网站 | 综合久久久久久久 | 国产精品欧美日韩 | 日韩在线无| 很黄很黄的网站免费的 | 天天操天天拍 | 黄色软件在线观看 | 超碰在线中文字幕 | 国产xxxx做受性欧美88 | 国产亚洲精品久久久久久久久久 | 久久婷婷亚洲 | 91人人揉日日捏人人看 | 欧美久久99 | 国产欧美综合在线观看 | 欧美性极品xxxx娇小 | 午夜精品电影一区二区在线 | 91漂亮少妇露脸在线播放 | 夜夜摸夜夜爽 | 国产伦精品一区二区三区照片91 | 国产日韩亚洲 | 高清中文字幕 | 五月综合 | 在线观看中文字幕dvd播放 | 成人蜜桃视频 | 日韩一三区 | 色资源在线观看 | 中文字幕一区二区三区四区 | 亚洲欧洲美洲av | 国产精品久久久久久久午夜 | 成人免费网站视频 | 狠狠狠狠狠狠操 | 91在线播 | 2021国产在线 | 免费在线色视频 | 欧美日韩二区在线 | 贫乳av女优大全 | 中文亚洲欧美日韩 | 亚洲毛片在线观看. | 国产一级a毛片视频爆浆 | 精品成人久久 | 色婷婷一| 三级免费黄 | 国产精品电影一区二区 | 在线国产91 | 亚洲成人av片在线观看 | 欧美精品中文字幕亚洲专区 | 69精品久久| 日本精品久久久久中文字幕 | 美女视频黄免费的久久 | 中文字幕高清有码 | 国产在线中文字幕 | 在线免费av网站 | 亚洲精品免费在线视频 | 成年免费在线视频 | 99热在线看| 在线观看国产永久免费视频 | 黄色一级片视频 | 97影视| 日韩字幕 | 91精品国产麻豆 | 麻豆国产在线播放 | 综合网五月天 | 国内精品久久久精品电影院 | 成人av电影在线观看 | 国产一区二区免费在线观看 | 日韩sese | 中文字幕乱视频 | 国产福利av | 欧美日韩免费一区二区 | 精品人人人 | 91精品视频免费在线观看 | 欧美人体xx | 国产精品免费观看网站 | 福利视频入口 | 天天综合网在线观看 | 西西www444 | 黄色毛片大全 | 精品国产一区二区三区久久久蜜臀 | 免费在线观看av | 久久综合狠狠综合久久激情 | 精品久久一区 | 日韩色在线观看 | av黄免费看 | 麻豆国产视频下载 | 亚洲高清色综合 | 偷拍福利视频一区二区三区 | 日本少妇高清做爰视频 | 日韩免费视频播放 | 天天干天天弄 | 国产不卡一二三区 | 九九热99视频 | 久久艹综合 | 日韩xxxxxxxxx| 在线观看黄色 | 国产成本人视频在线观看 | 中文字幕在线免费观看 | 日韩理论电影在线观看 | 波多野结衣理论片 | 国产一级片免费播放 | 日韩精品一区二 | 国产精品视频永久免费播放 | 精品国产aⅴ一区二区三区 在线直播av | 日韩理论电影在线观看 | 最新成人在线 | 香蕉在线观看视频 | 97视频在线免费观看 | 日韩午夜在线 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 久久精品国产一区二区电影 | 日韩av电影中文字幕 | 成人av手机在线 | 91大神电影 | 国产护士hd高朝护士1 | 国产精品婷婷 | 日韩久久视频 | 超碰公开在线观看 | 手机av永久免费 | 亚洲不卡av一区二区三区 | 国产精品久久婷婷六月丁香 | 最新超碰在线 | 在线国产黄色 | 六月丁香久久 | 亚洲一级免费观看 | 干综合网 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 中文字幕日韩电影 | 国产一区在线免费观看视频 | 在线电影中文字幕 | 久久久人人人 | 精品久久久久国产 | 国产精品久久久久一区二区三区 | 国产91精品一区二区麻豆亚洲 | 天天躁日日躁狠狠 | 婷婷黄色片| 久久精品99国产精品日本 | 99久久精品国产一区 | 久久网站最新地址 | 国产伦精品一区二区三区高清 | 成人在线免费看视频 | 97色在线视频 | 国产在线a| 午夜视频一区二区三区 | 天天爱综合 | 狠狠的操| 亚洲午夜精品一区二区三区电影院 | 色多多视频在线观看 | 一本一道久久a久久精品蜜桃 | 久久免视频 | 久久精品亚洲 | 色综合久久88色综合天天人守婷 | 中文字幕亚洲综合久久五月天色无吗'' | 久久精品中文字幕一区二区三区 | 久草视频免费播放 | 久久久精品视频成人 | www.xxxx欧美 | 国产精品久久久久久高潮 | 久久久www免费电影网 | 久久久久久久久久久综合 | 国产高清中文字幕 | 国产中文字幕国产 | 欧美激情第八页 | 激情影院在线观看 | 日韩欧美在线一区 | 午夜影院一级片 | 久久色在线观看 | 久操视频在线免费看 | 国产一级一片免费播放放 | 国产精品12 | 麻豆av一区二区三区在线观看 | 久久久久久久久久久黄色 | 日本论理电影 | 久久精品久久精品久久39 | 国产美女网站视频 | 日本一区二区三区免费看 | 国产精品美女在线观看 | 国产在线观看一区 | 999久久精品 | 久久综合亚洲鲁鲁五月久久 | 日韩理论电影网 | 日本中文字幕久久 | 国产高清在线免费视频 | 日日干干夜夜 | 久久精品1区2区 | 美女网站久久 | 特级西西444www高清大视频 | 999久久久免费视频 午夜国产在线观看 | 欧美精品久久久久久久久老牛影院 | 91精品视频一区 | 欧美日韩精品在线视频 | 欧美一区二视频在线免费观看 | 免费手机黄色网址 | 二区精品视频 | 免费在线观看日韩视频 | 国产欧美日韩精品一区二区免费 | 婷婷色综合色 | 在线播放 日韩专区 | 久久久综合九色合综国产精品 | 在线观看的av | 黄网站a| 成人午夜毛片 | 国产精品久久久亚洲 | 一区 二区 精品 | 免费av在| 摸bbb搡bbb搡bbbb | 五月网婷婷 | 国产精品va在线 | 亚洲婷婷在线 | 日日精品| 日本特黄特色aaa大片免费 | 91人人视频在线观看 | 九九热精品视频在线观看 | 伊人五月天.com | 97免费视频在线 | 亚洲免费资源 | 中文字幕在线观看一区二区 | 成人在线播放免费观看 | 欧美在线观看禁18 | 亚洲黄色片一级 | 久久人人97超碰国产公开结果 | 99在线观看视频网站 | 在线观看一区二区精品 | 国产一级精品视频 | 日韩黄色一级电影 | 天天射天天爽 | 国产成人三级在线观看 | 中文字幕免费高清在线 | 91在线欧美 | 97在线视频免费看 | 六月激情| 一本一本久久a久久精品牛牛影视 | 999成人| 成人在线观看资源 | 韩国av不卡 | 色多多污污 | 激情www| 91在线视频免费91 | 久久艹中文字幕 | 91欧美精品 | 91久久久久久久一区二区 | 欧美国产高清 | 色偷偷男人的天堂av | 欧美a级片网站 | 国产二区视频在线 | 日韩中文字幕亚洲一区二区va在线 | 天天干天天射天天操 | 国产18精品乱码免费看 | 亚一亚二国产专区 | 久久精品香蕉视频 | 国产福利91精品张津瑜 | 久久久精品国产免费观看同学 | 精品国产乱码一区二区三区在线 | 一级黄色在线视频 | 国产视频精品久久 | 久久在线影院 | 在线看欧美 | jizz欧美性9 国产一区高清在线观看 | 精品在线视频播放 | 少妇视频在线播放 | 国产欧美综合视频 | 狠狠干夜夜操天天爽 | 天天av天天 | 久久综合久久88 | 成人av在线影视 | 久久精品亚洲一区二区三区观看模式 | 亚洲国产午夜精品 | 手机看片久久 | 九九色网 | 狠狠躁日日躁狂躁夜夜躁 | 欧美激情精品久久久久久免费 | 欧美久久久久久久久久久 | 国产成人精品一区二区在线 | 欧美日韩99 | 国产成人一区二 | 国产资源精品在线观看 | 国产精品mm | 日韩在线一二三区 | 91人人人| 日本最新一区二区三区 | 五月天综合色 | 精品视频久久久久久 | 日韩久久精品一区二区 | 中文字幕 91 | 69精品视频在线观看 | 亚洲国产色一区 | 国产韩国日本高清视频 | 91九色最新 | 久久理论片 | 韩国一区二区在线观看 | 999成人网| 激情综合网五月婷婷 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美人体xx | 欧美日韩精品影院 | 日本h视频在线观看 | 一区二区三区免费网站 | 91精品婷婷国产综合久久蝌蚪 | 日本中文字幕在线电影 | 五月综合激情婷婷 | 国产一级二级在线播放 | 国产午夜精品理论片在线 | 日韩久久午夜一级啪啪 | 免费人成网 | 日韩高清精品免费观看 | 最近最新mv字幕免费观看 | 精品专区一区二区 | 欧美性色19p | 丁香婷婷自拍 | 丁香六月中文字幕 | 久久久久久久久久电影 | 精品久久久久亚洲 | 香蕉影院在线 | 欧美在线1 | 五月综合激情婷婷 | 成年人免费电影在线观看 | 中文字幕在线观看亚洲 | 免费在线中文字幕 | 免费麻豆视频 | 碰超人人 | 中文字幕丝袜美腿 | 免费69视频| 一级片视频在线 | 丁香狠狠 | 欧美a级一区二区 | 国产精成人品免费观看 | 国产又粗又猛又色又黄网站 | 欧美日韩中文国产一区发布 | 成人国产精品免费观看 | 日韩欧美黄色网址 | 91欧美视频网站 | 狠狠色噜噜狠狠狠合久 | 夜色成人av | 黄色三几片| 亚洲日本va中文字幕 | 91资源在线 | 国产精品久久久久久久99 | 一区二区三区在线免费观看 | 久久福利电影 | 欧美日bb| 欧美一区免费在线观看 | 久久综合婷婷综合 | 精品女同一区二区三区在线观看 | 欧美一区二区三区在线视频观看 | 99综合电影在线视频 | 深夜福利视频一区二区 | 97碰视频| 国产在线观看污片 | 久久婷婷网 | 一区二区三区免费在线观看视频 | 日日碰狠狠添天天爽超碰97久久 | 久久,天天综合 | 成人免费xyz网站 | 国产精品尤物 | 在线岛国av| 久青草国产在线 | 国产91学生粉嫩喷水 | 狠狠狠狠狠狠操 | 久久九九久久九九 | 视频国产精品 | 精品一区二区三区香蕉蜜桃 | 99精品在线直播 | 欧美日性视频 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 午夜久久美女 | 91热这里只有精品 | 狠狠色丁香婷婷综合欧美 | 久草在线中文888 | 91av中文字幕 | 国产不卡高清 | a视频在线播放 | 久久久国产日韩 | 欧美激情亚洲综合 | 又黄又爽又刺激 | 精品国产人成亚洲区 | a久久久久| 国内精品久久久久 | 午夜丰满寂寞少妇精品 | 亚洲精品免费在线 | 激情欧美一区二区三区免费看 | 国产精品6| 亚洲欧美成人 | 欧美日韩不卡一区二区 | 欧洲精品久久久久毛片完整版 | 婷婷深爱五月 | 成人全视频免费观看在线看 | 美女国产网站 | 日日夜夜精品视频天天综合网 | 午夜色场| 蜜臀av性久久久久蜜臀av | 欧美日韩国产页 | 91视频免费网址 | 国产精品一区二区在线观看 | 狠狠操天天射 | 99热国内精品 | 免费av在线网站 | 久久激情视频免费观看 | 国产精品系列在线观看 | 免费在线观看国产黄 | 91在线看免费 | 欧美污网站 | 99久免费精品视频在线观看 | 丁香花在线观看免费完整版视频 | 在线观看亚洲视频 | 国产精品国产三级国产aⅴ入口 | av线上看| 91九色性视频 | 看片网站黄色 | 欧美精品在线观看一区 | 亚洲伊人色 | 色综合色综合色综合 | 久久久久成人精品 | 91久久精品日日躁夜夜躁国产 | 精品久久久久久亚洲综合网站 | 一区二区三区四区久久 | 午夜三级在线 | 国产高清在线 | 日本精品视频在线播放 | 国产无吗一区二区三区在线欢 | av不卡中文| 国产精品美女久久久久久 | 亚洲在线观看av | 日日夜夜爱| 国产高清 不卡 | 色99中文字幕 | 亚洲激情五月 | 免费h精品视频在线播放 | 噜噜色官网 | 国产高清av免费在线观看 | 精品在线观看免费 | 91久久精 | 久艹在线观看视频 | 91九色porn在线资源 | 91精品一区二区三区蜜桃 | 探花在线观看 | 中文字幕在线观看资源 | 精品久久免费看 | 亚洲资源在线观看 | 99中文在线 | 国产精品一区二区白浆 | 国产精品99久久久久久武松影视 | 精品国产1区 | 国产精品99蜜臀久久不卡二区 | 日本精品视频免费 | 久久综合偷偷噜噜噜色 | 嫩草av在线 | 精品嫩模福利一区二区蜜臀 | 日韩在线视频一区 | 亚洲 欧美 91 | 有码中文字幕在线观看 | 亚洲精品午夜一区人人爽 | 久久久精品福利视频 | 国产成人资源 | 伊人色综合久久天天网 | 深爱婷婷久久综合 | 久久精品日产第一区二区三区乱码 | 色综合夜色一区 | 亚洲国产精品视频 | 久久影视精品 | 91在线视频免费播放 | 首页国产精品 | 在线 日韩 av | 亚洲视频 一区 | 天天操比| 亚洲国产精品推荐 | 成人午夜av电影 | 黄色国产高清 | 久草热视频| 免费黄在线观看 | 在线观看一区视频 | 欧美性生活小视频 | 国产xxxx| 午夜精品久久久久久久久久 | 午夜aaaa | 国产精品麻豆果冻传媒在线播放 | 久久精品视频中文字幕 | 在线成人一区二区 | 国产成人精品亚洲精品 | 午夜久久电影网 | 国产一区二区三区高清播放 | 中文一区在线观看 | 成人午夜精品福利免费 | 精品xxx| 激情文学综合丁香 | 日本夜夜草视频网站 | 人人狠狠综合久久亚洲 | 天天操天天舔天天干 | 免费精品在线观看 | 日韩久久精品一区 | 国产美女免费看 | 国产精品区在线观看 | 字幕网在线观看 | 夜夜夜| 亚洲午夜久久久久久久久 | 日日夜夜精品网站 | 色橹橹欧美在线观看视频高清 | 欧美另类xxx | 免费成人黄色片 | 欧美大片第1页 | 国产高清绿奴videos | 99久免费精品视频在线观看 | 中文国产字幕在线观看 | 久久精品美女视频网站 | 亚洲国产精品电影在线观看 | 国产色综合 | 91精品一区在线观看 | 久久免费美女视频 | 视频一区二区视频 | 免费在线国产视频 | 日韩中文字幕a | 欧美精品免费视频 | 欧美国产日韩中文 | 久久不射电影院 | 91视频91色| 国产盗摄精品一区二区 | 久久久免费观看 | 精品国产理论片 | 一色av | 免费欧美精品 | 国产小视频在线观看免费 | 国产麻豆电影在线观看 | 久久成人国产精品入口 | 在线观看视频你懂的 | 黄色av影视 | 天天操天天怕 | 久久伦理电影 | 在线观看成人一级片 | 99国产精品一区 | 国产色秀视频 | 久久桃花网 | 天天综合天天综合 | 超碰在线94 | 日韩久久视频 | 亚洲91中文字幕无线码三区 | 中文字幕av网站 | 97免费在线观看 | 热久久精品在线 | 免费一级片观看 | 国产精品一区二区在线观看免费 | 国产区精品视频 | 一区二区三区高清在线 | 国产精品视频久久 | 免费a一级 | 亚洲aⅴ久久精品 | 免费三级av| 婷婷5月色 | 欧美色久 | 欧美色婷| 国产亚洲免费的视频看 | 人人玩人人添人人 | 韩国av一区二区 | 成年人黄色大片在线 | 国产视频二区三区 | 午夜久久影视 | 五月天久久激情 | 五月天丁香亚洲 | 深夜免费福利 | 久久久www成人免费毛片麻豆 | 成人久久久久久久久久 | 伊人中文网 | 色午夜| 麻豆免费精品视频 | 天天拍天天色 | 久久久免费视频播放 | 激情深爱 | 国产午夜免费视频 | 亚洲婷婷综合色高清在线 | 国产精品久久久久久久久久久杏吧 | 日本xxxx裸体xxxx17| 中文字幕日本在线 | 黄色在线观看网站 | 精品成人a区在线观看 | 久草在线最新 | 99久久婷婷国产综合精品 | 亚洲最大成人免费网站 | 欧美日韩中文国产 | 在线日韩亚洲 | 香蕉网在线观看 | 国产午夜麻豆影院在线观看 | 黄色视屏av| 97超碰.com | 久久精品—区二区三区 | 欧美日韩精品在线一区二区 | 99国产精品一区二区 | 激情婷婷亚洲 | 一二三区在线 | 免费在线国产 | 日韩精品一区二区三区不卡 | 久久男人视频 | 久久九九国产精品 | 福利视频第一页 | 国产精品久久一区二区三区, | 99久久久国产精品 | 国产二区免费视频 | 波多野结衣视频在线 | 国产成人av | 国产明星视频三级a三级点| 免费精品视频在线 | 欧美一级艳片视频免费观看 | 五月天婷婷视频 | 中文字幕亚洲在线观看 | 不卡国产在线 | 亚洲精品午夜久久久 | 欧美精品国产精品 | 激情综合网色播五月 | 日韩免费高清在线观看 | 99在线高清视频在线播放 | 国产亚洲视频系列 | av在线播放中文字幕 | 很黄很黄的网站免费的 | 黄色av免费看 | www.玖玖玖 | 91禁看片 | 97免费 | 国产麻豆成人传媒免费观看 | 国产精品刺激对白麻豆99 | 黄色国产在线 | 国产成人精品一区二区在线观看 | 成人h视频在线 | 成人免费观看视频网站 | av九九 | 久久久久久免费网 | av成人在线播放 | 一区二区理论片 | 九九久久久久99精品 | 国产999精品视频 | 国产又粗又猛又色 | 亚州黄色一级 | 日本精品视频免费 | 日韩av片无码一区二区不卡电影 | 亚洲视频观看 | 欧美美女视频在线观看 | 久久9999久久 | 在线免费成人 | 亚洲精选在线观看 | 黄色av影视 | 欧美日韩在线精品一区二区 | 欧美性大胆 | 最近中文字幕国语免费高清6 | 91网站在线视频 | 久久 亚洲视频 | 国产精品一区一区三区 | 日韩国产欧美在线视频 | 在线免费观看亚洲视频 | 欧美日韩一区二区免费在线观看 | 欧美嫩草影院 | 国产一区二区在线免费播放 | 高清国产午夜精品久久久久久 | 91黄色在线看 | 日韩精品一区二区三区高清免费 | 在线免费黄色av | 久影院| 91综合视频在线观看 | 日韩精品一区二区免费 | 欧美一级片在线播放 | 91麻豆精品国产91久久久久 | 日韩乱色精品一区二区 | 欧美成人视 | 一区二区三区日韩视频在线观看 | 婷婷在线色 | 亚洲精品美女久久久久 | 亚洲日韩欧美一区二区在线 | 91视频中文字幕 | 91看片麻豆 | 国产91在| 日韩色中色 | 在线观看的a站 | 日日日视频 | 久久久久久蜜av免费网站 | 国产精品久久一区二区三区不卡 | 97视频在线观看成人 | 亚洲一区二区高潮无套美女 | 亚洲国产小视频在线观看 | 精品91久久久久 | 免费成人在线观看 | 久久免费一级片 | 在线国产一区二区三区 | 在线观看亚洲专区 | 91手机视频 | 精品国产一区二区久久 | 国产黑丝一区二区三区 | 伊人午夜 | 在线激情小视频 | 香蕉视频在线观看免费 | 国产精品一区二区三区在线看 | 中文字幕观看av | 91九色成人蝌蚪首页 | 亚洲午夜精品久久久久久久久久久久 | 久久久久久久av麻豆果冻 | 黄色免费大全 | 日韩欧美区 | 久久字幕 | 久久久激情视频 | 欧美另类xxxx| 黄色毛片一级片 | 丁香六月婷 | 久久精品一区二区三区视频 | 久久爽久久爽久久av东京爽 | 国产免费不卡 | 日韩在线视频一区二区三区 | 久久艹在线| 黄网站a | 国产午夜精品福利视频 | 国产精品毛片久久久久久久久久99999999 | 久久美女视频 | 午夜精品区 | 久久综合干| 国产系列 在线观看 | 天天干天天干天天干天天干天天干天天干 | 精品伦理一区二区三区 | 亚洲精品中文字幕在线观看 | 日本中文字幕在线电影 | 97精品国产97久久久久久久久久久久 | 成人久久18免费网站 | 麻豆国产视频 | 色综合天天综合网国产成人网 | 精品国产一区二区三区久久 | 欧美激情奇米色 | 欧美动漫一区二区三区 | 成人午夜在线观看 | 国内精品免费 | 香蕉视频4aa | 91av片| 国产福利电影网址 | 中文字幕在线播放一区二区 | 欧美日韩视频在线 | 91视频在线看 | 手机在线看片日韩 | 免费网站在线 | 久久男人免费视频 | www.色婷婷| 欧美久久久久久久久久 | 91人网站| 日韩a在线 | 亚洲视频每日更新 | 丁香婷婷激情 | 国产精品精品 | 成年人免费电影在线观看 | 97国产情侣爱久久免费观看 | 天天综合天天做 | 日韩欧美精选 | 精品国产区 | 久久精品综合一区 | 精品免费视频 | 日本婷婷色 | 欧美日韩亚洲在线观看 | 国产字幕在线观看 | 午夜精品视频一区二区三区在线看 | 国产精品视频资源 | 在线观看一级片 | 黄色的片子 | 激情网五月天 | 国产麻豆精品免费视频 | 久草视频在线免费看 | 久草视频免费在线播放 | 岛国精品一区二区 | 久久涩涩网站 | 中文字幕第一页在线播放 | 韩国av三级 | 国产中文在线观看 | 手机在线日韩视频 | 亚洲人视频在线 | 成人在线观看资源 | 国产精品成人一区二区三区 | 99视频在线看 | 亚洲精品午夜久久久 | av片免费播放 | 国产精品区在线观看 | 久久精品综合网 | 97偷拍视频 | 午夜婷婷在线播放 | 亚洲精品视频在线观看免费视频 | 欧美性春潮 | 五月天激情在线 | 久久久久久久久久久电影 | 91大神电影 | 干干日日 | 久久伦理 | 久久视频在线 | 四虎成人精品永久免费av | 九九热精 | 狠狠狠狠狠操 | 精品国产区在线 | 一本一道波多野毛片中文在线 | 亚洲国产中文字幕在线观看 | 久久人人添人人爽添人人88v | 日韩高清av在线 | 麻豆91在线观看 | 色91在线| 成人av免费网站 | 黄色国产高清 | 国内久久久| 国产一区在线播放 | 欧美激情视频一二三区 | 91在线你懂的 | 亚洲精品乱码久久久久久蜜桃欧美 | 天天干夜夜干 | 久精品视频 | 亚洲最大成人免费网站 | 99久久超碰中文字幕伊人 | 最新日本中文字幕 | 日本精品在线视频 | 亚洲精品黄色在线观看 | 日日爽日日操 | 天操夜夜操 | 欧美色综合久久 | 成人一级片免费看 | 国产一区免费在线 | 狠狠色丁香婷婷综合基地 | 欧美精品一区二区蜜臀亚洲 | 婷婷中文字幕 | 六月丁香在线视频 | 国产亚洲精品久久久久秋 | 视频一区在线免费观看 | 国产欧美精品在线观看 | 91麻豆精品国产91久久久更新时间 | 91亚洲精品久久久蜜桃借种 | 国产免费又粗又猛又爽 | 综合久久一本 | 久草网站 | 欧美日韩国产一区二区在线观看 | 精品久久一区二区三区 | 国产资源在线播放 | 亚洲综合在线播放 | 国产精品久久久久999 | 91在线看免费 | av解说在线 | 免费黄色在线播放 | 亚洲情影院 | 伊人五月天 | 黄色视屏在线免费观看 | 天天操天天添天天吹 | 婷婷开心久久网 | 最新高清无码专区 | 免费日韩一区二区三区 | 久久伊99综合婷婷久久伊 | 美女精品国产 | 亚洲精品成人免费 | 久热国产视频 | 东方av免费在线观看 | 国产一级片免费视频 | 91探花国产综合在线精品 | 伊人丁香 | 欧美日韩啪啪 | 91九色视频在线观看 | 欧美日本在线观看视频 | 涩涩色亚洲一区 | 精品国产一区二区三区久久影院 | 麻豆视频一区 | 欧美日韩视频在线观看免费 | 91精品国产成人www | 免费看黄色小说的网站 | 久久九九久久 | 激情丁香5月 | www.久艹 | 中文字幕在线观看第三页 | 日韩一级电影网站 | 精品视频免费看 | 亚洲精品中文字幕在线 | 日韩电影在线视频 | 国产在线精品区 | 伊人热 | 久久久精品网站 | 国产日韩精品一区二区三区 | 久久久久国| 色综合天天天天做夜夜夜夜做 | 亚洲综合在线视频 | 美女网色 | 日韩两性视频 | 欧美日韩不卡一区 | 狠狠色免费 | 国产一区国产精品 | 九九九九精品九九九九 | 很污的网站 | 天天草天天 | 免费h漫在线观看 | 午夜视频免费播放 | 免费看片日韩 | 国产成人精品av | 国产精品99久久免费观看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产最新精品视频 | 久久久私人影院 | 日日躁夜夜躁xxxxaaaa | 日本久久视频 | 久久久久欧美精品 | 国产无套精品久久久久久 | 精品视频一区在线观看 | 久久手机免费视频 | 2023国产精品自产拍在线观看 | 五月婷婷黄色网 | 麻豆国产视频 | 中国一级片在线观看 | 日韩网页| 免费高清在线一区 | 久久国产三级 | 中文字幕精品一区久久久久 | 国产视频一区精品 | 午夜久久久影院 | 中文字幕亚洲情99在线 | 欧美性色黄大片在线观看 | 在线观看日韩国产 | 国产在线毛片 | 欧美激情精品久久久久久免费 | 激情小说网站亚洲综合网 | 最新av电影网站 | 免费色网站| 日韩免费福利 | 色偷偷88888欧美精品久久 | 少妇搡bbbb搡bbb搡忠贞 | 久热爱| 人人干人人添 | 成人av电影免费在线播放 | 日韩在线观看精品 | 黄色毛片视频免费观看中文 | 又黄又刺激又爽的视频 | 中文字幕一区二区三区乱码在线 | 人人爽久久涩噜噜噜网站 | 国产精品国产三级国产专区53 | 色噜噜日韩精品欧美一区二区 | 久久国内视频 | 日韩欧美不卡 | 四虎成人精品 | 超碰97网站 | 天堂av免费观看 | 国产精品video爽爽爽爽 | 91在线亚洲 | 免费在线a | 免费黄色在线网站 | 91视频啪| 91视频高清免费 | 精久久久久 | 中文字幕观看视频 | 国产精品久久久久久久久久免费看 | 国产精品一区久久久久 | 久久九九国产精品 | 久99视频 | www色综合 | 午夜精品福利一区二区三区蜜桃 | 成年人精品 | 国产精品一区二区美女视频免费看 | 日韩欧美在线视频一区二区 | 久草成人在线 | 久久精品aaa | 久久夜色精品国产欧美乱极品 | 色婷婷国产精品一区在线观看 | 亚洲精品国产精品久久99 | 狠狠干2018 | 婷婷色社区 | 99久久99久久免费精品蜜臀 | 91免费观看视频网站 | 波多野结衣电影一区二区三区 | 久久这里只有精品23 | 国产尤物在线观看 | 二区视频在线 | 看片网站黄色 | 色资源网免费观看视频 | 中文字幕黄色 | 中文字幕一区二区在线观看 | 久久av免费 | 成x99人av在线www | 91av在线视频免费观看 | 美女av免费 | 国产福利一区二区三区视频 | 婷婷丁香激情网 | 日日躁夜夜躁aaaaxxxx | 欧美日韩中文在线视频 | 欧美日韩一级视频 | 欧美福利网站 | 欧美性网站 | 国产99久 | 中文字幕乱在线伦视频中文字幕乱码在线 | 91黄色在线视频 | 国产精品久久久久一区二区三区 | 国产精品免费在线观看视频 | 91福利免费 | 久久首页 | 欧美日韩一区二区久久 | 九色视频网 | 国产精品久久久久免费观看 | 日日爽 | www久草 | 欧美最猛性xxx | 日韩一区二区三区在线看 | 免费色网 | 麻豆影视网 | 激情五月播播久久久精品 | 免费久久99精品国产 | 超碰免费久久 | 日韩精品一区二区不卡 | 精品自拍av | 国产视频在线播放 |