一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探討AI編寫代碼技術(shù),以及提高代碼質(zhì)量的關(guān)鍵:靜態(tài)代碼分析工具Perforce Helix QAC & Klocwork

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

掃碼添加小助手

加入工程師交流群

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

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

什么是AI代碼生成?

近年來,生成式AI的應(yīng)用呈爆炸式增長,這主要因?yàn)楝F(xiàn)在有足夠的計(jì)算能力來運(yùn)行深度學(xué)習(xí)算法,而且訓(xùn)練機(jī)器學(xué)習(xí)模型所需的海量數(shù)據(jù)也在增加。

AI代碼生成是指使用生成式AI和機(jī)器學(xué)習(xí)編寫計(jì)算機(jī)代碼的過程。

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

AI編寫代碼的未來

生成式AI的潛力已初露端倪。AI正在改變各行各業(yè),并有望加速創(chuàng)新。OpenAI最近進(jìn)行的一項(xiàng)研究估計(jì),生成式AI工具可能會(huì)影響47%的任務(wù),從而大大加快軟件開發(fā)的過程。

在埃文斯數(shù)據(jù)公司(Evans Data Corp)進(jìn)行的一項(xiàng)調(diào)查中,550名軟件開發(fā)人員被問及他們職業(yè)生涯中最擔(dān)心的問題。其中,29%的人擔(dān)心:“我和我的開發(fā)工作被AI所取代”。

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

牛津大學(xué)的“未來就業(yè)”(The Future of Employment)研究警告說,隨著機(jī)器學(xué)習(xí)的發(fā)展,軟件工程師可能會(huì)變得計(jì)算機(jī)化,軟件設(shè)計(jì)選擇將通過算法進(jìn)行優(yōu)化。

軟件開發(fā),特別是在安全關(guān)鍵型行業(yè),需要確保高質(zhì)量的代碼,以滿足功能要求。

因此,如果AI正在開發(fā)代碼,該代碼應(yīng)該是沒有錯(cuò)誤和問題的。這也包括軟件測試中的AI,因?yàn)樗軌颉耙匀祟愲y以企及的可靠性”檢測編碼錯(cuò)誤。

如果您正在用AI編寫代碼,請(qǐng)務(wù)必使用靜態(tài)代碼分析器驗(yàn)證代碼是否安全、可靠。

AI編寫代碼可能嗎?

AI可以編寫代碼。

早在2015年,Andrej Karpathy 就運(yùn)行了一個(gè)使用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)生成代碼的項(xiàng)目。他獲取了GitHub的Linux存儲(chǔ)庫(所有源文件和頭文件),將其組合成一個(gè)巨大的文檔(超過400 MB的C代碼),并用這些代碼訓(xùn)練RNN。

以下是它產(chǎn)生的結(jié)果:

/*
 * 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在一夜之間就生成了代碼,包括函數(shù)和函數(shù)聲明。它有參數(shù)、變量、循環(huán)和正確的縮進(jìn)。括號(hào)也是完成的。甚至還有注釋。

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

生成式AI會(huì)取代程序員嗎?

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

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

▎AI將不斷進(jìn)步

它將有效地實(shí)現(xiàn)任務(wù)自動(dòng)化,幫助開發(fā)人員了解他們的選擇。另外,它將讓人類決定如何在AI無法理解的情況下進(jìn)行優(yōu)化。

▎AI將成為編碼伙伴

軟件開發(fā)人員將使用AI作為編碼伙伴來編寫更好的軟件。這種情況如今已經(jīng)出現(xiàn),而且隨著AI學(xué)會(huì)一次編寫多行代碼,這種情況將繼續(xù)普及。開發(fā)人員將在集成開發(fā)環(huán)境中加入AI配對(duì)程序員工具。與人類配對(duì)編程類似,AI工具將根據(jù)提示執(zhí)行編碼任務(wù),然后開發(fā)人員將審查代碼。過去,這一過程需要耗費(fèi)更多的人力,但AI工具可以比人類開發(fā)人員更快地完成SDLC的某些部分,從而讓開發(fā)人員能夠?qū)W⒂诟鼜?fù)雜的任務(wù)。

▎但程序員依然重要

程序員的真正價(jià)值不在于知道如何構(gòu)建,而在于知道要構(gòu)建什么。

AI還需要更長的時(shí)間才能學(xué)會(huì)如何解釋每個(gè)功能的商業(yè)價(jià)值,并向您建議首先開發(fā)哪些功能。人類程序員的作用始終存在。

如果AI編寫出可靠的代碼會(huì)怎樣?

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

大多數(shù)程序員都同意這一點(diǎn)。在CodeSignal最近的一項(xiàng)調(diào)查中,全球1,000名開發(fā)人員被問及他們對(duì)AI編碼助手工具的使用情況。雖然81%的開發(fā)人員表示他們使用了AI驅(qū)動(dòng)的編碼助手,但55%的受訪軟件工程師表示,他們對(duì)AI生成代碼的質(zhì)量感到擔(dān)憂。

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

如何提高代碼質(zhì)量?

您現(xiàn)在就可以提高代碼質(zhì)量,但不是通過AI取代程序員,而是利用靜態(tài)代碼分析工具。

靜態(tài)代碼分析工具可以確保程序員編寫的代碼符合編碼規(guī)則,并能夠掃描代碼,找出潛在的錯(cuò)誤和安全漏洞。它還能發(fā)現(xiàn)在代碼審查和軟件測試中經(jīng)常被忽略的錯(cuò)誤,從而提高代碼和軟件的整體質(zhì)量。

提高代碼質(zhì)量最簡單的方法之一,就是使用靜態(tài)代碼分析工具。

Perforce靜態(tài)代碼分析工具Helix QAC和Klocwork,因提供其他工具所無法提供的準(zhǔn)確診斷而備受推崇。使用Helix QAC和Klocwork,您將收到按風(fēng)險(xiǎn)嚴(yán)重程度確定優(yōu)先級(jí)的編碼問題診斷,以及有關(guān)如何修復(fù)代碼的建議,幫助您確保代碼合規(guī),提高代碼效率和質(zhì)量。

- END -

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

作者簡介:

Stuart Foster,Klocwork 和 Helix QAC 產(chǎn)品經(jīng)理,Perforce

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

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    35167

    瀏覽量

    280102
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70768
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134646
  • 代碼分析
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    Perforce QAC產(chǎn)品簡介:面向C/C++的靜態(tài)代碼分析工具(已通過SO 26262認(rèn)證)

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

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

    隨著AI技術(shù)深入嵌入式系統(tǒng),汽車軟件已成為智能出行的核心要素。根據(jù)Perforce發(fā)布的《2025年汽車軟件開發(fā)現(xiàn)狀報(bào)告》,全球650多名汽車從業(yè)者共同揭示了AI在汽車行業(yè)的演進(jìn)趨勢、
    的頭像 發(fā)表于 06-13 15:03 ?463次閱讀
    2025年汽車行業(yè)趨勢解讀:<b class='flag-5'>AI</b>在汽車軟件開發(fā)中的應(yīng)用、<b class='flag-5'>代碼</b>安全挑戰(zhàn)等(附<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 重磅發(fā)布!MISRA C:2025? 100%覆蓋

    Helix QAC 2025.1新增功能 Helix QAC 2025.1實(shí)現(xiàn)了對(duì)新版MISRA C:2025?標(biāo)準(zhǔn)的 100% 覆蓋,并提供對(duì)應(yīng)的合規(guī)模塊。此版本還擴(kuò)展了對(duì) CERT
    的頭像 發(fā)表于 05-13 16:48 ?446次閱讀
    <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2025.1 重磅發(fā)布!MISRA C:2025? 100%覆蓋

    代碼靜態(tài)測試工具Perforce QAC 2025.1新特性

    Perforce QAC 2025.1實(shí)現(xiàn)了對(duì)新發(fā)布的MISRA C:2025?標(biāo)準(zhǔn)的100%覆蓋,并提供了對(duì)應(yīng)的新合規(guī)模塊。該版本還擴(kuò)展了對(duì)CERT C Level 1建議的覆蓋范圍,改進(jìn)了與持續(xù)
    的頭像 發(fā)表于 04-21 15:14 ?357次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>靜態(tài)</b>測試<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.1新特性

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

    Perforce推出全新P4平臺(tái)及P4 One客戶端!從廣為人知的“P4”到Helix Core到Perforce P4,此次品牌重塑是一次初心回歸,也是對(duì)開發(fā)者和數(shù)字創(chuàng)作團(tuán)隊(duì)需求的深度回應(yīng)。一起來了解更多吧~
    的頭像 發(fā)表于 03-28 15:04 ?598次閱讀
    <b class='flag-5'>Perforce</b>品牌及產(chǎn)品名更新:涵蓋版本控制<b class='flag-5'>Perforce</b> P4(原<b class='flag-5'>Helix</b> Core)、<b class='flag-5'>靜態(tài)</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>)等

    緩沖區(qū)溢出漏洞的原理、成因、類型及最佳防范實(shí)踐(借助PerforceKlocwork/Hleix QAC靜態(tài)代碼分析工具

    本期來認(rèn)識(shí)軟件漏洞的“常客”——緩沖區(qū)溢出,C/C++開發(fā)者尤其要注意!全面了解該漏洞的成因、類型、常見示例,以及如何借助Klocwork、Helix QAC等SAST
    的頭像 發(fā)表于 03-04 16:39 ?889次閱讀
    緩沖區(qū)溢出漏洞的原理、成因、類型及最佳防范實(shí)踐(借助<b class='flag-5'>Perforce</b> 的<b class='flag-5'>Klocwork</b>/Hleix <b class='flag-5'>QAC</b>等<b class='flag-5'>靜態(tài)</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>)

    如何保障自動(dòng)駕駛卡車系統(tǒng)的安全?

    61508或ISO 26262的開發(fā)流程,需通過靜態(tài)分析驗(yàn)證源代碼Perforce Helix QA
    的頭像 發(fā)表于 02-26 15:45 ?1267次閱讀
    如何保障自動(dòng)駕駛卡車系統(tǒng)的安全?

    如何提高嵌入式代碼質(zhì)量?

    技術(shù) 現(xiàn)代的嵌入式開發(fā)工具和測試技術(shù)可以極大地提升代碼質(zhì)量和開發(fā)效率: 1. 靜態(tài)
    發(fā)表于 01-15 10:48

    汽車異構(gòu)硬件平臺(tái)開發(fā)如何進(jìn)行靜態(tài)代碼分析

    先進(jìn)的靜態(tài)代碼分析工具,其新版本中引入的多CCT功能為開發(fā)人員提供了強(qiáng)大的支持,該功能不僅簡化了多編譯器環(huán)境下的代碼
    的頭像 發(fā)表于 10-09 16:15 ?890次閱讀
    汽車異構(gòu)硬件平臺(tái)開發(fā)如何進(jìn)行<b class='flag-5'>靜態(tài)</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>

    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進(jìn)和安全增強(qiáng)

    ?和Klocwork的最新版本對(duì)靜態(tài)分析工具進(jìn)行了重大改進(jìn),通過盡早修復(fù)錯(cuò)誤、降低開發(fā)成本和加快發(fā)布速度,使開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)左移。本文中,我們將概述2024.2版本的新特性和新功能。CI/
    的頭像 發(fā)表于 10-08 16:22 ?666次閱讀
    <b class='flag-5'>Perforce</b><b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>2024.2新增功能:<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b>全新CI/CD集成支持、<b class='flag-5'>Klocwork</b><b class='flag-5'>分析</b>引擎改進(jìn)和安全增強(qiáng)

    怎么樣提高verilog代碼編寫水平?

    時(shí)鐘域設(shè)計(jì)、低功耗設(shè)計(jì)等,提升自己的技術(shù)水平。 定期回顧和總結(jié):對(duì)自己編寫代碼進(jìn)行定期回顧,總結(jié)經(jīng)驗(yàn)教訓(xùn),發(fā)現(xiàn)不足之處并加以改進(jìn)。 持續(xù)的學(xué)習(xí)和實(shí)踐是提高 Verilog
    發(fā)表于 09-25 20:05

    代碼靜態(tài)測試工具Klocwork 2024.2新發(fā)布

    Klocwork 2024.2 為現(xiàn)代?C/C++?分析引擎引入了顯著的準(zhǔn)確性和性能改進(jìn)。此版本還包括增強(qiáng)的安全性和身份驗(yàn)證功能以及改進(jìn)的用戶體驗(yàn),以及?MISRA??和?CERT?規(guī)
    的頭像 發(fā)表于 08-06 12:16 ?596次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>靜態(tài)</b>測試<b class='flag-5'>工具</b><b class='flag-5'>Klocwork</b> 2024.2新發(fā)布

    代碼靜態(tài)測試工具Helix QAC 2024.2新發(fā)

    Helix QAC 2024.2 帶來了新的特性和功能,為開發(fā)過程增加了靈活的選項(xiàng)。用戶使用新的 CI 分析通過 Validate 獲得完整的 CI 集成支持,從而輕松管理 CI/CD 更改
    的頭像 發(fā)表于 08-05 17:40 ?736次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>靜態(tài)</b>測試<b class='flag-5'>工具</b><b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2024.2新發(fā)

    DevOps中的質(zhì)量門工作原理,以及靜態(tài)代碼分析KlocworkPerforce Helix QAC質(zhì)量門中的實(shí)踐應(yīng)用

    如何使用靜態(tài)代碼分析工具(如KlocworkHelix
    的頭像 發(fā)表于 07-29 15:12 ?883次閱讀