亚洲国产婷婷_手机在线观看国产精品_日本一区二区三区在线视频_亚洲精品成人久久

首頁 > 汽車測評 > 汽車測評 > 保持對話繼續(xù):使用ChatGPT修復(fù)337個bug中的162個,每個0.42美元

保持對話繼續(xù):使用ChatGPT修復(fù)337個bug中的162個,每個0.42美元

發(fā)布時間:2024-05-28 16:40:11

引用

Xia C S, Zhang L. Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT[J]. arXiv preprint arXiv:2304.00385, 2023.

論文:
https://arxiv.org/abs/2304.00385

摘要

自動程序修復(fù)(APR)旨在自動為有錯誤的程序生成補(bǔ)丁。傳統(tǒng)的 APR 技術(shù)缺乏補(bǔ)丁多樣性,因為它們嚴(yán)重依賴手工或挖掘的錯誤修復(fù)模式,并且不能輕易推廣到其他錯誤/修復(fù)類型。為了解決這一限制,最近的 APR 工作重點(diǎn)是利用現(xiàn)代大型語言模型 (LLM) 直接生成 APR 補(bǔ)丁。這種基于 LLM 的 APR 工具的工作原理是,首先構(gòu)建使用原始錯誤代碼構(gòu)建的輸入提示,然后查詢 LLM 以在錯誤位置填寫(完型式 APR)正確的代碼,或者生成一個全新的代碼片段作為修補(bǔ)。雖然基于 LLM 的 APR 工具能夠?qū)崿F(xiàn)最先進(jìn)的結(jié)果,但它仍然遵循經(jīng)典的生成和驗證 (GV) 修復(fù)范例,即首先通過從相同的初始提示中采樣來生成大量補(bǔ)丁,然后驗證每個補(bǔ)丁之后的一個。這不僅會導(dǎo)致許多不正確的重復(fù)補(bǔ)丁,而且還會錯過測試失敗以及看似合理的補(bǔ)丁中的關(guān)鍵但之前被忽略的信息。為了解決上述限制,我們提出了 ChatRepair,這是第一個完全自動化的對話驅(qū)動的 APR 方法,它將補(bǔ)丁生成與即時反饋交織在一起,以對話方式執(zhí)行 APR。 ChatRepair 首先向 LLM 提供相關(guān)測試失敗信息,然后從同一錯誤的早期修補(bǔ)嘗試的失敗和成功中學(xué)習(xí),以獲得更強(qiáng)大的 APR。對于未能通過所有測試的早期補(bǔ)丁,我們將不正確的補(bǔ)丁與其相應(yīng)的相關(guān)測試失敗信息結(jié)合起來,構(gòu)建一個新的提示,供LLM生成下一個補(bǔ)丁。這樣,我們就可以避免犯同樣的錯誤。對于通過所有測試的早期補(bǔ)丁(即合理的補(bǔ)丁),我們進(jìn)一步要求LLM生成原始合理補(bǔ)丁的替代變體。通過這種方式,我們可以進(jìn)一步借鑒早期的成功經(jīng)驗,生成更合理的補(bǔ)丁,從而增加獲得正確補(bǔ)丁的機(jī)會。雖然我們的方法是通用的,但我們使用最先進(jìn)的基于對話的 LLM – ChatGPT 來實(shí)現(xiàn) ChatRepair。我們對廣泛研究的 Defects4j 數(shù)據(jù)集的評估表明,ChatRepair 能夠在修復(fù)性能方面達(dá)到最先進(jìn)的水平,在 Defects4j 1.2 和 2.0 上分別實(shí)現(xiàn) 114 和 48 個正確修復(fù)。通過計算訪問 ChatGPT 的成本,我們可以修復(fù) 337 個錯誤中的 162 個,每個錯誤 0.42 美元!

1 引言

