如果AI能夠測試軟件修復bug,程序員會更輕松嗎

10月18日消息,從簡單的人工作業(yè)到復雜的法律決定以及醫(yī)療診斷等領域,機器人和人工智能正以驚人的速度取代著人類。雖然人工智能本身和大多數(shù)軟件仍然主要是由人類編寫的,但是有跡象表明這一情況正在發(fā)生改變。

目前已經(jīng)有幾款程序設計工具能夠自動完成軟件測試。這種未來看起來非常令人激動,但是也會帶來一些問題,比如同行業(yè)遭受侵吞還有多遠?未來是否會出現(xiàn)一個終結者一樣的世界,程序編寫軟件最終讓人類同行成為失業(yè)者?

我們的計算機編程人員在測試軟件和修復漏洞方面投入了大量的時間和精力。這一過程不僅耗錢、耗時,而且有著高精度的要求,如果你想設計出高質量的軟件,這是非常重要的。測試軟件常用的一種方法就是運行一個程序,要求它執(zhí)行特定的任務并且觀察它如何處理。這種方法被稱為動態(tài)分析,許多工具都能夠幫助完成這一過程。

Facebook最近公布了一款名為Sapienz的工具,實現(xiàn)了這一領域的巨大跳躍。這一工具最初是由倫敦大學學院研發(fā)的,它能夠通過自動測試識別安卓軟件中的漏洞。Sapienz含有一種進化算法,它能夠根據(jù)軟件反應做出新的選擇,它的目標就是發(fā)現(xiàn)最大量的故障并且完成最大量的測試,盡可能高效的完成任務。

Facebook或許很快將迎來DiffBlue的競爭,這是牛津大學衍生的一家公司。該公司根據(jù)一種分析和了解程序運行的人工智能引擎,研發(fā)出幾款自動工具為程序員提供幫助。其中一款能夠找到漏洞并且進行軟件測試,另一款能夠發(fā)現(xiàn)那些可能被黑客利用的弱點。還有一款軟件能夠對那些已經(jīng)過時或者可以提升的編碼進行修正。DiffBlue公司最近獲得了2200萬美元的投資,并且宣稱將把這些工具投放到許多藍籌公司。

我們已經(jīng)研發(fā)出工具致力于尋找程序漏洞。通常,軟件漏洞通常只是手指一次無意的失誤,比如寫“+”時卻寫成了“-”,這與Word文檔的輸入沒有太大的區(qū)別?;蛘哂捎谟嬎銠C科學家計數(shù)的差異,他們從0開始計數(shù)而不是從1開始,這就會導致所謂的差一錯誤。你在程序測試過程中會發(fā)現(xiàn)這些令人討厭的小故障,并且需要重復測試和調整,直到消除所有故障。

而Sapienz工具的工作方式是這樣的。上班族會在白天進行正常的工作任務,并且報告他們發(fā)現(xiàn)的任何軟件漏洞。在夜間人們下班以后,系統(tǒng)會對計算機編碼進行微小改變,并且檢查這種調整是否修復了報告的漏洞。每次代碼運行的反饋信息都用于推斷那種變化將成為下一次測試的最佳選擇。

工作人員在雷克雅未克的一個組織對Sapienz進行了長達4個月的測試,涉及到大約200位用戶。那次測試發(fā)現(xiàn)了22個漏洞,而且全都自動修復了。每一次的解決方案都是在夜間完成的,這意味著當程序員早晨到達辦公室的時候,一系列漏洞修復列表正等待著他們。這一技術將使程序員的工作發(fā)生改變,他們不再需要頻繁的程序檢驗,而且擁有更多的時間進行研發(fā)。工作人員也已經(jīng)表明,同一個系統(tǒng)也能夠應用于其它不同的任務,包括讓程序運行的更快,提高預測軟件的準確度等。

我們很容易就能夠了解到這些程序給軟件研發(fā)人員帶來的好處,那么它們的負面影響是什么?各大公司是否會對他們的IT部門進行裁員?程序員們是否應當開始擔憂自己的前程?我們認為這不會發(fā)生。雖然自動軟件測試工具的崛起有可能讓公司裁減部分低級的程序工作者,但是我們認為軟件研發(fā)部門引進這些工具能夠讓程序員變得更有創(chuàng)造力。他們將有更多的時間研發(fā)而不是維護,這就有可能帶來令人興奮的設計。

計算機領域的崗位不會消失,但是一些令人厭煩的工作或許會消失。程序員、軟件工程師和編碼員將擁有更具自動化的工具來使自己的工作更簡單、更高效。雖然工作崗位或許不會變化太多,但是我們也必須學會適應技術的發(fā)展,如果我們不這樣做,我們就會落后于整個社會。(過客)

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。 )

贊助商
2017-10-19
如果AI能夠測試軟件修復bug,程序員會更輕松嗎
10月18日消息,從簡單的人工作業(yè)到復雜的法律決定以及醫(yī)療診斷等領域,機器人和人工智能正以驚人的速度取代著人類。雖然人工智能本身和大多數(shù)軟件仍然主要是由人類編寫的,但是有跡象表明這一情況正在發(fā)生改變。

長按掃碼 閱讀全文