新车测评网_网罗汽车评测资讯_汽车评测门户报道

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

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

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

引用

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

摘要

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

1 引言

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

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

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

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

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

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

本文做出以下貢獻:

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

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


圖1:ChatRepair整體工作流程

2.1 初始輸入

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

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對象。這樣失敗的測試信息不僅在源代碼的功能方面為模型提供了更多的解釋,而且在預期輸出和函數(shù)使用方面提供了具體的信息,以幫助模型生成正確的修復。注意,如果有多個失敗的測試,ChatRepair只提供其中一個的信息,以保持簡潔的初始提示。最后,我們通過給model生成正確的行來替換填充位置的有bug的代碼來結(jié)束我們的初始提示。設(shè)C為輸出生成序列概率的ChatGPT,preandsufas為刪除錯誤行后的錯誤代碼的前綴和后綴,Ifillas為替換錯誤行的填充令牌,f0為構(gòu)造的失敗測試信息,Ifillas為填充指令提示符。補丁pgenerated可以形式化的條件概率:C(p|pre,infill,suf,f0,Ifill)

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

2.2 會話修補

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

2.3 貌似合理的補丁生成

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

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

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

汽車活動更多>>

豐田上海車展主題:直面問題所在,研產(chǎn)供銷全面中國化 同級唯一天地門,空間堪比A+級,東風納米06再次顛覆國民車 吉利銀河星耀8:以豪華平權(quán),再創(chuàng)“爆款” 長安汽車,銷量漲了、利潤跌了 傳祺向往 M8 內(nèi)飾官圖發(fā)布!提供 7 座布局,搭載 2.0T 插混動力 方程豹鈦 3 將于 4 月 16 日上市!采用純電動力,配備一鍵漂移模式 廣汽 CC4 概念車官圖發(fā)布!配鷗翼門設(shè)計 新款 Jeep 大切諾基諜照曝光!外觀內(nèi)飾升級,定位中大型 SUV 汽車業(yè)加速重組并購最新成果:一汽或成零跑大股東 上汽之夜:懂車更懂你!上汽制造進階,共創(chuàng)美好出行 上汽大通G50混動:重塑10萬級MPV價值標準! 比亞迪580KW超級電機銘牌曝光:轉(zhuǎn)速30500轉(zhuǎn)/分鐘全球第一 2024年全年銷量3143.6萬輛,增長4.5%,47.5%新能源滲透率,585.9萬輛全球第一出口量 豐田純電車型終端售價“崩盤” 消息稱bZ3裸車只要9萬多 小鵬汽車新總部2025年啟用,辦公空間翻三倍,打造智能車庫 恢復序幕與尾聲,李六乙版話劇《雷雨》令人耳目一新 新華文創(chuàng)攜手FILA FUSION推出系列活動,用非遺開啟新年 游戲成為文旅新引擎?上海游戲賦能商旅文體展融合發(fā)展的實踐 晨光加速年輕化布局:聯(lián)動騰訊視頻《斬神》,力拓二次元千億藍海 廣州“賀·歲”今日開展,系海昏侯相關(guān)展覽首次在廣州展出 信也科技顧鳴:東南亞數(shù)字金融市場正在加速接近成熟地區(qū) 福特游騎俠Ranger FX4沙狐版來襲,越野性能再升級,售價28.58萬起 “一車抵三車” 長安啟源E07迎來OTA升級 優(yōu)雅的英國敞篷跑車,2門4座布局,V8發(fā)動機、665馬力、加速3.5s 宏光MINIEV四門版來襲,小巧便捷,女友直呼開車出門超方便! 溜背造型+掀背尾門,后置后驅(qū)+5.9秒破百,體驗東風風行星海S7 搭載全球最強電機 比亞迪唐L實車曝光:自帶車頂無人機艙 三菱翼神改裝AIRBFT氣動避震底盤升降案例 雙電機、四驅(qū)、650馬力,27英寸大屏,這內(nèi)飾看著可太有檔次了! 2025年溫州永嘉縣事業(yè)單位引進博士研究生公告
主站蜘蛛池模板: 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 预制舱-电力集装箱预制舱-模块化预制舱生产厂家-腾达电器设备 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 密封无忧网 _ 专业的密封产品行业信息网 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 间甲酚,间甲酚厂家-山东祥东新材料| 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 周口风机|周风风机|河南省周口通用风机厂 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 |