自動程序修復(fù) (APR) 是一種自動生成軟件錯誤補(bǔ)丁的有前途的方法。傳統(tǒng)的 APR 工具通常使用生成和驗證 (GV)范例,首先生成大量候選補(bǔ)丁,然后根據(jù)原始測試套件驗證每個補(bǔ)丁,以發(fā)現(xiàn)一組合理的補(bǔ)丁(通過所有測試)。然后將這些看似合理的補(bǔ)丁提供給開發(fā)人員,以找到正確修復(fù)潛在錯誤的正確補(bǔ)丁。傳統(tǒng)的APR技術(shù)可以分為基于模板的,基于啟發(fā)式的和基于約束的APR工具。在這些傳統(tǒng)技術(shù)中,基于模板的 APR 工具,使用手工制作或挖掘的修復(fù)模板來匹配和修復(fù)有缺陷的代碼模式,被認(rèn)為是最先進(jìn)的。然而,基于模板的工具缺乏補(bǔ)丁多樣性,因為它們無法輕松泛化到預(yù)定義模板列表之外的錯誤和模式。為了解決傳統(tǒng) APR 技術(shù)的局限性,研究人員提出了利用深度學(xué)習(xí)進(jìn)步的基于學(xué)習(xí)的 APR 方法。基于學(xué)習(xí)的方法主要基于神經(jīng)機(jī)器翻譯(NMT)或大型語言模型(LLM)。基于 NMT 的 APR 工具將修復(fù)視為一項翻譯任務(wù),通過使用歷史錯誤修復(fù)數(shù)據(jù)集訓(xùn)練 NMT 模型將有錯誤的代碼轉(zhuǎn)換為正確的代碼。然而,這種基于 NMT 的 APR 工具嚴(yán)重依賴于其訓(xùn)練數(shù)據(jù),這些數(shù)據(jù)是通過抓取開源存儲庫來進(jìn)行錯誤修復(fù)提交而獲得的。這意味著不僅訓(xùn)練數(shù)據(jù)集可能有噪音(即包含不相關(guān)的提交/更改),而且這些基于 NMT 的方法可能無法推廣到在有限的訓(xùn)練數(shù)據(jù)中未見的錯誤修復(fù)類型。

最近,研究人員開始直接利用高級LLM進(jìn)行 APR。現(xiàn)代LLM接受了數(shù)十億個開源代碼片段的訓(xùn)練,在許多與代碼相關(guān)的任務(wù)上展示了令人印象深刻的性能,并且可以學(xué)習(xí)在給定周圍上下文的情況下直接生成代碼(由于代碼自然性)。 AlphaRepair提出了第一個完形填空式(或填充式)APR 方法,其中有錯誤的代碼被刪除,并且 LLM 在給定前綴和后綴上下文的情況下直接預(yù)測正確的代碼。最近的工作還應(yīng)用基于 LLM 的 APR 來自動完成單個正確行或生成完整的固定函數(shù)。一項更廣泛的研究研究了將更大的 LLM 和不同的 LLM 架構(gòu)(即生成式和填充式)應(yīng)用于 APR,并證明基于 LLM 的 APR 工具可以在許多 APR 任務(wù)上實(shí)現(xiàn)新的最先進(jìn)的性能。同時,現(xiàn)有的基于LLM的APR渠道仍然存在以下局限性:

1)缺少測試失敗信息。當(dāng)前基于 LLM 的工具沒有考慮原始 bug 暴露測試中的豐富信息。這些信息不僅可以幫助LLM理解被測源代碼的含義,還可以通過具體的代碼片段提供幫助和提示。圖 1 顯示了錯誤修復(fù)示例以及原始測試失敗信息。我們看到解決方法是將附加字符串交換為“\\000”。對于基于 LLM 的方法來說,這可能是一個極其困難的修復(fù),因為這個獨(dú)特的字符串是這不是預(yù)訓(xùn)練期間常用的字符串,并且當(dāng)前函數(shù)上下文中也沒有其他三重字符串(“\\XXX”)的示例。然而,從測試中的失敗行和相應(yīng)的錯誤消息中,我們看到測試期望輸出包含三個零,甚至包含直接在補(bǔ)丁中使用的代碼片段(“\\000”)!LLM在處理/利用測試失敗日志等非結(jié)構(gòu)化/復(fù)雜信息方面表現(xiàn)出了強(qiáng)大的能力。如果不考慮它們,基于 LLM 的工具可能會浪費(fèi)大量時間來生成不相關(guān)的補(bǔ)丁。

