<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將Parasoft和ChatGPT相結合會如何?

張曉婷 ? 來源:jf_49477218 ? 作者:jf_49477218 ? 2023-07-24 16:23 ? 次閱讀

ChatGPT是2023年最熱門的話題之一,是OpenAI訓練的語言模型。它能夠理解和生成自然語言文本,并接受過大量數據的訓練,包括用各種編程語言編寫的許多開源項目的源代碼。

軟件開發人員可以利用大量的知識庫來協助他們的工作,因為它具有對源代碼的語義理解的能力。開發人員可以使用 ChatGPT 根據正確的提示生成有用的代碼。

編寫代碼是 ChatGPT 在軟件開發中的一種應用,當然它在很多其他領域有應用。本文的重點是 ChatGPT 生成用于專業軟件開發環境的代碼。

市面上已經有可用的編碼插件,例如 Github Copilot,它使用與 ChatGPT 相同的技術來幫助軟件開發人員。這些插件可以分析開發人員正在編寫的代碼并生成供考慮的建議。

通過訪問廣泛的代碼庫,ChatGPT 可以編寫準確的代碼并提供有用的代碼建議,從而使開發過程更快、更高效。

ChatGPT 和代碼生成

ChatGPT 和人工智能代碼生成的前景是光明的,但也存在一些缺陷。讓我們來看看優點和缺點。

ChatGPT 編寫代碼的優點

盡管使用ChatGPT生成代碼還處于早期使用階段,但專業的程序員已經意識到利用 ChatGPT 生成代碼的優勢。

支持多種編程語言。 盡管 ChatGPT 很難準確回答它接受了多少種語言的訓練,但當今使用的最流行的編程語言,它基本都支持。

通過生成代碼提高生產力,并提供更多功能,例如單元測試、自動化腳本、架構規劃和功能實現的建議。

與傳統人工智能和機器學習 (ML) 工具相比,對源代碼有更深入的語義理解。 ChatGPT 已經表明,通過正確的提示,它可以理解代碼的功能和行為。它通過分析檢查代碼的邏輯可以識別潛在的邊緣情況、邊界條件和在表面上可能不明顯的依賴關系。傳統的人工智能工具僅限于較小的訓練集和有限的輸出。

幫助不熟悉編程語言或目標環境的開發人員。ChatGPT 可以幫助剛接觸項目的開發人員快速了解所使用的環境和語言。盡管存在一些不是很完美的地方,但這是一個學習代碼的好機會。

ChatGPT 編寫代碼的缺點

使用 ChatGPT 編寫代碼有一些缺點,因為這個技術是新技術,并且生成的代碼的來源尚不清楚。以下是在軟件開發中使用 ChatGPT 的一些缺點。

使用專有代碼和提示信息時發生 IP 泄露。 用作 ChatGPT 提示的代碼將成為訓練集的一部分,并且可能可供其他用戶使用。三星員工最近在向 ChatGPT 泄露專有代碼時發現了這些風險。Copilot 等商業解決方案允許用戶關閉使用其專有代碼進行培訓的選項。

生成代碼的出處。 ChatGPT 的訓練數據是否包括專有代碼或未經許可的開源代碼?生成的代碼是否需要歸屬或許可?目前還不清楚 ChatGPT 生成的代碼來自哪里,因為它是基于從互聯網上獲取的內容。盡管訓練數據主要是開源代碼,但仍然需要了解許可要求。

對編碼提示的回答缺乏一致性。 根據設計,每次使用相同的提示時,每個答案都可能而且很可能會有所不同。

質量和安全性令人擔憂。因為訓練中使用的開源數據中的錯誤和編寫不當的代碼可能會泄漏到 ChatGPT 的輸出中,或者生成式 AI 模型可能會犯錯誤。ChatGPT 不會審查其答案的安全性或性能,它生成的代碼甚至可能無法編譯。

開發人員可以接受其中存在不明顯問題的代碼。由于代碼返回時格式整齊并有文檔記錄,因此很容易認為這是可以接受的。對生成的代碼應用良好的代碼質量流程(例如代碼審查、靜態分析和單元測試)以確保其按預期工作比以往任何時候都更加重要。

