国产亚洲精品网站_日本77777_在线观看av日韩_天天综合天天添夜夜添狠狠添_成年在线观看视频_欧美大片久久久_国产乱码一区二区三区四区_欧洲在线免费视频_欧美日韩第二页_韩国黄色一级大片_色婷婷综合在线观看_av网站大全免费

首頁(yè) > 科技知識(shí) > 科技知識(shí) > 保持對(duì)話繼續(xù):使用ChatGPT修復(fù)337個(gè)bug中的162個(gè),每個(gè)0.42美元

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

發(fā)布時(shí)間:2024-05-28 16:40:11來(lái)源: 152102

引用

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

摘要

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

1 引言

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

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

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

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

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

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

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

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

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


圖1:ChatRepair整體工作流程

2.1 初始輸入

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

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

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

2.2 會(huì)話修補(bǔ)

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

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

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

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

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

科技知識(shí)更多>>

拼“左滑右劃”的年代,如何保障汽車(chē)安全? 奇瑞艾瑞澤 8 PRO 2.0T 將于 6 月 19 日上市!升級(jí)馬牌輪胎 領(lǐng)克 09EM-P 大五座限時(shí)煥新價(jià) 23.58 萬(wàn)元起!定位中大型插混 SUV 東風(fēng)風(fēng)神5月?tīng)I(yíng)銷(xiāo)傳播透析 傳播無(wú)亮點(diǎn) 銷(xiāo)售老總鄧留超壓力夠大 全新日產(chǎn)聆風(fēng)官圖,跨界純電SUV,國(guó)產(chǎn)買(mǎi)嗎? 當(dāng)全新伊蘭特遇見(jiàn)BLACK PINK,北京現(xiàn)代終于開(kāi)竅了 捷途縱橫G700實(shí)車(chē)現(xiàn)身,大過(guò)豹8+華為乾崑,配761馬力+三把鎖 零跑汽車(chē)?yán)塾?jì)交付量突破80萬(wàn)臺(tái) 新能源方盒子穿越王牌之爭(zhēng) 深藍(lán)G318無(wú)憂穿越版VS方程豹豹5 聊天頁(yè)面語(yǔ)音按鍵“變形”!鴻蒙版微信更新,如何“嘗鮮”,官方回應(yīng) 鴻蒙智行登頂新勢(shì)力品牌周銷(xiāo)量第一 迎來(lái)加速跑時(shí)代 各地多措并舉促就業(yè),人工智能領(lǐng)域人才需求旺盛 蘋(píng)果 iOS 19 新特性曝光:iPhone eSIM 可直接轉(zhuǎn)移至安卓 蘋(píng)果未來(lái)三年手機(jī)設(shè)計(jì)路線解析:從2025到2027的三代產(chǎn)品升級(jí)變化 內(nèi)部人士回應(yīng)快手強(qiáng)制員工刷短視頻:“并不屬實(shí)” 京東自研無(wú)人機(jī)首飛櫻桃季 低空經(jīng)濟(jì)護(hù)航煙臺(tái)櫻桃“飛”向全國(guó) 市值82億!“淘寶之父”今日收獲一個(gè)IPO 淘寶 2025 流量爆發(fā)新玩法 廣州5月樓市,冰火兩重天!五一爆單后,二手房卻掛出14.5萬(wàn)套 天津4月二手房?jī)r(jià)格微降 新房漲幅70城排第三 住進(jìn)70平簡(jiǎn)約新房:從租房到安家,這3個(gè)月裝修值了? 15分鐘快充、座艙功能升級(jí)……來(lái)上海車(chē)展體驗(yàn)智能化的新能源汽車(chē) 新能源車(chē)充電自燃,保險(xiǎn)怎么賠?燒到豪車(chē)怎么辦?快來(lái)了解! 嵐圖夢(mèng)想家刷新智駕安全邊界,蒙眼挑戰(zhàn)背后的五星標(biāo)準(zhǔn)有多強(qiáng)? 日產(chǎn)N7明日廣州上市,智能化升級(jí)訂單火爆,價(jià)格成懸念! 歐拉閃電貓旅行版亮相!\&quot;歐拉精彩生活行動(dòng)\&quot;啟動(dòng),激勵(lì)基金200萬(wàn)元 吉利發(fā)布“神盾金磚”電池品牌 “科技硬核SUV”銀河戰(zhàn)艦全球首發(fā) 價(jià)格區(qū)間13萬(wàn)—16萬(wàn)級(jí),bZ5演繹“五維”純電新價(jià)值 鴻蒙原生版微信正式上架,該有的功能都有了 特斯拉煥新Model Y揚(yáng)言盡管對(duì)比!國(guó)內(nèi)新勢(shì)力品牌紛紛“應(yīng)戰(zhàn)”
国产亚洲精品网站_日本77777_在线观看av日韩_天天综合天天添夜夜添狠狠添_成年在线观看视频_欧美大片久久久_国产乱码一区二区三区四区_欧洲在线免费视频_欧美日韩第二页_韩国黄色一级大片_色婷婷综合在线观看_av网站大全免费
欧美精品自拍| 理论片午夜视频在线观看| 亚洲一区二区免费在线观看| 国产精品对白久久久久粗| 亚洲精品网址| 伊伊综合在线| 国产激情久久| 日韩精品1区2区3区| 色偷偷色偷偷色偷偷在线视频| 亚洲精品婷婷| 亚洲国产日韩欧美在线| 精品国产免费人成网站| 久久精品99国产精品日本| 视频在线在亚洲| 午夜欧美精品| 欧美1级日本1级| 在线一区视频观看| 97精品国产| 国产成人精品一区二区三区免费| 日韩一区精品| 蜜桃久久久久久久| 黄色av日韩| 欧美日韩精品免费观看视频完整| 亚洲欧洲高清| 久草精品视频| 欧美黄页在线免费观看| 蜜桃视频一区二区三区| 亚洲欧美久久| 免费日本视频一区| 国产一区白浆| 免费在线欧美视频| 麻豆理论在线观看| 日韩精品一区二区三区免费视频 | 伊人久久大香线蕉av不卡| 视频一区视频二区中文字幕| 成人av动漫在线观看| 国产99精品一区| 亚洲欧洲午夜| 天海翼亚洲一区二区三区| 日韩手机在线| 国产精品自在| 欧美亚洲日本精品| 国产一区日韩一区| 国产精品人人爽人人做我的可爱| 国产精品女主播一区二区三区 | 国产精品精品| 香蕉精品久久| 日韩一区二区三区精品| 奇米色欧美一区二区三区| 国产欧美88| аⅴ资源天堂资源库在线| 久久裸体视频| 三级在线观看一区二区| 久久精品99国产精品| 亚洲美女久久精品| 国产精品三上| 国产精品第一国产精品| 亚洲v在线看| 日韩和欧美一区二区三区| 国精品产品一区| 亚洲激情二区| 国产精品宾馆| 亚洲一本视频| 日韩精品成人在线观看| 天堂√8在线中文| 蜜臀久久99精品久久久画质超高清 | 国产欧美大片| 天堂资源在线亚洲| 日韩精品社区| 久久国产亚洲精品| 婷婷综合福利| 久久人人99| 国产午夜久久av| 国产一区日韩欧美| 麻豆久久久久久| 在线视频日韩| 欧美freesex黑人又粗又大| 亚洲a级精品| 久久高清精品| 久久久久九九精品影院| 美女尤物久久精品| 欧美片第1页| 欧美91在线| 亚洲免费成人av在线| 亚洲成av在线| 精品久久国产一区| 丝袜美腿亚洲色图| 亚洲成av在线| 你懂的网址国产 欧美| 中文字幕亚洲在线观看| 99久久亚洲精品蜜臀| 精品亚洲a∨一区二区三区18| 免费美女久久99| 久久天堂成人| 美女视频黄久久| 日韩在线观看中文字幕| 欧美~级网站不卡| 欧美亚洲日本精品| 精品久久91| 国产毛片精品| 久久国产三级| 久久国产精品免费一区二区三区| 欧美在线影院| 午夜日韩av| 婷婷成人在线| 99久久亚洲精品蜜臀| 亚洲成av在线| 亚洲涩涩在线| 久久精品女人| 精品视频国产| 麻豆国产欧美一区二区三区 | 精品视频免费| 美女视频网站久久| 国产亚洲一区二区三区不卡| 日本精品久久| 日韩国产在线观看一区| 婷婷久久免费视频| 日韩 欧美一区二区三区| 日韩专区在线视频| 亚洲一区二区三区高清| 米奇777超碰欧美日韩亚洲| 国产 日韩 欧美一区| 国产精品亚洲一区二区三区在线观看| 日本一区二区免费高清| 日韩一区二区三区免费播放| 中国字幕a在线看韩国电影| 日韩欧美国产精品综合嫩v| 国产精品xx| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 欧美性感美女一区二区| 欧美~级网站不卡| 亚洲精品97| 久久成人亚洲| 国产欧美三级| 国产成人精品一区二区三区在线| 欧美丰满日韩| 欧美日韩视频一区二区三区| 国产视频一区三区| 日韩专区视频网站| 欧美日韩国产一区二区在线观看| 国产精品美女午夜爽爽| 精品美女在线视频| 天堂网在线观看国产精品| 久久成人国产| 国产精品久久久亚洲一区| 国产高潮在线| 亚洲一区日韩| 老司机免费视频一区二区| 日韩不卡一区| 日韩欧美中文| 99精品在线免费在线观看| 亚洲视频国产精品| 久久久国产精品网站| 久久影视一区| 日韩欧美2区| 亚洲美女久久精品| 一区二区三区国产在线| 久草精品视频| 久久av一区二区三区| 久久精品国产网站| 亚洲免费高清| 红杏一区二区三区| 丝袜美腿成人在线| 欧美aa在线观看| 在线观看一区| 91精品国产福利在线观看麻豆| 中文字幕一区二区三区日韩精品 | 日本麻豆一区二区三区视频| 国产精品原创| 亚洲字幕久久| 日韩国产综合| 日本午夜精品久久久久| 亚洲精品网址| 日韩大片在线| 欧美另类中文字幕| 欧美日韩日本国产亚洲在线| 精品国产欧美日韩| 日韩欧美久久| 一区视频在线| 欧美aa在线观看| 欧美亚洲色图校园春色| 欧美色图一区| 精品国产午夜肉伦伦影院| 蜜桃久久av一区| 色爱av综合网| 国产精品红桃| 三级久久三级久久久| 99视频一区| 中文字幕系列一区| 久久精品三级| 青草久久视频| 韩日一区二区三区| 青青久久av| 成人羞羞在线观看网站| 精品视频91| 欧美日韩一区二区三区四区在线观看 | 亚洲福利久久| 日本欧美不卡| 狠狠久久伊人中文字幕| 欧美精品aa|