2)重復(fù)采樣。當(dāng)前基于 LLM 的方法首先使用原始有缺陷的代碼構(gòu)建輸入提示,然后要求 LLM 填寫正確的代碼(即完型填空式 APR)或生成全新的固定函數(shù)。使用初始提示,基于 LLM 的技術(shù)將對 LLM 進(jìn)行多次采樣以生成許多補(bǔ)丁,類似于傳統(tǒng)的程序修復(fù) GV 范例。然而,由于每個樣本都是完全獨(dú)立的,LLM 不知道任何先前生成的補(bǔ)丁。因此,基于 LLM 的工具可能會生成許多重復(fù)或類似的補(bǔ)丁,這些補(bǔ)丁已被確定為不正確,從而浪費(fèi) API 訪問的成本或 GPU 執(zhí)行的時間。此外,這種重復(fù)采樣過程也與人類開發(fā)人員修復(fù)錯誤的方式截然不同,人類開發(fā)人員在知識的基礎(chǔ)上迭代構(gòu)建,并嘗試從之前失敗的嘗試中提出下一個可能的補(bǔ)丁。

3)對有價值的合理補(bǔ)丁的無知。除了無法使用過去的錯誤補(bǔ)丁之外,當(dāng)前基于 LLM 的 APR 工具也無法有效利用之前生成的合理補(bǔ)丁。合理的補(bǔ)丁已被證明是有價值的,因為它們通常與實(shí)際正確的補(bǔ)丁共享相似的位置。此外,我們進(jìn)一步假設(shè)合理的補(bǔ)丁可能還包括通過所有測試的關(guān)鍵代碼成分,并且還可以幫助LLM更好地學(xué)習(xí)如何通過所有測試以生成更合理的補(bǔ)丁(從而增加生成正確補(bǔ)丁的機(jī)會)。通過忽略這些有價值的合理補(bǔ)丁信息并在生成合理補(bǔ)丁后從頭開始,現(xiàn)有的基于 LLM 的 APR 可能會錯過正確修復(fù)更多錯誤的機(jī)會。

我們的工作。我們推出 ChatRepair – 一種完全自動化的對話驅(qū)動的 APR 方法,它將補(bǔ)丁生成與即時反饋交織在一起,以對話方式執(zhí)行補(bǔ)丁生成。雖然我們的想法很籠統(tǒng),但為了構(gòu)建 ChatRepair,我們使用最近開發(fā)的、當(dāng)前最先進(jìn)的基于對話的 LLM – ChatGPT,它不僅經(jīng)過數(shù)十億代碼片段的訓(xùn)練,而且還經(jīng)過設(shè)計以對話方式使用,以更好地理解說明。 ChatRepair 首先提取相關(guān)測試失敗信息作為初始提示,為 ChatGPT 提供更多 APR 上下文信息。此外,ChatRepair 進(jìn)一步從早期修補(bǔ)的失敗和成功中學(xué)習(xí)嘗試相同的錯誤以獲得更強(qiáng)大的 APR。對于未能通過所有測試的早期補(bǔ)丁,我們將不正確的補(bǔ)丁與其相應(yīng)的測試失敗信息結(jié)合起來,構(gòu)建一個新的提示,供 LLM 生成下一個補(bǔ)丁。這樣,我們就可以避免犯同樣的錯誤。對于通過所有測試的早期補(bǔ)丁(即合理的補(bǔ)丁),我們進(jìn)一步要求LLM生成原始合理補(bǔ)丁的替代變體。通過這種方式,我們可以進(jìn)一步借鑒早期的成功經(jīng)驗,生成更合理的補(bǔ)丁,從而增加獲得正確補(bǔ)丁的機(jī)會。由于我們的方法使用 ChatGPT 模型,因此我們還計算用于修復(fù)錯誤的 ChatGPT API 查詢的美元成本。令人驚訝的是,我們發(fā)現(xiàn)通過使用 ChatRepair,我們可以修復(fù) 337 個錯誤中的 162 個,每個錯誤 0.42 美元。

