訂閱
糾錯(cuò)
加入自媒體

人工智能有望從根本上改變軟件開發(fā)

新工具和尖端項(xiàng)目展示了機(jī)器學(xué)習(xí)和高級(jí)分析將如何徹底改變軟件的設(shè)計(jì),測試和部署方式。

我們正在進(jìn)入特斯拉人工智能主管Andrej Karpathy所謂的“軟件2.0”的時(shí)代,在這個(gè)時(shí)代里,神經(jīng)網(wǎng)絡(luò)會(huì)編寫代碼,而人們的主要工作是定義任務(wù),收集數(shù)據(jù)和創(chuàng)建用戶界面。

但并非所有任務(wù)都可以通過神經(jīng)網(wǎng)絡(luò)來解決(至少現(xiàn)在還不行),而傳統(tǒng)的軟件開發(fā)仍然可以發(fā)揮作用。然而,即便如此,人工智能、機(jī)器學(xué)習(xí)和高級(jí)分析正在改變軟件的設(shè)計(jì)、編寫、測試和部署方式。

測試

總部位于巴西的TOTVS為大約100,000名企業(yè)客戶提供關(guān)鍵的行業(yè)軟件。例如,其金融服務(wù)解決方案每天處理數(shù)萬億美元的交易。

此類應(yīng)用需要得到強(qiáng)有力的測試。創(chuàng)建測試用例的人必須非常慎重地考慮如何設(shè)計(jì)測試場景,每個(gè)測試場景都要花幾個(gè)小時(shí)來創(chuàng)建。

TOTVS實(shí)驗(yàn)室的執(zhí)行董事Vicente Goetten表示,要跟上步伐并不容易。每個(gè)測試用例都必須定制化,以適合用戶界面。應(yīng)用程序不斷得到重新設(shè)計(jì),因此界面也總是在變化。如果平臺(tái)本身發(fā)生了變化(例如更新到更新版本的JavaScript時(shí)),所有設(shè)計(jì)元素都會(huì)立即發(fā)生變化。

Goetten說:“不妨想象一下重寫成千上萬用例的情景!

因此TOTVS向人工智能求助。TOTVS使用Functionalize這個(gè)測試平臺(tái),該平臺(tái)現(xiàn)在支持測試用例的智能創(chuàng)建。該技術(shù)可以像人一樣查看屏幕,從而能識(shí)別輸入字段和按鈕的位置,而不是依賴于底層代碼。它還可以提供測試場景和樣本數(shù)據(jù)來對(duì)應(yīng)用程序進(jìn)行壓力測試。

Goetten說:“以前,高級(jí)質(zhì)量保證人員需要花一天的時(shí)間來完成我們所使用的傳統(tǒng)解決方案中的測試用例,現(xiàn)在,他們可以在幾分鐘內(nèi)創(chuàng)建相同的測試用例。”

Gotten說,還有就是,F(xiàn)unctionalize能理解平直的語言。

他說:“你可以命令它測試要測試的東西,它會(huì)自動(dòng)為你創(chuàng)建一個(gè)測試用例。這為我們指明了新的方向。我們不再需要那么多高級(jí)質(zhì)量確認(rèn)人員來測試用例!

監(jiān)控和部署

即使軟件通過了質(zhì)量確認(rèn),它也并不總是按預(yù)期發(fā)揮效用!熬驮诮裉煸缟,我們獲得了一些已經(jīng)得到采用的產(chǎn)品數(shù)據(jù),而網(wǎng)站尚不能處理這些數(shù)據(jù)”,在線家居裝修零售商Build.com的高級(jí)技術(shù)總監(jiān)Patrick Berry如是說。

我們花了數(shù)百小時(shí)來監(jiān)控Build.com軟件的性能,當(dāng)問題出現(xiàn)時(shí),公司將軟件恢復(fù)到之前已知的良好狀態(tài),并將其發(fā)送給開發(fā)人員以解決問題。

