国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

探討AI編寫代碼技術,以及提高代碼質量的關鍵:靜態代碼分析工具Perforce Helix QAC & Klocwork

龍智 ? 來源:jf_15970448 ? 作者:jf_15970448 ? 2024-06-05 14:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

令軟件開發人員夜不能寐的事情比比皆是。如今,他們最關心的問題不再是如何用自己喜歡的語言(C、C++、Erlang、Java 等)表達最新的算法,而是人工智能AI)。

本文中,我們將介紹AI編寫代碼的過程,并回答這個問題:AI會取代程序員嗎?

什么是AI代碼生成?

近年來,生成式AI的應用呈爆炸式增長,這主要因為現在有足夠的計算能力來運行深度學習算法,而且訓練機器學習模型所需的海量數據也在增加。

AI代碼生成是指使用生成式AI和機器學習編寫計算機代碼的過程。

生成式AI編碼工具正在改變軟件開發過程,但這種進步也帶來了不確定性。通過AI編寫代碼,對軟件開發人員到底意味著什么?

AI編寫代碼的未來

生成式AI的潛力已初露端倪。AI正在改變各行各業,并有望加速創新。OpenAI最近進行的一項研究估計,生成式AI工具可能會影響47%的任務,從而大大加快軟件開發的過程。

在埃文斯數據公司(Evans Data Corp)進行的一項調查中,550名軟件開發人員被問及他們職業生涯中最擔心的問題。其中,29%的人擔心:“我和我的開發工作被AI所取代”。

美國能源部橡樹嶺國家實驗室(U.S. Department of Energy's Oak Ridge National Laboratory)的一個研究小組對此表示贊同。到2040年,機器學習和自然語言處理技術將非常先進,能夠編寫更好的軟件代碼,而且它們會比最好的人類開發人員寫得更快。

牛津大學的“未來就業”(The Future of Employment)研究警告說,隨著機器學習的發展,軟件工程師可能會變得計算機化,軟件設計選擇將通過算法進行優化。

軟件開發,特別是在安全關鍵型行業,需要確保高質量的代碼,以滿足功能要求。

因此,如果AI正在開發代碼,該代碼應該是沒有錯誤和問題的。這也包括軟件測試中的AI,因為它能夠“以人類難以企及的可靠性”檢測編碼錯誤。

如果您正在用AI編寫代碼,請務必使用靜態代碼分析器驗證代碼是否安全、可靠。

AI編寫代碼可能嗎?

AI可以編寫代碼。

早在2015年,Andrej Karpathy 就運行了一個使用遞歸神經網絡(Recurrent Neural Networks,RNN)生成代碼的項目。他獲取了GitHub的Linux存儲庫(所有源文件和頭文件),將其組合成一個巨大的文檔(超過400 MB的C代碼),并用這些代碼訓練RNN。

以下是它產生的結果:

/*
 * If this error is set, we will need anything right after that BSD.
 */
static void action_new_function(struct s_stat_info *wb)
{
  unsigned long flags;
  int lel_idx_bit = e->edd, *sys & ~((unsigned long) *FIRST_COMPAT);
  buf[0] = 0xFFFFFFFF & (bit bytes);
  printk(KERN_WARNING "Memory allocated %02x/%02x, "
    "original MLL insteadn"),
    min(min(multi_run - s->len, max) * num_data_in),
    frame_pos, sz + first_seg);
  div_u64_w(val, inb_p);
  spin_unlock(&disk->queue_lock);
  mutex_unlock(&s->sock->mutex);
  mutex_unlock(&func->mutex);
  return disassemble(info->pending_bh);
}

static void num_serial_settings(struct tty_struct *tty)
{
  if (tty == tty)
    disable_single_st_p(dev);
  pci_disable_spool(port);
  return 0;
}