本文做出以下貢獻(xiàn):

維度。我們?yōu)槿詣映绦蛐迯?fù)開辟了對話驅(qū)動范例的新維度。我們的工作首次證明,我們可以有效地利用以前被忽略的測試失敗信息,以及以對話方式進(jìn)行的早期補(bǔ)丁嘗試,以提示LLM生成更正確的補(bǔ)丁。此外,我們展示了利用基于對話的LLM進(jìn)行 APR 的廣闊前景。
技術(shù)。我們使用最新的ChatGPT 模型開發(fā)了ChatRepair,這是一種完全自動化的對話驅(qū)動的APR 工具。更具體地說,我們自動提取有關(guān)初始測試失敗以及早期補(bǔ)丁嘗試的簡潔相關(guān)信息,以提示 ChatGPT 進(jìn)行有效的 APR。
評估。我們在廣泛研究的 Defects4j 1.2、2.0和 QuixBugs數(shù)據(jù)集上針對當(dāng)前最先進(jìn)的基于學(xué)習(xí)的傳統(tǒng) APR 工具評估 ChatRepair。 ChatRepair 在 Defects4j 1.2 和 2.0 上分別獲得了 114 個和 48 個正確錯誤修復(fù)(比之前的最佳基線多 15 個和 17 個)的新的最先進(jìn)修復(fù)結(jié)果。此外,我們進(jìn)行了廣泛的消融研究,以證明利用豐富的語義測試失敗信息和 ChatRepair 的對話范例進(jìn)行修復(fù)所獲得的改進(jìn)。
2 技術(shù)介紹

我們提出了 ChatRepair,一種完全自動化的對話驅(qū)動的 APR 技術(shù),它結(jié)合了多個維度的反饋信息來迭代查詢模型以生成補(bǔ)丁。 ChatRepair 不像現(xiàn)有基于 LLM 的 APR 技術(shù)那樣直接根據(jù)有缺陷的代碼生成補(bǔ)丁,而是另外提供有價值的測試失敗信息,以進(jìn)一步幫助 LLM 生成補(bǔ)丁。此外,ChatRepair 并沒有像之前基于 LLM 的 APR 技術(shù)那樣從相同的提示中連續(xù)采樣,而是跟蹤對話歷史記錄,并通過提示從先前失敗和成功的同一錯誤修補(bǔ)嘗試中進(jìn)一步學(xué)習(xí)。通過這種方式,ChatRepair 既可以避免以前的失敗,又可以在早期的成功(例如合理的補(bǔ)丁)的基礎(chǔ)上構(gòu)建更有效的 APR。因此,ChatRepair 最大限度地提高了獲得正確修復(fù)潛在錯誤的真正正確補(bǔ)丁的能力。雖然我們的方法是通用的,可以使用不同的 LLM 并應(yīng)用于各種不同的修復(fù)場景,但在這項工作中,我們使用專為對話交互設(shè)計的最先進(jìn)的 ChatGPT 模型,如圖1所示。


圖1:ChatRepair整體工作流程

2.1 初始輸入

首先,我們使用原始的bug項目和bug來構(gòu)建ChatGPT的初始提示,以啟動修復(fù)過程。我們遵循先前基于學(xué)習(xí)的APR工具,并主要關(guān)注線級修復(fù)(特別是填充或封閉型APR,因為它已被證明是最先進(jìn)的[58])。同時,ChatRepair通常也可以用于各種不同的修復(fù)場景,我們將在后面的部分中更詳細(xì)地對其進(jìn)行評估。