ChatGPT 的好壞取決于它的訓練數據。當行業中的標準開發實踐發生變化時(例如庫 API),某些 ChatGPT 響應可能會包含過時的信息。

利用 Parasoft 的技術克服 ChatGPT 的代碼編寫限制

Parasoft 目前正在積極研究協同效應,通過將 ChatGPT 等生成式 AI 模型的先進功能與 Parasoft 解決方案當前提供的深度軟件測試自動化功能相結合,可以使客戶受益。該研究主要集中在兩個領域:

如何在自動化軟件測試平臺中利用 ChatGPT

如何使用該平臺驗證 ChatGPT 生成的代碼

在 Parasoft 的自動化軟件測試平臺中利用 ChatGPT

ChatGPT 和 Parasoft 現有的軟件測試自動化功能之間存在巨大的協同潛力。我們可以利用對基于 GPT 的模型中包含的代碼的深入語義理解來增強 Parasoft 平臺中已包含的測試產品,包括測試生成、靜態分析和報告功能。具體來說,我們重點改進以下方面:

生成針對靜態分析違規的代碼修復。Parasoft 已經擁有大量有關編碼標準和靜態分析違規的信息。我們應該能夠使用該信息提示 ChatGPT 自動生成針對發現的代碼違規的修復程序。

生成智能的、語義感知的單元測試。 Parasoft 當前的單元測試生成功能經過優化,可覆蓋盡可能多的代碼路徑,而無需創建冗余測試。我們希望能夠將其與 ChatGPT 對代碼的語義理解相結合,生成具有更好名稱和一組輸入值的測試,從而實現良好的代碼覆蓋率并包括真實情況的邊界條件值。

生成正向、負向和安全 API 測試場景。 Parasoft SOAtest 中的API 測試生成器在根據記錄的流量創建功能 API 測試場景方面做得非常出色。但它的能力受到限制,只能針對其所看到的流量創建場景。通過利用 ChatGPT,我們希望生成 API 測試場景,以各種不同的方式(包括預期的和意外的)運行 OpenAPI 定義中包含的端點。

ChatGPT 和軟件測試自動化的優勢

驗證并確認生成的代碼。團隊必須使用軟件測試自動化工具通過靜態分析來分析ChatGPT生成的代碼,并使用測試工具進行測試。生成的代碼應該像任何其他開發的代碼一樣對待,甚至更仔細,以確保它滿足項目的質量和安全目標。

遵守編碼標準。Parasoft 靜態分析等解決方案可以確保 ChatGPT 生成的代碼符合編碼標準和最佳實踐。他們可以根據預定義的規則和指南檢查代碼并標記任何違規行為。

提高安全性。ChatGPT 生成的代碼的安全性未知,并且漏洞和相關的軟件缺陷可能隱藏在格式良好的輸出中。像對待第三方或開源代碼一樣對待所有生成的代碼。在集成到您的應用程序之前應該對其進行審查。

提高生產率。 人工智能代碼生成很可能成為一項重要的創新,有可能大幅提高生產力。例如,Parasoft 的單元測試生成技術具有高度可擴展性,可用于批量創建測試用例。此外,利用生成式人工智能的軟件測試工具功能的改進帶來了更多好處。這才是真正的雙贏。

總結

團隊可以通過使用由生成式人工智能技術增強的軟件測試自動化解決方案來提高測試質量,并最大限度地減少設計和運行測試所涉及的手動工作。在不久的將來,Parasoft 預計將發布其平臺的增強功能,使用 ChatGPT 來幫助用戶提高靜態分析、單元測試和 API 測試的精度和有效性,這最終將更好地驗證 ChatGPT 生成的和人工編寫的代碼。

為了最大化ChatGPT帶來的好處,驗證 ChatGPT 生成的代碼并將其視為新開發的代碼非常重要。Parasoft 等軟件測試自動化工具可以幫助 ChatGPT 成為更加有用的開發工具,同時降低風險并提高生產力。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Parasoft
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5762
  • OpenAI
    +關注

    關注

    8

    文章

    831

    瀏覽量

    5953
  • ChatGPT
    +關注

    關注

    27

    文章

    1453

    瀏覽量

    5145