Berry說:“我們面臨的問題是,我們編寫的軟件變得非常復(fù)雜,流量太大,大到任何人都無法查看現(xiàn)有的所有監(jiān)控系統(tǒng),哪怕是一群人也做不到,他們會(huì)說,‘一切都很好’或‘一切都很糟糕,該做點(diǎn)事情了’,軟件耗費(fèi)了太多時(shí)間并放慢了發(fā)布速度。我們無法以足夠快的速度為客戶創(chuàng)造價(jià)值,我們也沒有以足夠快的速度向開發(fā)人員反饋必須得到補(bǔ)救的事情!

因此,Build.com向Harness求助,這是一個(gè)軟件交付即服務(wù)(software-delivery-as-a-service)平臺(tái),該平臺(tái)將性能監(jiān)控所需的時(shí)間幾乎降為零,將部署速度提升了20倍,Berry如是說,F(xiàn)在,如果有問題出現(xiàn),系統(tǒng)將自動(dòng)恢復(fù)到先前的已知良好狀態(tài),并根據(jù)內(nèi)置的機(jī)器學(xué)習(xí)功能將問題發(fā)送出去以進(jìn)行補(bǔ)救。Build.com也正在考慮大舉使用人工智能,以此作為代碼開發(fā)過程的一部分。

Berry說:“我們實(shí)際上還沒有能寫代碼的代碼,但人工智能和機(jī)器學(xué)習(xí)在開發(fā)方面大有裨益,這實(shí)際上關(guān)系到我們是否理解常見模式的好壞利弊。它可以突顯這是一個(gè)異,F(xiàn)象,我們可以回過頭來對(duì)其進(jìn)行修復(fù)。”

安全性

Berry還希望有更多能利用人工智能的工具相繼問世,從而一開始就能幫各大公司編寫更好更安全的代碼。

Berry說:“這就是我們真心希望在開發(fā)方面使用人工智能和機(jī)器學(xué)習(xí)的領(lǐng)域——加強(qiáng)這些領(lǐng)域,這些領(lǐng)域人手不足,無法解決問題,比方說,你的代碼庫有數(shù)百萬行代碼。你要用多少人來審計(jì)這數(shù)百萬行代碼?我們需要的是可擴(kuò)展的解決方案!

例如,Build.com使用GitHub來存儲(chǔ)代碼。Berry說:“他們正在引入某些系統(tǒng),這些系統(tǒng)將監(jiān)控你的代碼并向你發(fā)出提醒,讓你知道我們使用的第三方庫中可能存在的漏洞。”

GitHub的機(jī)器學(xué)習(xí)工程師Omoju Miller說,這是GitHub的一個(gè)活躍的開發(fā)領(lǐng)域。Berry說:“我們正致力于創(chuàng)建各種模型,這些模型能為常見漏洞和暴露發(fā)現(xiàn)(exposures discovery)提供支持!

Berry說,GitHub剛剛發(fā)布了一個(gè)工具,這個(gè)工具可以幫開發(fā)人員發(fā)現(xiàn)他們在代碼中意外共享令牌的位置。

發(fā)現(xiàn)

Miller說,GitHub還致力于開發(fā)“幫開發(fā)人員以自然方式發(fā)現(xiàn)功能的工具”,有了人工智能,開發(fā)人員就可以根據(jù)自己的意圖搜尋各種功能。

Miller說:“由于在GitHub的開源編碼平臺(tái)上使用大量公開代碼,機(jī)器學(xué)習(xí)研究團(tuán)隊(duì)在實(shí)現(xiàn)這一目標(biāo)方面取得了重大進(jìn)展。有了語義代碼搜索的功能,開發(fā)人員就可以增加和簡化計(jì)算方面解決問題的需求!

Miller說,這就是說,開發(fā)人員將不再受自身認(rèn)知的限制,“他們可以利用存儲(chǔ)在GitHub上的所有代碼知識(shí)來幫忙解決問題。”

1  2  下一頁>  
聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問題的,請聯(lián)系我們。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請輸入評(píng)論內(nèi)容...

請輸入評(píng)論/評(píng)論長度6~500個(gè)字

您提交的評(píng)論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)