ChatRepair使用來自失敗測試的各種信息,包括1)它的名稱,2)觸發(fā)測試失敗的相關(guān)代碼行,以及3)產(chǎn)生的錯誤消息。失敗測試的名稱可以作為被測函數(shù)的簡短摘要。在圖2的例子中,失敗的測試是
testGreatestSubtypeUnionTypes5(),它告訴我們,我們正在測試一個與從聯(lián)合類型中確定最大子類型相關(guān)的功能。相關(guān)的測試代碼和錯誤消息給出了關(guān)于測試失敗原因的具體信息。在示例中,相關(guān)的測試代碼和錯誤消息告訴模型,我們正在比較No_OBJECT_TYPE,但源代碼函數(shù)錯誤地返回了一個None對象。這樣失敗的測試信息不僅在源代碼的功能方面為模型提供了更多的解釋,而且在預(yù)期輸出和函數(shù)使用方面提供了具體的信息,以幫助模型生成正確的修復(fù)。注意,如果有多個失敗的測試,ChatRepair只提供其中一個的信息,以保持簡潔的初始提示。最后,我們通過給model生成正確的行來替換填充位置的有bug的代碼來結(jié)束我們的初始提示。設(shè)C為輸出生成序列概率的ChatGPT,preandsufas為刪除錯誤行后的錯誤代碼的前綴和后綴,Ifillas為替換錯誤行的填充令牌,f0為構(gòu)造的失敗測試信息,Ifillas為填充指令提示符。補(bǔ)丁pgenerated可以形式化的條件概率:C(p|pre,infill,suf,f0,Ifill)

據(jù)我們所知,ChatRepair是第一個通過結(jié)合故障信息的自然語言描述(例如,代碼在此測試中失敗:{failure_test})作為輸入到強(qiáng)大的ChatGPT模型中,以純提示方法應(yīng)用這些測試失敗和錯誤消息的工作。與之前使用的修復(fù)測試執(zhí)行信息不同[61],它依賴于自定義編碼或手工制作的啟發(fā)式,通過使用ChatGPT通過提示進(jìn)行ChatRepair不僅是跨越不同編程語言但也不受測試信息類型的限制。

2.2 會話修補(bǔ)

我們首先使用創(chuàng)建的初始提示來查詢ChatGPT以獲得模型輸出并提取候選補(bǔ)丁。然后,我們轉(zhuǎn)移到方法的對話部分,我們將patch生成與測試驗證反饋交織在一起,以對話的方式提示未來的生成。每個由模型生成的補(bǔ)丁之后,都立即有一個補(bǔ)丁驗證步驟,以在測試套件上編譯和運(yùn)行補(bǔ)丁。如果補(bǔ)丁未能通過測試,我們將使用不正確的補(bǔ)丁和失敗的測試構(gòu)建詳細(xì)的反饋信息,作為下一個補(bǔ)丁生成提示的一部分。與初始提示類似,測試失敗信息可以幫助模型了解失敗原因,并為生成正確修復(fù)提供指導(dǎo)。在對話步驟中,我們進(jìn)一步將測試失敗信息與之前不正確的補(bǔ)丁結(jié)合起來,不僅可以避免生成更多類似的不正確補(bǔ)丁,還可以從前幾代的錯誤中學(xué)習(xí)。我們重復(fù)這個過程,直到生成一個通過整個測試套件的可信補(bǔ)丁。

2.3 貌似合理的補(bǔ)丁生成

在前一步之后,ChatRepair應(yīng)該獲得一個可以通過整個測試套件的貌似合理的補(bǔ)丁。然而,一個似是而非的補(bǔ)丁可能并不總是能夠正確地修復(fù)底層bug,因為測試套件可能是不完整的,因此無法覆蓋底層代碼的所有可能的預(yù)期用法。因此,開發(fā)人員必須手動檢查合理的補(bǔ)丁以確定正確的補(bǔ)丁。合理的補(bǔ)丁和最終正確的補(bǔ)丁都有一個相似的特點(diǎn):它們都可以通過整個測試套件。因此,ChatRepair不是從頭開始),而是直接利用現(xiàn)有的可信補(bǔ)丁來創(chuàng)建更可信的補(bǔ)丁。簡而言之,為了增加我們能夠生成正確補(bǔ)丁的概率,ChatRepair采用之前生成的可信補(bǔ)丁,并要求模型生成替代變體并產(chǎn)生額外的候選補(bǔ)丁。