收藏 人收藏

    評論

    相關推薦

    小車怎樣設計輪式和履帶式相結合

    最近想做個小車,遇到個問題,就是想將履帶和輪子相結合,但是怎么樣設計呢?求各位幫忙一下!
    發表于 01-10 00:07

    簡單的狀態機與枚舉相結合的程序

    做的一個簡單的狀態機與枚舉相結合的程序,挺簡單的。
    發表于 08-15 08:06

    LTC4267通過PD接口與電流模式開關穩壓器相結合,降低了PD的復雜性和尺寸

    具有5V非隔離電源的3級PD。 LTC4267通過符合IEEE 802.3af標準的PD接口與電流模式開關穩壓器相結合,降低了PD的復雜性和尺寸
    發表于 04-04 13:33

    請問怎么模擬鑒相器輸出與頻率牽引輸出相結合?

    模擬鑒相器輸出與頻率牽引輸出相結合的方法
    發表于 09-26 09:00

    如何ML506套件的AC97模塊與基于系統發生器的模塊相結合?

    編解碼器模塊數字信號轉換為模擬信號格式。請讓我知道如何AC97模塊與基于sysgen的設計模塊相結合??峙挛冶仨毷褂冒‥DK處理器在內的設計程序,我對此并不熟悉。有沒有更簡單或更快的方法,最多只使用系統生成器或ISE?我為
    發表于 03-06 08:47

    怎樣去設計FFD和RFD相結合的鏈狀拓撲結構?

    怎樣去設計FFD和RFD相結合的鏈狀拓撲結構?如何去實現公交車報站功能?如何去實現公交車輛定位?
    發表于 05-20 06:13

    嵌入式Linux和Java技術相結合的開發環境

    摘要:  嵌入式Linux和Java技術非常適于協同工作,他們的結合預示著下一代嵌入式系統已經開始出現。同時這種組合使開發技術進入一個新的層次,也提供了一個新的配置的選擇。在嵌入式Linux操作系統和Java技術相結合的開發環境...
    發表于 11-04 08:52

    如何嵌入式軟件和硬件相結合

    開始。其中物聯網軟硬件是很關鍵的一環,如何軟件和硬件相結合,嵌入式軟件系統和硬件系統就需要先了解一下。一、嵌入式硬件系統大多數嵌入式系統的硬件平臺。它包括兩部分:1、以通用處理器為中心的協議處理...
    發表于 12-22 06:54

    智能小車如何與機械臂相結合?

    智能小車如何與機械臂相結合?
    發表于 12-27 06:15

    科技大廠競逐AIGC,中國的ChatGPT在哪?

    內測。次日,微軟宣布推出由ChatGPT支持的最新版本Bing搜索引擎和Edge瀏覽器。臉書也表示,向OpenAI支付數百萬美元,采用ChatGPT為Facebook和Instagram生成創作者內容
    發表于 03-03 14:28

    鑲鋼套與涂抹環氧塑料相結合修復曲軸軸頭

    鑲鋼套與涂抹環氧塑料相結合修復曲軸軸頭
    發表于 05-21 14:51 ?25次下載

    動靜態相結合LED顯示【C語言版】

    動靜態相結合LED顯示【C語言版】動靜態相結合LED顯示【C語言版】動靜態相結合LED顯示【C語言版】動靜態相結合LED顯示【C語言版】
    發表于 12-29 15:51 ?0次下載

    mysql的安裝-與php、Apache相結合

    mysql的安裝-與php、Apache相結合(深圳核達中遠通電源技術有限公司 產品功能用途)-文檔為mysql的安裝-與php、Apache相結合總結文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發表于 09-18 16:33 ?20次下載
    mysql的安裝-與php、Apache<b class='flag-5'>相結合</b>

    物聯網與教育行業相結合會擦出怎樣的火花

    當物聯網與教育行業相結合,會摩擦出怎樣的火花? 在教育信息化的時代,「智慧校園」正在興起一場新的教育革命。通過物聯網、云計算、大數據等新興技術的加持,中科易安將「傳統門鎖」硬件和「管理平臺」軟件有效
    發表于 05-23 11:51 ?395次閱讀

    如何使熱插拔與電子熔絲相結合

    如何使熱插拔與電子熔絲相結合
    發表于 11-03 08:04 ?0次下載
    如何使熱插拔與電子熔絲<b class='flag-5'>相結合</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>