static void do_command(struct seq_file *m, void *v)
{
  int column = 32 ch_flags) & Cmd) ? 2 : 1);
  else
    seq = 1;
  for (i = 0; i < 16; i++) {
    if (k & (1 

AI在一夜之間就生成了代碼,包括函數和函數聲明。它有參數、變量、循環和正確的縮進。括號也是完成的。甚至還有注釋。

但是,AI生成的代碼存在語法錯誤。它沒有跟蹤變量名稱。有時,變量被聲明但從未使用過。還有一些時候,變量被使用了,但未定義。代碼示例中的第二個函數比較了tty == tty。

生成式AI會取代程序員嗎?

AI不會取代程序員。但AI已經在幫助開發人員編寫代碼。像ChatGPT、Github、CoPilot和OpenAI Codex這樣的AI驅動的編碼助手都是可以使用的工具,可以幫助嵌入式開發人員更快地編寫出更好的代碼。AI代碼生成器現在可以快速生成高質量的代碼片段,識別問題和缺陷,并對代碼片段提出改進建議。當然,AI需要時間才能創建跨越幾行實際的、具有生產價值的代碼,而這些代碼的跨度不會超過幾行。

AI在不久的將來如何影響軟件開發?以下是一些可能的趨勢。

▎AI將不斷進步

它將有效地實現任務自動化,幫助開發人員了解他們的選擇。另外,它將讓人類決定如何在AI無法理解的情況下進行優化。

▎AI將成為編碼伙伴

軟件開發人員將使用AI作為編碼伙伴來編寫更好的軟件。這種情況如今已經出現,而且隨著AI學會一次編寫多行代碼,這種情況將繼續普及。開發人員將在集成開發環境中加入AI配對程序員工具。與人類配對編程類似,AI工具將根據提示執行編碼任務,然后開發人員將審查代碼。過去,這一過程需要耗費更多的人力,但AI工具可以比人類開發人員更快地完成SDLC的某些部分,從而讓開發人員能夠專注于更復雜的任務。

▎但程序員依然重要

程序員的真正價值不在于知道如何構建,而在于知道要構建什么。

AI還需要更長的時間才能學會如何解釋每個功能的商業價值,并向您建議首先開發哪些功能。人類程序員的作用始終存在。

如果AI編寫出可靠的代碼會怎樣?

這是一個很大的假設。大多數人都寫不出可靠的代碼。而AI只是一種分析大量人類編寫的代碼的應用程序。因此,AI不太可能寫出可靠的代碼。

大多數程序員都同意這一點。在CodeSignal最近的一項調查中,全球1,000名開發人員被問及他們對AI編碼助手工具的使用情況。雖然81%的開發人員表示他們使用了AI驅動的編碼助手,但55%的受訪軟件工程師表示,他們對AI生成代碼的質量感到擔憂。

因此,AI并不是提高代碼質量的答案。

如何提高代碼質量?

您現在就可以提高代碼質量,但不是通過AI取代程序員,而是利用靜態代碼分析工具。

靜態代碼分析工具可以確保程序員編寫的代碼符合編碼規則,并能夠掃描代碼,找出潛在的錯誤和安全漏洞。它還能發現在代碼審查和軟件測試中經常被忽略的錯誤,從而提高代碼和軟件的整體質量。

提高代碼質量最簡單的方法之一,就是使用靜態代碼分析工具。

Perforce靜態代碼分析工具Helix QAC和Klocwork,因提供其他工具所無法提供的準確診斷而備受推崇。使用Helix QAC和Klocwork,您將收到按風險嚴重程度確定優先級的編碼問題診斷,以及有關如何修復代碼的建議,幫助您確保代碼合規,提高代碼效率和質量。

- END -

文章來源:https://bit.ly/3V0921H

作者簡介:

Stuart Foster,Klocwork 和 Helix QAC 產品經理,Perforce

Stuart Foster在移動和軟件開發方面擁有超過 17 年的經驗。他負責管理消費者應用和企業軟件的產品開發。目前,他負責管理 Perforce 市場領先的代碼質量管理解決方案 Klocwork 和 Helix QAC。他相信開發適合客戶業務需求的產品、特性和功能,并幫助開發人員生成安全、可靠和無缺陷的代碼。Stuart 擁有卡爾頓大學的信息技術、交互式多媒體和設計學士學位,以及阿岡昆應用藝術與技術學院的多媒體設計高級文憑。

審核編輯 黃宇

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

    關注

    91

    文章

    39793

    瀏覽量

    301454
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73989
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136962
  • 代碼分析
    +關注

    關注

    0

    文章

    13

    瀏覽量

    5961
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標準對比與Perforce QAC應用詳解

    如何編寫真正安全的C語言代碼?指南涵蓋MISRA C、CERT、CWE等國際安全編碼標準對比,以及如何借助Perforce QAC自動檢測漏
    的頭像 發表于 01-26 17:38 ?818次閱讀
    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標準對比與<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>應用詳解

    Perforce QAC 2025.4 的新特性

    Code 擴展也已更新,為桌面用戶提供了 AI 輔助的代碼修復功能,利用 QAC質量分析結果為建議的修復提供信息,從而提供更快速的查
    的頭像 發表于 12-30 13:50 ?511次閱讀
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.4 的新特性

    汽車網絡安全開發語言選型指南:C/C++/Rust/Java等主流語言對比+Perforce QAC/Klocwork工具支持

    汽車網絡安全如何選編程語言?C、C++、Rust、Java……誰更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語言的優劣與適用場景,以及Perforce QAC/Klocw
    的頭像 發表于 12-26 11:13 ?436次閱讀
    汽車網絡安全開發語言選型指南:C/C++/Rust/Java等主流語言對比+<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>/<b class='flag-5'>Klocwork</b><b class='flag-5'>工具</b>支持

    分析嵌入式軟件代碼的漏洞-代碼注入

    ,尋找目標的知識基礎以及如何有效地進行這些工作已經積累了豐富的經驗。 這里使用的關鍵技術是污染分析或危險信息流分析。 這些工具通過首先識別潛
    發表于 12-22 12:53

    HarmonyOS應用代碼混淆技術方案

    代碼混淆技術可以增加代碼的復雜性和模糊性,從而提高攻擊者分析代碼的難度。
    的頭像 發表于 11-21 16:17 ?5607次閱讀
    HarmonyOS應用<b class='flag-5'>代碼</b>混淆<b class='flag-5'>技術</b>方案

    什么是CVE?如何通過SAST/靜態分析工具Perforce QACKlocwork應對CVE?

    本文將為您詳解什么是CVE、CVE標識符的作用,厘清CVE與CWE、CVSS的區別,介紹CVE清單內容,并說明如何借助合適的靜態分析工具(如Perforce
    的頭像 發表于 10-31 14:24 ?523次閱讀
    什么是CVE?如何通過SAST/<b class='flag-5'>靜態</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 和 <b class='flag-5'>Klocwork</b>應對CVE?

    C/C++代碼靜態測試工具Perforce QAC 2025.3的新特性

    Perforce QAC 2025.3?通過更新結果存儲處理提供了性能改進,可以顯著減少總分析時間,具體取決于項目結構和分析所使用的硬件設備。此版本還增強了對 QNX 8.0?編譯器的
    的頭像 發表于 10-13 18:11 ?574次閱讀
    C/C++<b class='flag-5'>代碼</b><b class='flag-5'>靜態</b>測試<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.3的新特性

    Perforce JRebel 簡介:即時加載代碼變更,加速Java應用開發

    Perforce JRebel 專為Java開發提速而生!支持跳過構建與重新部署,實時加載代碼變更,支持100+框架,無縫集成主流IDE與應用服務器。
    的頭像 發表于 08-14 14:35 ?769次閱讀
    <b class='flag-5'>Perforce</b> JRebel 簡介:即時加載<b class='flag-5'>代碼</b>變更,加速Java應用開發

    汽車軟件團隊必看:基于靜態代碼分析工具Perforce QAC的ISO 26262合規實踐

    ISO 26262合規指南,從ASIL分級到工具落地,手把手教你用靜態代碼分析Perforce QAC
    的頭像 發表于 08-07 17:33 ?1144次閱讀
    汽車軟件團隊必看:基于<b class='flag-5'>靜態</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>的ISO 26262合規實踐

    HarmonyOS AI輔助編程工具(CodeGenie)代碼續寫

    利用AI大模型分析并理解開發者在代碼編輯區的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或C++代碼片段。 一、使用約束 建議在編輯區內已有較豐富上下文,能夠使模型對編
    發表于 07-15 16:15

    Perforce QAC產品簡介:面向C/C++的靜態代碼分析工具(已通過SO 26262認證)

    Perforce QAC專為C/C++開發者打造,支持多種編碼規范、功能安全標準(ISO 26262)等,廣泛用于汽車、醫療、嵌入式開發領域,可幫助快速識別關鍵缺陷、提升代碼
    的頭像 發表于 07-10 15:57 ?1277次閱讀
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>產品簡介:面向C/C++的<b class='flag-5'>靜態</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>(已通過SO 26262認證)

    2025年汽車行業趨勢解讀:AI在汽車軟件開發中的應用、代碼安全挑戰等(附Perforce QAC / Klocwork工具推薦)

    隨著AI技術深入嵌入式系統,汽車軟件已成為智能出行的核心要素。根據Perforce發布的《2025年汽車軟件開發現狀報告》,全球650多名汽車從業者共同揭示了AI在汽車行業的演進趨勢、
    的頭像 發表于 06-13 15:03 ?1445次閱讀
    2025年汽車行業趨勢解讀:<b class='flag-5'>AI</b>在汽車軟件開發中的應用、<b class='flag-5'>代碼</b>安全挑戰等(附<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> / <b class='flag-5'>Klocwork</b><b class='flag-5'>工具</b>推薦)

    Helix QAC 2025.1 重磅發布!MISRA C:2025? 100%覆蓋

    Helix QAC 2025.1新增功能 Helix QAC 2025.1實現了對新版MISRA C:2025?標準的 100% 覆蓋,并提供對應的合規模塊。此版本還擴展了對 CERT
    的頭像 發表于 05-13 16:48 ?1464次閱讀
    <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2025.1 重磅發布!MISRA C:2025? 100%覆蓋

    代碼靜態測試工具Perforce QAC 2025.1新特性

    Perforce QAC 2025.1實現了對新發布的MISRA C:2025?標準的100%覆蓋,并提供了對應的新合規模塊。該版本還擴展了對CERT C Level 1建議的覆蓋范圍,改進了與持續
    的頭像 發表于 04-21 15:14 ?1077次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>靜態</b>測試<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.1新特性

    Perforce品牌及產品名更新:涵蓋版本控制Perforce P4(原Helix Core)、靜態代碼分析Perforce QAC(原Helix QAC)等

    Perforce推出全新P4平臺及P4 One客戶端!從廣為人知的“P4”到Helix Core到Perforce P4,此次品牌重塑是一次初心回歸,也是對開發者和數字創作團隊需求的深度回應。一起來了解更多吧~
    的頭像 發表于 03-28 15:04 ?1439次閱讀
    <b class='flag-5'>Perforce</b>品牌及產品名更新:涵蓋版本控制<b class='flag-5'>Perforce</b> P4(原<b class='flag-5'>Helix</b> Core)、<b class='flag-5'>靜態</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>(原<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b>)等