首先,我們采用最初使用的提示符,其中包含原始的有bug的代碼功能以及有用的測試失敗信息。然后,我們在提示符后面添加生成的合理補(bǔ)丁列表。在開始時,該列表將只包含上一步中單個合理的補(bǔ)丁,但是隨著我們繼續(xù)生成額外的合理補(bǔ)丁,它會增長。接下來,我們在提示符中指出我們想要解決的任務(wù)-請生成一個替代修復(fù)行。然后,我們使用這個提示符作為ChatGPT的輸入,并獲得一個候選補(bǔ)丁,我們將再次編譯并運(yùn)行測試套件,以檢查它是否確實(shí)是另一個合理的補(bǔ)丁。我們不斷地查詢ChatGPT并更新提示符,以包含生成的新的可信補(bǔ)丁,以避免再次重復(fù)生成相同的可信補(bǔ)丁,并進(jìn)一步構(gòu)建早期的可信補(bǔ)丁。再次設(shè)C為輸出生成序列概率的ChatGPT模型,Ibe為初始提示符,Iplas為任務(wù)指令,PL<n={pl1,…,pln−1}是之前生成的可信補(bǔ)丁。生成的下一個似是而非的補(bǔ)丁可以形式化為條件概率:C(pli|I,PL<i,IPL)。

最后,我們得到一個似是而非的補(bǔ)丁列表,這些補(bǔ)丁可以交給開發(fā)人員進(jìn)行人工檢查。與之前的APR工具(僅對原始錯誤代碼進(jìn)行操作以生成補(bǔ)丁)不同,ChatRepair利用每個可能的補(bǔ)丁中額外的有用信息來獲得更多可能的補(bǔ)丁。一個合理的補(bǔ)丁通常包含有用的成分/模式,允許它通過原始測試套件;因此,ChatGPT不是從頭開始(即再次修復(fù)錯誤),而是在現(xiàn)有的可信補(bǔ)丁的基礎(chǔ)上構(gòu)建,通過其強(qiáng)大的理解指令的能力,可以獲得額外的可信補(bǔ)丁,以增加我們的最終補(bǔ)丁列表中包含修復(fù)錯誤的正確補(bǔ)丁的可能性。

汽車測評更多>>

