• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于門控圖注意力神經(jīng)網(wǎng)絡的程序分類

    2020-04-07 10:49:10譚丁武張坤芳鄭一基魯鳴鳴
    計算機工程與應用 2020年7期
    關鍵詞:語法結構源代碼代碼

    譚丁武,張坤芳,劉 燕,鄭一基,魯鳴鳴

    中南大學 信息科學與工程學院,長沙410083

    1 引言

    隨著開源代碼倉庫的涌現(xiàn)和機器學習技術的發(fā)展,源代碼數(shù)據(jù)挖掘受到了廣泛的關注[1]。在源代碼挖掘領域,如何學習代碼中的語義嵌入表達尤為重要。通過機器學習得到的代碼嵌入表達不僅能輔助人工理解代碼[2],還能促進計算機自動編碼的研究[3]。

    早期的源代碼數(shù)據(jù)挖掘工作受到自然語言處理(NLP)的啟發(fā),研究者們傾向于將源代碼看作文本序列,進而將自然語言處理系列模型應用到源代碼各種相關任務上[4-8]。然而,源代碼和自然語言不同。一方面,自然語言天然地擁有數(shù)目相對固定的詞庫,而在源代碼中,類名、變量名和函數(shù)名都沒有限制;另一方面,自然語言對于語法結構要求松散,而源代碼往往具有較為嚴格的語法規(guī)范。

    為了解決上述問題,部分工作[9-13]提出采用抽象語法樹(Abstract Syntax Tree,AST)刻畫源代碼的語法結構信息。AST是在程序設計語言語法規(guī)則的指導下,對源代碼進行文法解析而產(chǎn)生的中間表達形式。AST 用于描述源代碼中各種語法成分組成,其通常將相應程序設計語言解析成樹狀結構的抽象語法樹。

    雖然基于抽象語法樹的技術充分利用了源代碼中靜態(tài)語法結構信息,但這些方法卻忽略了動態(tài)運行時數(shù)據(jù)信息(語義信息),例如數(shù)據(jù)流信息、控制流信息等。因此,本文提出一種用于構建包含動態(tài)數(shù)據(jù)信息和靜態(tài)語法結構信息的程序代碼表示圖(EAST)的方法。并且結合EAST圖的數(shù)據(jù)特點,本文進而提出基于注意力機制的門控圖神經(jīng)網(wǎng)絡(Gated Graph Attention Neural Network,GGANN)用于學習EAST圖的嵌入表達,以完成程序分類任務。GGANN 模型考慮到節(jié)點在圖中拓撲結構性質的差異性,從而摒棄了原始模型中對鄰域信息的簡單累加操作。GGANN中,注意力機制構建的注意力層實現(xiàn)了帶權重的鄰域信息匯集。而且,以注意力機制為注意力層的方法,有效地解決了領域節(jié)點數(shù)目動態(tài)變化的問題。

    2 相關工作

    早期的源代碼挖掘領域,大部分存在的工作都依賴于自然語言相關技術,從而傾向于將源代碼解析成關鍵字序列[4-5,14-15]或者API序列[6-7]。這些工作涉及的任務主要分為以下幾種:序列預測、代碼與自然語言互譯、代碼補全以及變量名預測。文獻[5]驗證了源代碼具備與自然語言一樣具有統(tǒng)計特性,因此,他們使用N 元統(tǒng)計模型(N-Gram)為源代碼建模,之后又證明了他們的模型能夠提高Eclipse 自動補全代碼的能力。Bhoopchand等[16]使用端到端的指針網(wǎng)絡(Pointer Network)實現(xiàn)自動IDE代碼補全。Gu等[6]則采用編碼器-解碼器模型學習API使用序列和自然語言描述之間的映射關系。

    為了刻畫源代碼中的靜態(tài)語法結構信息,Mou等[11-13]設計出一種基于樹的卷積神經(jīng)網(wǎng)絡模型(Tree Based Convolution Neural Network,TBCNN)。TBCNN 模型直接在AST 上做卷積處理,從而將AST 映射成蘊含語法結構信息的嵌入向量。文獻[9]則進一步利用TBCNN模型實現(xiàn)了Java程序語言和C++程序語言之間的代碼轉換。

    與自然語言不盡相同,程序語言有一個很突出的特點就是可運行性。因此,僅僅考慮靜態(tài)的語法信息遠遠不夠,而如何融入“運行”時的程序語義信息顯得尤其重要和棘手。Allamanis 等[17]提出直接將“運行”時信息融入抽象語法樹,但是擴展后的抽象語法樹不再是嚴格意義上的樹形結構。這時的抽象語法樹不再是完全地自頂向下的結構,甚至可能產(chǎn)生環(huán)。顯然,原有的基于樹的卷積神經(jīng)網(wǎng)絡模型已經(jīng)不能處理這樣的抽象語法樹。隨著圖神經(jīng)網(wǎng)絡(GNN)[18-19]在不同領域展現(xiàn)出的強大學習能力,源代碼領域研究者們深受啟發(fā)。他們認為樹是弱化的圖,因此使用圖神經(jīng)網(wǎng)絡學習當前擴展后的抽象語法樹恰恰解決了之前模型不適用的問題。Li等[20]的核心思想就是利用GNN 模型為源代碼建模,以此獲得源代碼分布式向量表達。

    基于上述相關研究,本文提出一種基于門控圖神經(jīng)網(wǎng)絡與注意力機制的程序分類方法。該方法針對在線判題(OJ)系統(tǒng)收集的C++源代碼建立深度學習模型,以提取程序代碼的分布式代碼表征,進而完成程序分類。

    3 門控與注意力機制圖神經(jīng)網(wǎng)絡

    3.1 概述

    本文提出的基于門控圖神經(jīng)網(wǎng)絡與注意力機制的代碼表征學習方法主要包括三個步驟,如圖1所示。

    (1)分別構建程序算法的抽象語法樹(AST)、數(shù)據(jù)流圖(DFG)以及函數(shù)調用圖(FCG)。

    (2)融合程序算法圖EAST(Extended Abstract Syntax Tree)。

    (3)將GGANN 模型應用于學習EAST 圖的拓撲結構,以得到節(jié)點向量表達和EAST 圖向量表達,最后使用上述向量表達分別完成節(jié)點分類任務和程序分類任務。

    3.2 構建代碼中間表示圖

    圖1 模型架構

    如圖1 所示,構建程序算法圖EAST 實際上包括兩個主要的步驟:(1)分別構建抽象語法樹AST(Abstract Syntax Tree)、函數(shù)調用圖FCG(Function Call Graph)和數(shù)據(jù)流圖DFG(Data Flow Graph);(2)融合AST、DFG、FCG 得到程序算法圖EAST(Extended Abstract Syntax Tree)。

    抽象語法樹:AST[21]是對源代碼進行語法分析和語義分析的中間表示形式,它是通過代碼使用無關上下文規(guī)則(https://en.wikipedia.org/wiki/Context-free_grammar)解析后得到的用于描述代碼語法規(guī)則和執(zhí)行順序的樹形結構數(shù)據(jù)。在AST 中,葉子節(jié)點代表源代碼中的標志符,而非葉子節(jié)點則代表語法結構體。作為源代碼的解析樹,AST基本上覆蓋了以下語法結構體:(1)選擇結構體。例如,IF、SWITCH等。(2)循環(huán)結構體。例如,WHILE、FOR 等。(3)序列結構體。例如,表達式、賦值語句等。因此,AST 作為源代碼的中間表示形式,能夠有效地保留與程序語言相關的語法上下文信息。

    函數(shù)調用圖:FCG[22]用于刻畫源代碼中與控制流相關的信息。函數(shù)調用圖中的每個節(jié)點代表一個函數(shù),而其中的邊表示函數(shù)之間的調用關系。如圖2 是示例代碼,圖3(a)是圖2 代碼的函數(shù)調用圖,其中每個節(jié)點表示一個函數(shù)。

    圖2 示例代碼

    數(shù)據(jù)流圖:DFG[23]顯式地蘊含了源代碼中數(shù)據(jù)轉移和數(shù)據(jù)處理兩個方面的數(shù)據(jù)邏輯。DFG 中的節(jié)點表示實體,例如,變量聲明、操作數(shù)、操作符、結構體等等,而其中的邊代表這些實體之間存在的數(shù)據(jù)關系。DFG 能夠描述源代碼的數(shù)據(jù)邏輯和程序功能,被用于分析程序動態(tài)的運行時數(shù)據(jù)流信息。如圖3(b)所示,是圖2(a)所示的代碼片段的數(shù)據(jù)流圖。在數(shù)據(jù)流圖中,參考動態(tài)分析程序相關方法,挖掘出5 種常見的數(shù)據(jù)流關系,并且使用不同顏色的邊在圖3(b)中標注出來:(1)(藍色)同一個變量在不同時刻的數(shù)據(jù)轉移關系。(2)(紫色)不同變量的數(shù)據(jù)傳遞關系。(3)(橙色)形參/實參數(shù)據(jù)傳遞關系。(4)(紅色)函數(shù)聲明/函數(shù)體返回值的賦值關系。(5)(綠色)操作符號/操作數(shù)之間的雙向運算關系。

    程序算法圖EAST:通過比較AST、FCG 和DFG 的特性,很顯然每種不同形式的中間表達形式都僅僅從某一個角度上刻畫程序源代碼。AST 僅蘊含語法結構相關的靜態(tài)信息,而后二者分別用于描述與控制流與數(shù)據(jù)流相關的運行時動態(tài)信息。特別地,后兩者參考的角度不相同。FCG 從函數(shù)粗顆粒度的角度出發(fā),而DFG 從細顆粒度的變量、運算符、運算數(shù)等標志符出發(fā)。源代碼作為可運行的特殊文本,靜態(tài)語法信息和動態(tài)運行信息都很重要。因此,將AST、FCG和DFG中攜帶的代碼信息進行融合有助于減少由源代碼向中間表達轉化產(chǎn)生的信息損失。

    如圖3(c)所示是圖2(a)所示代碼的EAST,EAST以AST為骨架,保持AST原有的節(jié)點不變,僅僅通過增加額外的邊以融入數(shù)據(jù)流信息和函數(shù)調用信息。

    圖3 EAST示例

    3.3 圖神經(jīng)網(wǎng)絡

    本文用到的圖模型涉及有向圖G=(V,E),其中V代表大小為|V|的節(jié)點集,E 代表大小為|E|的有向邊集合。V 中的節(jié)點使用節(jié)點編號i 表示,E 中的有向邊使用eij表示,eij代表由節(jié)點i 指向節(jié)點j 的邊。對于圖中不同類型的邊,使用邊類型集合表示。圖G 中節(jié)點之間的連接關系使用連接矩陣A 表示。A 的維度有兩種設計方案:(1)。圖中有向邊eij看成是兩條不同類型的出入邊。一條是節(jié)點i 的出邊,另一條是節(jié)點j 的入邊。(2)。方案二僅將有向邊eij看作節(jié)點j 的入邊。而本文中的連接矩陣示例參照第二種方案。

    A 中第i 行第j 列的元素Aij是一個d×d 的矩陣(d 代表節(jié)點狀態(tài)向量維度)。Aij又稱為邊eij上的傳播矩陣,表示節(jié)點i 到節(jié)點j 的信息傳播規(guī)則。例如,圖4(c)顯示了圖3(b)所示的數(shù)據(jù)流圖所對應的連接矩陣,其中兩個紅色矩形框出的矩陣分別是e3y和eyz所對應的傳播矩陣。

    圖4 連接矩陣和傳播矩陣示例

    在圖2(a)所示的賦值語句中,關心的是數(shù)字3是否能夠傳遞到變量z,如圖4(b)所示。為此,可將節(jié)點3和z 分別看成源節(jié)點和目標節(jié)點,并分別初始化其特征向量為和(兩維向量第一維為1,表示3 可達該節(jié)點),而節(jié)點y 的特征向量表示初始化為

    傳播矩陣Aij決定了節(jié)點i 的各個維度信息如何傳播給節(jié)點j 的各個維度,“0”代表不傳播,“1”代表完全傳播。例如,圖4(c)的A3y表示節(jié)點3 只將其第一維度的信息傳遞給節(jié)點y 的第一維度,這樣,向量h3與A3y相乘的結果仍然為hy=[1,0],表示數(shù)據(jù)仍然未能傳遞到目標節(jié)點z。然而,圖4(c)中的Ayz表示節(jié)點y 的第一維的信息要傳遞給節(jié)點z 的第一維,因此,向量hy與Ayz相乘的結果為hz=[1,0],表示數(shù)據(jù)可達目標節(jié)點z。

    在圖神經(jīng)網(wǎng)絡(GNN)[24]中,節(jié)點在不同類型邊上的信息傳播通過不同的多層感知機實現(xiàn),而邊上的傳播矩陣則表現(xiàn)為可訓練的多層感知機權重We∈Rd×d。需要注意的是,圖4(c)中所示連接矩陣僅表示,在可達性任務上,圖模型收斂后的多層感知機權重。

    GNN 模型有個迭代T 輪的節(jié)點狀態(tài)信息傳播過程:節(jié)點i 的狀態(tài)信息初始化為向量,在第t 輪迭代時,每個中心節(jié)點i 聚集所有鄰居節(jié)點信息得到節(jié)點交互上下文,如公式(1)所示(其中Ni表示i的鄰居節(jié)點集合)。針對當前交互上下文,節(jié)點i 更新自身在第t 輪后的狀態(tài)信息,如公式(2)所示??坍嬃斯?jié)點i 在圖中的拓撲結構,當GNN 模型達到收斂,狀態(tài)信息將達到不動點。此時的將作為節(jié)點i 最終的向量表達。

    3.4 門控神經(jīng)網(wǎng)絡

    從本質上來講,門控神經(jīng)網(wǎng)絡(GGNN)就是在GNN的基礎上使用了GRU 單元,即將公式(2)替換成公式(3)。GRU單元考慮在不同更新輪次,節(jié)點狀態(tài)信息之間的聯(lián)系。即節(jié)點i 在更新輪次t 時,節(jié)點隱藏層向量表達與前一輪次的狀態(tài)信息的時序關系。

    3.5 門控注意力機制網(wǎng)絡

    基于注意力機制的啟發(fā),通過給每個鄰居節(jié)點分配不同的權重來刻畫其對中心節(jié)點的重要性αij。αij通過神經(jīng)網(wǎng)絡實現(xiàn)函數(shù)映射a:Rd×Rd→R,a 計算中心節(jié)點i 與其鄰居節(jié)點j 的相關性系數(shù),并使用soft max函數(shù)對所有鄰居節(jié)點的相關性系數(shù)進行歸一化,如公式(4)所示:

    神經(jīng)網(wǎng)絡a 的權重參數(shù)只與信息傳播輪次相關。同一信息傳播輪次,a 對于所有節(jié)點共享。不同傳播輪次,a 具有不同的參數(shù)。節(jié)點i 的鄰居節(jié)點j 數(shù)目不定導致aij數(shù)目可變,不能直接調用Tensorflow 框架提供的soft max 函數(shù)。本文對soft max 進行實現(xiàn),以適應變化的鄰居節(jié)點數(shù)目(公式(5)和(6))。

    因為程序分類是根據(jù)程序算法圖EAST 的嵌入表達對程序代碼進行分類,所以在得到最終的圖節(jié)點嵌入向量表達后,需要計算整個EAST 圖的嵌入向量表示hG。本工作中提出節(jié)點向量概率融合方法,由節(jié)點嵌入向量生成圖嵌入向量。如公式(8)所示。是全連接神經(jīng)網(wǎng)絡,它根據(jù)節(jié)點屬性和拓撲結構信息學習節(jié)點i 被融合的概率。f 中的激活函數(shù)使

    總的來說,EAST 圖的以下特點決定了GGANN 模型的適用性:(1)圖中的邊有多種類型。(2)圖中節(jié)點與節(jié)點可能存在多條不同類型的邊。(3)圖中既存在有向邊,又存在無向邊。另外,GGANN 的注意力機制摒棄了累加求和這種人為指定的交互上下文計算方式,而改用模型自主學習中心節(jié)點對鄰居節(jié)點的連接關系。這種注意力機制具備以下三個特點:

    (1)中心節(jié)點和其鄰居節(jié)點計算重要性αij可以并行,計算高效。

    (2)注意力機制實現(xiàn)了模型自動學習交互上下文的計算方式,而不必考慮變化的鄰居節(jié)點數(shù)目。如果使用神經(jīng)網(wǎng)絡學習計算交互上下文,必然需要面臨圖中各節(jié)點鄰居節(jié)點數(shù)目不一致而導致的神經(jīng)網(wǎng)絡權重維度無法統(tǒng)一的問題。

    (3)注意力機制考慮鄰域全局結構以及鄰居節(jié)點拓撲結構性質的差異。用sigmoid,其最終輸出是一個[0,1]的數(shù)值。g 同樣也使用全連接層神經(jīng)網(wǎng)絡實現(xiàn),它使用tanh 函數(shù)激活輸出。hG的計算方式和公式(7)類似,都基于注意力機制的思想。最終,程序類別lG由經(jīng)過函數(shù)softmax 得來。

    4 實驗結果及分析

    為了驗證本文提出的模型在程序分類上的有效性,不僅從程序分類準確率的角度對模型做出指標評估,還從EAST 圖節(jié)點嵌入表達的角度分析了模型學習拓撲結構的能力。為了直觀地理解模型的學習效果,部分實驗結果采用可視化方法呈現(xiàn)出來。

    4.1 實驗數(shù)據(jù)

    本文的實驗數(shù)據(jù)是從在線判題(OJ)系統(tǒng)中收集的。在該系統(tǒng)上,管理員發(fā)布了很多程序設計問題,而學生以源文件的形式提交了關于每個問題解決方案的代碼。對于代碼的正確性,OJ 系統(tǒng)一般先檢查代碼能夠正確編譯,然后將執(zhí)行程序后的輸出與測試樣例進行對比,從而自動判定學生提交的代碼是否正確。因此,該數(shù)據(jù)集主要由兩部分組成:編程問題(由問題題號表示)和相應的學生提交的源代碼。

    為了排除編程語言的問題,只選C++編寫的源代碼。同時為了確保與每個問題相關的各種源代碼足夠豐富,對數(shù)據(jù)集進行了過濾,以便只處理最常見的問題。過濾的規(guī)則很簡單,僅僅保留解決方案代碼超過350份的問題,以此組成30個程序設計問題的標準數(shù)據(jù)集。在標準數(shù)據(jù)集中,存在一些相似度很高的問題,比如A+B,A+B(I),A+B(II)等問題。這些問題的關系為:A+B(I)問題是在A+B 問題上演化而來,而A+B(II)問題是由A+B 問題演化而來。這些問題不僅在問題描述還在代碼實現(xiàn)上都保持著極高的相似性,因此對這些問題上將進行程序分類任務,問題混淆性更強。本文工作也充分利用具備這種性質的問題集合(相似子數(shù)據(jù)集)用于驗證模型的分類魯棒性和有效性。

    使用開源的clang(http://clang.llvm.org)依賴庫解析C++程序設計源代碼,從而得到程序AST數(shù)據(jù)集。進一步為每個程序設計問題的AST樹添加代表數(shù)據(jù)流信息的邊和代表函數(shù)調用圖的邊,最后得到最終的EAST數(shù)據(jù)集。在實驗中,EAST 數(shù)據(jù)集按照3∶1∶1 的比例劃分訓練集、驗證集、測試集。

    4.2 實驗設置

    模型訓練采用的優(yōu)化算法是ADAM優(yōu)化器的隨機梯度下降算法SGD[25]。損失函數(shù)采用的是交叉熵。模型中的權重參數(shù)初始化使用Glorot[26]初始化方法。在訓練中,為了提高模型的泛化能力,主要采取了如下措施:(1)為了防止過擬合,本文使用初始值λ=0.000 5 的L2正則項。(2)為了解決梯度爆炸問題,實驗中采用舍棄概率p=0.6 的dropout[27]。(3)為了快速得到一個較優(yōu)解,使用線性學習率衰減對學習率L進行調整。L從初始學習率L0=0.000 1 下降到最終學習率L×F,其中衰減系數(shù)F ∈[0.01,1]。(4)實驗根據(jù)模型在驗證集上的預測準確率來估算模型早停(early stopping)的時機,以此減少模型過擬合。

    實驗中信息傳播層(信息迭代輪次)被設置為4層,而每個傳播層神經(jīng)元個數(shù),即傳播矩陣向量維度d,是一個超參數(shù)。該超參數(shù)的選擇主要考慮以下兩個因素:(1)模型收斂的速度;(2)模型的損失值。為此,使用實驗來確定超參數(shù)d,實驗結果如圖5(a)和(b)所示。圖5(a)展示了每秒鐘,模型計算EAST圖的數(shù)目隨著d 值的增加而改變的情況。而圖5(b)則展示了模型在訓練集/測試集上隨著d 值增加,收斂后的最終損失值變化情況。從圖5(a)和(b)中可以看出,當隱層向量維度d為270 時,模型的收斂損失值相對較小,同時模型訓練速度也相對較快。因此,將隱層向量維度d 設為270,從而完成后續(xù)實驗。

    圖5 模型參數(shù)選擇指標

    4.3 實驗結果

    本節(jié)主要通過實驗結果評估GGANN模型在EAST圖上程序分類準確度,以及分析模型得到的節(jié)點嵌入表達。

    4.3.1 程序分類

    程序分類問題用于驗證本文模型是否成功地從源代碼中學習到語法結構與語義信息,即針對相同問題的不同學生實現(xiàn)的代碼是否可以被劃分為相同的類別,而針對不同問題的具有相似語法結構的代碼能夠有效地被辨別。

    在實驗中,構建程序二分類任務,這個任務主要內(nèi)容是判斷給出的一份源代碼是否屬于某一個程序類別(問題題號)。這是一個監(jiān)督性學習問題,每個程序設計代碼使用相應的問題題號作為標簽。本實驗選擇的基準對比實驗是基于樹的卷積神經(jīng)網(wǎng)絡(TBCNN),據(jù)大家所知,TBCNN 是迄今為止源代碼分類任務上性能表現(xiàn)最好的工作。此外,因為GGANN模型是針對GGNN模型的改進,也將兩個模型在EAST 圖上進行對比實驗。由于TBCNN 的模型特性,導致TBCNN 模型不能運用于有環(huán)的EAST 圖,對比實驗中不考慮TBCNN 模型與EAST圖的組合實驗。

    表1和表2展示了GGANN、GGNN、TBCNN這3種模型在程序標準數(shù)據(jù)集/相似問題數(shù)據(jù)集上的分類精確度。實驗表明,TBCNN 模型在代碼分類精確度明顯低于GGANN和GGNN模型,而GGANN較GGNN模型也有明顯的改進。這一方面說明TBCNN過多的依賴程序代碼中間表達形式AST,導致TBCNN 不容易辨別語法結構相似但是運行時信息有差別的問題,另一方面說明GGANN 采用模型自主學習的交互上下文計算方式有效地提升了GGNN的性能。

    表1 模型與中間表達形式組合對比實驗

    表2 模型在相似問題上的分類準確度%

    為了評估是否數(shù)據(jù)流邊和函數(shù)調用圖邊是否有用,分別移除7 種邊中的1 種,并且使用GGANN 模型對刪除某種邊后EAST圖進行分類,以此觀察每種邊對程序分類精度的影響。

    實驗結果如圖6 所示,上劃線(----Ast)表示去掉給定類型邊(Ast)后的EAST圖。實驗結果表明大部分程序任務,刪除某一種類型的邊對程序分類精度影響不大。7種類型的邊可能存在信息冗余,因此任意某種類型的邊刪除都不會對程序分類精度產(chǎn)生顯著影響。但對于某些程序,刪除這些類型的邊可以顯著降低或提高程序分類精度(如表3 所示)。結果表明,EAST 圖中的數(shù)據(jù)信息邊能夠彌補AST中語義信息的缺失。

    圖6 不同類型邊的貢獻比較

    表3 受邊類型影響的程序分類任務

    分別比較了GGANN、GGNN、TBCNN 在EAST、AST中間表達形式上損失值的收斂趨勢。如圖7所示,圖模型不僅最終收斂損失值較小,收斂速度也比TBCNN 快。圖網(wǎng)絡模型收斂速度較快的原因,是圖模型對AST 節(jié)點的約束比TBCNN 強。更具體地說,在TBCNN 模型中,卷積操作強制信息從子節(jié)點到父節(jié)點的單向傳播,而圖模型對于每個節(jié)點,都涉及所有相鄰節(jié)點之間的雙向信息傳播。這種信息傳播能夠逐漸擴散到整個圖結構。

    圖7 4個模型的損失值隨迭代次數(shù)的變化

    4.3.2 節(jié)點聚類

    基于GGANN 模型的特點-節(jié)點的特征表達都是通過學習節(jié)點及其鄰居節(jié)點構成的子結構而來的,因此擁有相似子結構(相似語法結構)的節(jié)點具備相似的表達。為了評估模型是否學出這樣的特性,使用無監(jiān)督性聚類方法K-means 對節(jié)點的嵌入向量表達做聚類。部分節(jié)點聚類結果如表4 所示。為了分析聚類中的節(jié)點是否具有相似的語義信息,對各個聚類的節(jié)點所對應的語義信息進行了對比。

    表4 節(jié)點聚類(K=5)

    從表4可以看出,模型有效地將節(jié)點的語義特征嵌入到向量表達。比如,F(xiàn)orStmt、ContinueStmt、GotoStmt、BreakStmt等與控制流相關的節(jié)點因為具有相似的語義特征(嵌入空間比較接近),因此被聚類到簇3。類似地,一元運算符UnaryOperator 和二元運算符BinaryOperator,字符型定義StringLiteral 和整數(shù)定義IntegerLiteral聚類到了簇1,因此這些運算符都與數(shù)據(jù)運算/指向相關;CompoundAssignOperator,?=,+=,-=聚類到了簇2,因此都是與復合運算相關的。對于上述分析,TBCNN[11-12]的實驗中也挖掘出類似的節(jié)點嵌入向量性質。

    4.3.3 節(jié)點融合概率分析

    GGANN 對于EAST 圖的輸出,本文定義了一個圖向量表達的計算函數(shù),如公式(8)所示。其中每個節(jié)點v ∈V 都存在一個基于注意力機制算出的節(jié)點融合概率,這個概率反映了當前節(jié)點與EAST 圖嵌入表達(當前任務)的相關程度。為了深度挖掘融合概率是否有意義,將其中一個EAST圖中所有節(jié)點的融合概率通過熱力圖的形式進行展示。如圖8 中有104 個矩形條,每個矩形條對應EAST圖的一個節(jié)點。圖中顏色越亮的點融合概率越高。圖8 中融合較高的節(jié)點有BinaryOperator節(jié)點(0.71)、CallExpr 節(jié)點(0.74)、ImplicitCastExpr 節(jié)點(0.75)、IfStmt 節(jié)點(0.75)、DeclStmt 節(jié)點(0.72)和CompoundStmt節(jié)點(0.74)。這些節(jié)點基本位于原始的AST較高層次的位置(較高層次一般是代碼語法結構的抽象,其包含了更多的拓普信息),且能體現(xiàn)出程序算法的結構骨架。對于這樣的節(jié)點,圖嵌入表達賦予了其更大的融合概率,即更強的“關注”。未來的工作中將運用深度學習模型可解釋性相關技術驗證其一般性和適用性。

    圖8 EAST節(jié)點融合概率

    5 結束語

    為了解決在線編程服務用戶之間有限的社會互動問題,提出了使用源代碼挖掘技術促進互動。作為實現(xiàn)這一目標的第一次嘗試,本文提出了一種基于圖的程序分類模型,通過理解程序的結構和語義信息,可以對給定的程序進行高精度的算法分類。更具體地說,在這項工作中,EAST 圖被提議將一個程序的源代碼轉換成一個中間表示,并將其輸入到圖網(wǎng)絡模型中,并且為程序分類應用提出了一個圖網(wǎng)絡模型GGANN。

    據(jù)了解,這是第一個將圖網(wǎng)絡模型應用于程序分類應用程序的工作。實驗評價表明,本文研究成功地學習了各種編程任務的語法結構和語義信息,與目前最先進的程序分類工作TBCNN 相比,模型的分類精度提到提升。在未來,希望集成編譯技術,進一步挖掘源代碼。另外,GGANN 模型計算量偏大,模型訓練時間過長,因此,希望借助鄰域采樣和池化技術加速模型的訓練速度,并將GGANN模型擴展到其他編程語言和其他任務。

    猜你喜歡
    語法結構源代碼代碼
    人工智能下復雜軟件源代碼缺陷精準校正
    計算機仿真(2023年8期)2023-09-20 11:23:42
    基于TXL的源代碼插樁技術研究
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    軟件源代碼非公知性司法鑒定方法探析
    長沙方言中的特色詞尾
    青春歲月(2016年22期)2016-12-23 23:19:50
    淺析古代漢語的名詞動用
    青春歲月(2016年21期)2016-12-20 11:20:50
    培養(yǎng)閱讀技巧,提高閱讀能力
    考試周刊(2016年34期)2016-05-28 14:39:52
    亚洲av免费高清在线观看| 久久国产乱子免费精品| 九九热线精品视视频播放| 中亚洲国语对白在线视频| 成人鲁丝片一二三区免费| 窝窝影院91人妻| 国产白丝娇喘喷水9色精品| 久久久午夜欧美精品| 亚洲熟妇熟女久久| 美女cb高潮喷水在线观看| 精品午夜福利视频在线观看一区| 色综合婷婷激情| 人妻夜夜爽99麻豆av| 91麻豆精品激情在线观看国产| 91在线精品国自产拍蜜月| 99热6这里只有精品| 精品久久久噜噜| 国产精品98久久久久久宅男小说| 搡女人真爽免费视频火全软件 | 亚洲av免费在线观看| 久久亚洲真实| 人妻久久中文字幕网| 韩国av一区二区三区四区| 中文字幕av成人在线电影| 十八禁网站免费在线| www.www免费av| 99热这里只有精品一区| 免费无遮挡裸体视频| 日本色播在线视频| 69人妻影院| 美女高潮的动态| 亚洲精华国产精华液的使用体验 | 精品福利观看| 久久精品夜夜夜夜夜久久蜜豆| 一个人免费在线观看电影| 久久久久性生活片| 成人永久免费在线观看视频| 国产真实伦视频高清在线观看 | 国产黄片美女视频| 99久久精品热视频| 性色avwww在线观看| 日韩欧美在线二视频| 国产精品一区二区三区四区免费观看 | 91av网一区二区| 乱人视频在线观看| 成人二区视频| 日韩,欧美,国产一区二区三区 | 别揉我奶头 嗯啊视频| 少妇高潮的动态图| 他把我摸到了高潮在线观看| 日本一二三区视频观看| 成人综合一区亚洲| 亚洲av中文av极速乱 | 成年版毛片免费区| 久久99热这里只有精品18| 久久久久久久精品吃奶| 色尼玛亚洲综合影院| 亚洲av二区三区四区| 国产主播在线观看一区二区| 在线观看午夜福利视频| 成人综合一区亚洲| 亚洲av中文av极速乱 | 一个人看的www免费观看视频| 少妇丰满av| 亚洲aⅴ乱码一区二区在线播放| 婷婷丁香在线五月| 白带黄色成豆腐渣| 国产91精品成人一区二区三区| 亚洲精品久久国产高清桃花| 欧美一级a爱片免费观看看| 午夜福利在线观看免费完整高清在 | 白带黄色成豆腐渣| 久久99热这里只有精品18| 中国美女看黄片| 精品人妻一区二区三区麻豆 | 日本免费一区二区三区高清不卡| a级毛片a级免费在线| 少妇人妻精品综合一区二区 | 狂野欧美白嫩少妇大欣赏| 国产激情偷乱视频一区二区| 人人妻,人人澡人人爽秒播| 露出奶头的视频| 在线免费观看不下载黄p国产 | 久久亚洲真实| 国产成人a区在线观看| 午夜福利在线观看免费完整高清在 | 国产午夜福利久久久久久| 国产精品人妻久久久影院| 春色校园在线视频观看| 黄色欧美视频在线观看| 国产精品久久久久久亚洲av鲁大| 日本爱情动作片www.在线观看 | h日本视频在线播放| 国产主播在线观看一区二区| 午夜精品在线福利| 99精品在免费线老司机午夜| 老熟妇仑乱视频hdxx| 国产精品日韩av在线免费观看| 国产中年淑女户外野战色| 国产亚洲精品综合一区在线观看| 久久久久久久久久久丰满 | 一个人免费在线观看电影| 老司机福利观看| 国语自产精品视频在线第100页| 长腿黑丝高跟| 黄色女人牲交| 国产国拍精品亚洲av在线观看| 国产三级中文精品| 国产精品久久久久久精品电影| 久久精品国产清高在天天线| 欧美日韩中文字幕国产精品一区二区三区| 亚洲aⅴ乱码一区二区在线播放| 亚洲欧美清纯卡通| 狂野欧美白嫩少妇大欣赏| 97超级碰碰碰精品色视频在线观看| 内地一区二区视频在线| 精品国内亚洲2022精品成人| 欧美激情国产日韩精品一区| 三级男女做爰猛烈吃奶摸视频| 2021天堂中文幕一二区在线观| 亚洲熟妇熟女久久| 69av精品久久久久久| 99热6这里只有精品| 国产精品久久电影中文字幕| 99久久精品一区二区三区| 日本熟妇午夜| 黄色配什么色好看| 婷婷精品国产亚洲av| 国产精品福利在线免费观看| 一进一出抽搐gif免费好疼| 精品久久久久久,| 国产精品av视频在线免费观看| 国产高清视频在线观看网站| 日韩欧美免费精品| 99久久精品国产国产毛片| 干丝袜人妻中文字幕| 亚洲精品乱码久久久v下载方式| 中文在线观看免费www的网站| 免费人成在线观看视频色| 免费观看精品视频网站| 亚洲欧美日韩高清在线视频| 国产亚洲精品综合一区在线观看| 免费看光身美女| 欧美日韩黄片免| 3wmmmm亚洲av在线观看| 亚洲av免费在线观看| 舔av片在线| 69av精品久久久久久| 亚洲国产色片| x7x7x7水蜜桃| 久久国产精品人妻蜜桃| 天堂网av新在线| 欧美潮喷喷水| 天天一区二区日本电影三级| 欧美日韩黄片免| 国产亚洲精品久久久com| 男人和女人高潮做爰伦理| 如何舔出高潮| 日韩欧美在线乱码| 午夜福利在线观看免费完整高清在 | 99久久精品热视频| 亚洲国产欧洲综合997久久,| 美女高潮喷水抽搐中文字幕| 免费人成视频x8x8入口观看| 国产精品一区www在线观看 | 熟妇人妻久久中文字幕3abv| 午夜视频国产福利| 免费观看精品视频网站| 欧美国产日韩亚洲一区| 日本一本二区三区精品| 国产久久久一区二区三区| 免费看日本二区| 久久精品国产鲁丝片午夜精品 | 日本精品一区二区三区蜜桃| 我要看日韩黄色一级片| www.www免费av| 日本撒尿小便嘘嘘汇集6| 国产久久久一区二区三区| 国产成人a区在线观看| 国产主播在线观看一区二区| 国产免费av片在线观看野外av| 丰满的人妻完整版| 亚洲国产欧洲综合997久久,| 久久精品国产亚洲av香蕉五月| 久久婷婷人人爽人人干人人爱| 免费不卡的大黄色大毛片视频在线观看 | 成人无遮挡网站| 狂野欧美白嫩少妇大欣赏| 国内久久婷婷六月综合欲色啪| 亚洲午夜理论影院| 亚洲中文字幕日韩| 搡老岳熟女国产| 久久精品影院6| 免费大片18禁| 成人午夜高清在线视频| 亚洲天堂国产精品一区在线| 男人舔奶头视频| 久久6这里有精品| av在线老鸭窝| 搡老岳熟女国产| 99久久精品国产国产毛片| 免费av观看视频| 日本 av在线| 真人一进一出gif抽搐免费| 在线播放无遮挡| www.色视频.com| 在线免费十八禁| 日韩国内少妇激情av| 久久精品国产清高在天天线| 久久草成人影院| 午夜福利在线观看免费完整高清在 | 亚洲专区中文字幕在线| 中亚洲国语对白在线视频| 淫妇啪啪啪对白视频| 无遮挡黄片免费观看| 桃红色精品国产亚洲av| 一个人看视频在线观看www免费| 国产精品久久久久久精品电影| 午夜激情欧美在线| 在线天堂最新版资源| 听说在线观看完整版免费高清| 欧洲精品卡2卡3卡4卡5卡区| 亚洲真实伦在线观看| 99riav亚洲国产免费| 在线播放无遮挡| 一进一出好大好爽视频| 干丝袜人妻中文字幕| 日本-黄色视频高清免费观看| 国产精品精品国产色婷婷| 在线播放国产精品三级| 韩国av一区二区三区四区| 国产视频一区二区在线看| 精品久久久久久,| 亚洲狠狠婷婷综合久久图片| 国产日本99.免费观看| 欧美日韩亚洲国产一区二区在线观看| 联通29元200g的流量卡| 国产午夜福利久久久久久| 国产免费av片在线观看野外av| 69av精品久久久久久| 日本黄色片子视频| 91在线观看av| 一个人看的www免费观看视频| 永久网站在线| 一级a爱片免费观看的视频| 97人妻精品一区二区三区麻豆| 九色成人免费人妻av| 午夜精品在线福利| 精品久久久久久久久久久久久| 黄色一级大片看看| 亚洲精品成人久久久久久| av视频在线观看入口| 国产69精品久久久久777片| 亚洲三级黄色毛片| 动漫黄色视频在线观看| 琪琪午夜伦伦电影理论片6080| 极品教师在线视频| 欧美区成人在线视频| 国产精品,欧美在线| 午夜精品久久久久久毛片777| 少妇的逼水好多| 最好的美女福利视频网| 久久午夜福利片| 别揉我奶头 嗯啊视频| 国产黄片美女视频| 丰满的人妻完整版| 欧美色视频一区免费| 国产色爽女视频免费观看| 国内少妇人妻偷人精品xxx网站| 国产精品爽爽va在线观看网站| 老司机午夜福利在线观看视频| 两性午夜刺激爽爽歪歪视频在线观看| 色综合亚洲欧美另类图片| 中文资源天堂在线| 日本成人三级电影网站| 久久这里只有精品中国| 亚洲精品影视一区二区三区av| 亚洲精品乱码久久久v下载方式| 国产熟女欧美一区二区| 精品久久国产蜜桃| 成人二区视频| 欧美激情久久久久久爽电影| 日韩中字成人| 国产成人影院久久av| 国产在线精品亚洲第一网站| 国产极品精品免费视频能看的| 亚洲熟妇中文字幕五十中出| 禁无遮挡网站| 成人综合一区亚洲| 一进一出抽搐gif免费好疼| 长腿黑丝高跟| 亚洲欧美日韩高清专用| 天堂网av新在线| 日本免费一区二区三区高清不卡| 久久中文看片网| 亚洲人与动物交配视频| 日韩,欧美,国产一区二区三区 | 亚洲美女视频黄频| 桃红色精品国产亚洲av| 亚洲午夜理论影院| 午夜影院日韩av| 国产亚洲精品久久久com| 淫妇啪啪啪对白视频| 日韩人妻高清精品专区| 国产高清有码在线观看视频| 十八禁国产超污无遮挡网站| 永久网站在线| 天美传媒精品一区二区| 免费人成在线观看视频色| 一a级毛片在线观看| 国产亚洲精品久久久com| 免费看光身美女| 国产精品久久久久久精品电影| 国产精品久久视频播放| 亚洲在线自拍视频| 成人毛片a级毛片在线播放| 女生性感内裤真人,穿戴方法视频| 成年女人毛片免费观看观看9| 日韩,欧美,国产一区二区三区 | 久久久久久久久久黄片| 禁无遮挡网站| 欧美日本视频| 国产精品一区二区三区四区久久| 99热这里只有是精品在线观看| 国产亚洲精品综合一区在线观看| 精品人妻1区二区| 亚洲av日韩精品久久久久久密| 最近在线观看免费完整版| 男女那种视频在线观看| av中文乱码字幕在线| 色精品久久人妻99蜜桃| 麻豆一二三区av精品| 国产伦精品一区二区三区视频9| 简卡轻食公司| 国产毛片a区久久久久| 亚洲18禁久久av| 亚洲av不卡在线观看| 欧美三级亚洲精品| 俄罗斯特黄特色一大片| 真实男女啪啪啪动态图| 国产精品久久久久久亚洲av鲁大| 啪啪无遮挡十八禁网站| 国产精品电影一区二区三区| 无遮挡黄片免费观看| 97热精品久久久久久| 久久久精品大字幕| 大型黄色视频在线免费观看| 我要看日韩黄色一级片| 又爽又黄无遮挡网站| 婷婷亚洲欧美| 久久中文看片网| 午夜福利视频1000在线观看| 亚洲欧美日韩高清在线视频| 波多野结衣高清无吗| 日日干狠狠操夜夜爽| 亚洲不卡免费看| 欧美又色又爽又黄视频| 性色avwww在线观看| 久久久久免费精品人妻一区二区| 日韩中字成人| 简卡轻食公司| 国产老妇女一区| 九九热线精品视视频播放| 中文在线观看免费www的网站| 午夜免费成人在线视频| 男人的好看免费观看在线视频| 国产激情偷乱视频一区二区| 亚洲成人中文字幕在线播放| 午夜福利视频1000在线观看| 日日摸夜夜添夜夜添av毛片 | 乱系列少妇在线播放| 伦理电影大哥的女人| 黄色女人牲交| 深爱激情五月婷婷| 九九爱精品视频在线观看| 国产毛片a区久久久久| www日本黄色视频网| 1024手机看黄色片| 国产亚洲精品综合一区在线观看| 一进一出好大好爽视频| 美女 人体艺术 gogo| 国产乱人伦免费视频| 亚洲18禁久久av| 欧美丝袜亚洲另类 | 69人妻影院| 日日夜夜操网爽| 一级a爱片免费观看的视频| av女优亚洲男人天堂| 国产精品1区2区在线观看.| 免费av毛片视频| 男人狂女人下面高潮的视频| 身体一侧抽搐| or卡值多少钱| 精品久久久噜噜| 久久婷婷人人爽人人干人人爱| 欧美色欧美亚洲另类二区| 欧美三级亚洲精品| 嫩草影院新地址| 精品久久久久久久久久久久久| 亚洲av中文av极速乱 | 国产乱人伦免费视频| 偷拍熟女少妇极品色| 国产 一区 欧美 日韩| 村上凉子中文字幕在线| www.www免费av| 搡老熟女国产l中国老女人| 亚洲熟妇中文字幕五十中出| 国产单亲对白刺激| 亚洲人成网站在线播放欧美日韩| 欧美黑人欧美精品刺激| 精品久久久久久久久亚洲 | h日本视频在线播放| 乱人视频在线观看| 精品久久久噜噜| 欧美日韩精品成人综合77777| 日韩 亚洲 欧美在线| 网址你懂的国产日韩在线| 一级毛片久久久久久久久女| 日本一本二区三区精品| 午夜a级毛片| 少妇人妻精品综合一区二区 | 日本爱情动作片www.在线观看 | 国产精品亚洲美女久久久| 色吧在线观看| 老司机午夜福利在线观看视频| 成人毛片a级毛片在线播放| 99久久无色码亚洲精品果冻| 午夜视频国产福利| 99久久中文字幕三级久久日本| 亚洲男人的天堂狠狠| 亚洲av中文av极速乱 | 亚洲国产高清在线一区二区三| 欧美在线一区亚洲| 国产伦精品一区二区三区四那| 国产精品无大码| 午夜免费激情av| 日韩,欧美,国产一区二区三区 | 精品免费久久久久久久清纯| 老师上课跳d突然被开到最大视频| 欧美一区二区精品小视频在线| 九色成人免费人妻av| 午夜老司机福利剧场| 成熟少妇高潮喷水视频| 国产精品久久久久久亚洲av鲁大| 国产精华一区二区三区| h日本视频在线播放| 18禁在线播放成人免费| 乱码一卡2卡4卡精品| 在线观看一区二区三区| 中文字幕精品亚洲无线码一区| 亚洲精品在线观看二区| 亚洲人成网站在线播| 精品乱码久久久久久99久播| 99久久精品一区二区三区| 国内毛片毛片毛片毛片毛片| 欧美最新免费一区二区三区| 久久午夜亚洲精品久久| 久久欧美精品欧美久久欧美| 人妻久久中文字幕网| 国产私拍福利视频在线观看| a级一级毛片免费在线观看| av在线天堂中文字幕| 欧美不卡视频在线免费观看| 18禁裸乳无遮挡免费网站照片| 色哟哟哟哟哟哟| 精品无人区乱码1区二区| 亚洲精品成人久久久久久| 天堂影院成人在线观看| 国产精品三级大全| 国产精品乱码一区二三区的特点| www.www免费av| 欧美一区二区精品小视频在线| 国产69精品久久久久777片| 国产精品av视频在线免费观看| 亚洲在线自拍视频| 18禁在线播放成人免费| 又紧又爽又黄一区二区| 欧美xxxx性猛交bbbb| 日韩欧美精品v在线| 久久精品国产鲁丝片午夜精品 | 精品久久久久久久人妻蜜臀av| 国产黄色小视频在线观看| 变态另类成人亚洲欧美熟女| 亚洲成人久久爱视频| 18禁黄网站禁片免费观看直播| 日韩欧美国产在线观看| 露出奶头的视频| 欧美精品啪啪一区二区三区| 午夜免费激情av| 波多野结衣高清无吗| 亚洲男人的天堂狠狠| 国产欧美日韩精品亚洲av| 国产午夜精品论理片| 嫩草影院入口| 中文字幕av成人在线电影| 精品午夜福利视频在线观看一区| 国产精品人妻久久久影院| 中文字幕人妻熟人妻熟丝袜美| 亚洲综合色惰| 高清在线国产一区| 最新中文字幕久久久久| 久久草成人影院| 国产一区二区三区av在线 | 色在线成人网| 一进一出抽搐动态| 成人特级黄色片久久久久久久| 色精品久久人妻99蜜桃| 黄色日韩在线| 人妻少妇偷人精品九色| av国产免费在线观看| 亚洲人成网站高清观看| 在线观看美女被高潮喷水网站| 又紧又爽又黄一区二区| 国产中年淑女户外野战色| 久久亚洲精品不卡| 麻豆一二三区av精品| 91久久精品国产一区二区成人| av在线蜜桃| 91精品国产九色| 精品午夜福利在线看| 尾随美女入室| 男人的好看免费观看在线视频| 日本五十路高清| 久久精品国产鲁丝片午夜精品 | 日韩精品中文字幕看吧| 亚洲最大成人手机在线| 亚洲精品日韩av片在线观看| 精品久久久噜噜| 一个人免费在线观看电影| 免费无遮挡裸体视频| 一区二区三区免费毛片| 亚洲成人免费电影在线观看| 色视频www国产| 国产蜜桃级精品一区二区三区| 中文字幕人妻熟人妻熟丝袜美| 亚洲精品色激情综合| 日韩欧美在线乱码| 国产成人影院久久av| 2021天堂中文幕一二区在线观| 老师上课跳d突然被开到最大视频| 最近视频中文字幕2019在线8| 亚洲精品一卡2卡三卡4卡5卡| 可以在线观看的亚洲视频| 最新中文字幕久久久久| 国产在线男女| 国模一区二区三区四区视频| 免费看a级黄色片| 久久国产精品人妻蜜桃| 观看美女的网站| 亚洲中文字幕一区二区三区有码在线看| 欧美中文日本在线观看视频| 亚洲av成人av| 老熟妇乱子伦视频在线观看| 少妇人妻精品综合一区二区 | 一区二区三区激情视频| 国产单亲对白刺激| 国产国拍精品亚洲av在线观看| 色综合色国产| 18禁黄网站禁片午夜丰满| 搡女人真爽免费视频火全软件 | h日本视频在线播放| 三级毛片av免费| 久久久久久久久大av| 国产成人一区二区在线| 日韩亚洲欧美综合| 日韩精品有码人妻一区| 18+在线观看网站| 桃红色精品国产亚洲av| 日本色播在线视频| 国产探花在线观看一区二区| 亚洲黑人精品在线| 中文字幕av成人在线电影| 久久久久精品国产欧美久久久| 18禁在线播放成人免费| 色哟哟哟哟哟哟| 欧美日韩亚洲国产一区二区在线观看| 国产精品日韩av在线免费观看| 国产高清不卡午夜福利| 女人被狂操c到高潮| АⅤ资源中文在线天堂| 色综合色国产| 久久精品国产亚洲网站| 亚洲一级一片aⅴ在线观看| 伊人久久精品亚洲午夜| 国产美女午夜福利| 高清日韩中文字幕在线| 搞女人的毛片| 人妻少妇偷人精品九色| 日日撸夜夜添| 亚洲va日本ⅴa欧美va伊人久久| 精品人妻熟女av久视频| 久久久久久久久大av| 欧美绝顶高潮抽搐喷水| 最近在线观看免费完整版| 久久久久久久久久黄片| 欧美激情久久久久久爽电影| 在线免费观看不下载黄p国产 | 国产亚洲精品av在线| 久久午夜亚洲精品久久| 久久亚洲精品不卡| 尾随美女入室| 亚洲国产色片| 国产不卡一卡二| 黄色欧美视频在线观看| 乱人视频在线观看| 白带黄色成豆腐渣| 桃红色精品国产亚洲av| 91久久精品电影网| x7x7x7水蜜桃| 美女免费视频网站| 99久久成人亚洲精品观看| 丰满人妻一区二区三区视频av| 精品一区二区三区av网在线观看| 少妇的逼好多水| 亚洲中文日韩欧美视频|