從《大師與瑪格麗特》看經(jīng)典作品當(dāng)代復(fù)現(xiàn)的創(chuàng)作困境 傅繼英工筆畫三十三觀音之馬郎婦觀音:至誠合作,事業(yè)騰達(dá) 粵港青年音樂家在深圳展演四場室內(nèi)樂音樂會,奏響大灣區(qū)青春樂章 若羌縣舉辦“棗花開了”系列活動之移風(fēng)易俗、書畫攝影作品、臨書臨印展 第十四屆全國美術(shù)作品展覽部分進(jìn)京作品巡展至河南 2024年南寧市體育局局屬事業(yè)單位免筆試招聘工作人員公告(5人) 2024年中國人民政治協(xié)商會議廣州市海珠區(qū)委員會辦公室關(guān)于招聘雇員的公告(1人) 2024年中山職業(yè)技術(shù)學(xué)院第三期招聘事業(yè)單位人員公告(16人) 2024年下半年揭陽市市直事業(yè)單位專項招聘博(碩)士研究生公告(45人) 安徽大眾第二款SUV要來了,依舊轎跑風(fēng)格,定位更高 阿維塔又要推新車了,定位中型轎車,明年推出 9.98萬元起售,搭載2C快充,五菱星光純電版算是真香之選嗎? 阿維塔12增程版要來了,明天開啟預(yù)售,純電續(xù)航201km MG ES5要來了,10月15日首發(fā),主打大空間 嵐圖知音正式上市,19.69萬起,全新純電平臺打造,還配曲面屏 別錯過!這四款華為手機(jī)超高性價比,最低1199元! 解讀卡羅拉銳放,定位緊湊型SUV,配2.0L+CVT,實(shí)力表現(xiàn)如何? 外觀運(yùn)動時尚的艾瑞澤8,1.6T爆發(fā)197馬力,實(shí)力表現(xiàn)到底如何? 小鵬P7i:6.4秒破百,配XNGP+AI天璣系統(tǒng),產(chǎn)品實(shí)力值得一看 長安啟源A07全新真香版即將上市,產(chǎn)品力依舊保持較高水準(zhǔn) 定位緊湊型SUV,車身軸距2770mm的哪吒X,其實(shí)力表現(xiàn)是否值得一看 9月銷量破萬,豐田亞洲龍2024款,2.0L+CVT,值得入手嗎 10小時訂單量破5000臺,全新智己LS6比極氪7X更值得考慮? 純電中大型轎車之爭,極越07、領(lǐng)克Z10,誰更具“性價比”? 塊頭都不小呀!比亞迪騰勢N9、全新“夏”MPV現(xiàn)身目錄 蘋果推出新款iPad mini 現(xiàn)在即可訂購 10月23日在實(shí)體店開售 一汽紅旗:交付 EH7 榮耀版,助力體育強(qiáng)國 中國車企正在“顛覆”歐洲老牌制造商?小鵬、廣汽紛紛“安撫” 第100萬輛汽車下線 理想汽車成國內(nèi)首個“百萬輛新勢力車企” AION V 打頭陣,廣汽開始籌謀歐洲市場
亚洲国产婷婷_手机在线观看国产精品_日本一区二区三区在线视频_亚洲精品成人久久
美女诱惑黄网站一区| 久久久久se| 亚洲特级毛片| 欧美在线日韩| 久久综合一区| 欧美日韩成人综合在线一区二区| 欧美日韩免费一区| 国产精品尤物| 亚洲第一久久影院| 99亚洲视频| 久久成人在线| 欧美精品一区二区三区在线看午夜| 欧美三级中文字幕在线观看| 国产日韩在线视频| 亚洲国产片色| 午夜欧美大片免费观看| 老司机精品福利视频| 国产精品a久久久久久| 国产一区二区三区电影在线观看 | 亚洲国产高清一区| 中国av一区| 久久露脸国产精品| 国产精品久久97| 亚洲国产日韩精品| 午夜久久tv| 欧美激情视频在线播放 | 在线观看日韩国产| 亚洲综合首页| 欧美国产视频在线| 国产一在线精品一区在线观看| 亚洲美女啪啪| 久久夜色精品国产噜噜av| 国产精品久久久久久久9999 | 99综合精品| 久久亚洲影院| 国产精品一区二区久久久久| 亚洲国产清纯| 久久噜噜亚洲综合| 国产精品视频免费观看| 亚洲精品免费看| 老牛影视一区二区三区| 国产毛片一区二区| 一区二区三区国产精品| 麻豆九一精品爱看视频在线观看免费| 国产精品老女人精品视频| 亚洲精品影院| 美女黄网久久| 国内精品久久久久影院薰衣草| 亚洲一区久久久| 欧美日韩国产色综合一二三四| 1024成人网色www| 久久精品99久久香蕉国产色戒| 国产精品h在线观看| 亚洲欧洲一区二区三区| 老司机aⅴ在线精品导航| 国产一区二区在线免费观看 | 伊大人香蕉综合8在线视| 午夜久久影院| 国产精品久久久久久av下载红粉| 亚洲精品欧美日韩| 91久久黄色| 久久理论片午夜琪琪电影网| 国产视频一区免费看| 亚洲一区二区在线观看视频| 欧美日韩一区二区在线视频| 亚洲人在线视频| 女主播福利一区| 亚洲第一中文字幕| 噜噜爱69成人精品| 伊人久久大香线蕉综合热线| 久久精品日韩一区二区三区| 国产午夜精品麻豆| 欧美一区二区三区免费看| 国产精品伊人日日| 欧美伊人久久久久久午夜久久久久| 国产精品欧美经典| 午夜精品一区二区在线观看| 国产欧美精品国产国产专区| 香港久久久电影| 国产丝袜一区二区| 久久久国产91| 在线观看视频免费一区二区三区| 久久综合电影| 亚洲国产精品小视频| 欧美多人爱爱视频网站| 亚洲日产国产精品| 欧美精品九九| 制服丝袜激情欧洲亚洲| 国产精品高清免费在线观看| 亚洲伊人观看| 国产午夜精品久久久久久免费视| 久久精品国产第一区二区三区最新章节 | 91久久黄色| 欧美日韩成人在线观看| 一区二区三区欧美成人| 国产精品成人一区| 性欧美精品高清| 好男人免费精品视频| 可以免费看不卡的av网站| 亚洲欧洲在线视频| 欧美日韩亚洲一区二区三区在线| 亚洲天堂久久| 国产色产综合产在线视频| 久久久一区二区三区| 亚洲激情专区| 国产精品h在线观看| 午夜精品电影| 极品av少妇一区二区| 欧美电影在线免费观看网站| 日韩西西人体444www| 国产精品久久久久aaaa樱花| 久久高清福利视频| 亚洲黄色在线视频| 欧美性猛交xxxx免费看久久久| 香蕉免费一区二区三区在线观看| 国产日韩精品一区观看| 蜜臀va亚洲va欧美va天堂| 99re66热这里只有精品4| 国产精品入口日韩视频大尺度| 久久久免费av| 9人人澡人人爽人人精品| 国产精品亚洲综合天堂夜夜| 看片网站欧美日韩| 亚洲一区二区三区中文字幕在线| 国产一区二区三区四区三区四| 欧美成人免费全部| 亚洲欧美日韩人成在线播放| 亚洲第一毛片| 国产精品福利影院| 久久一综合视频| 在线视频一区观看| 精品999成人| 欧美亚洲不卡| 欧美成年人视频网站| 亚洲女女女同性video| 亚洲电影下载| 国产精品色在线| 欧美韩国在线| 久久国产精品一区二区| 一本色道精品久久一区二区三区| 国产一区99| 欧美四级在线观看| 美女视频网站黄色亚洲| 亚洲欧美日韩天堂| 亚洲精品美女在线| 狠狠久久亚洲欧美| 欧美激情一区二区三区不卡| 午夜精品一区二区三区四区| 日韩视频不卡中文| 国内揄拍国内精品少妇国语| 欧美人与性动交α欧美精品济南到| 久久aⅴ国产紧身牛仔裤| 日韩亚洲成人av在线| 国模精品一区二区三区色天香| 欧美午夜不卡视频| 欧美成人dvd在线视频| 欧美一区二区三区在线看| 99精品热视频只有精品10| 在线观看视频免费一区二区三区| 国产美女一区二区| 欧美日韩亚洲一区二区| 欧美成人亚洲成人日韩成人| 欧美一区二区三区啪啪| av成人免费| 亚洲黄页视频免费观看| 韩日精品中文字幕| 国产精品综合视频| 欧美日韩在线观看一区二区三区| 麻豆久久婷婷| 久久久视频精品| 欧美一区二区私人影院日本| 亚洲午夜国产成人av电影男同| 亚洲激情成人网| 伊人久久婷婷| 国产日韩欧美在线观看| 国产精品久久久久久超碰| 欧美另类在线观看| 欧美成年人网| 狂野欧美一区| 久久米奇亚洲| 久久精品国产在热久久 | 久久高清国产| 欧美亚洲综合网| 午夜精品国产更新| 亚洲综合视频一区| 亚洲视频自拍偷拍| 一区二区三区高清在线观看| 99re热这里只有精品视频| 亚洲日韩视频| 亚洲精品日韩一| 亚洲精品日本| 亚洲毛片一区| 日韩小视频在线观看专区| 亚洲精选一区二区| 亚洲精品一区二区三区婷婷月 | 国产精品久久久久久av下载红粉| 欧美视频中文字幕在线| 欧美三级小说| 亚洲午夜伦理| 亚洲一级影院| 亚洲欧美不卡| 羞羞色国产精品| 欧美资源在线观看| 久久精品理论片|