2007年5月19日 星期六

嵌入式開發者調查顯示:除錯問題成為眾矢之的

電子工程專輯

Virtutech公司在近期舉行的嵌入式系統會議(ESC)上開展了一項調查,接受調查的354名開發人員表示,除錯是嵌入式軟體發展過程中最耗費時間的部分,而多核心除錯的困難尤其艱鉅。這份調查還發現,使用真正的系統硬體來除錯和測試程式碼的情況正逐漸減少。

這份調查是由Schwartz Communications在展會大廳展開的,從與會人員中進行隨機抽查,而不是針對Virtutech的客戶進行調查。虛擬化軟體發展和模擬工具提供商Virtutech公司在前兩年的嵌入式系統會議上也進行過相似的調查。

Virtutech公司行銷副總裁Michel Genard表示,這份調查將有助於該公司擬定策略。他說:「你總會想從市場中獲得並不一定會和你的產品或服務相關聯的資料,並試圖在某個特定時間捕捉到消費者的想法。」

在參與調查的工程師中,有56%的人表示除錯是他們工作中最耗費時間的部分。有24%的人認為編寫原始程式碼最耗費時間。35%的人表示他們將超過一半的開發時間花在除錯上。

59%的人表示他們所使用的除錯工具不支援多核心或多處理器開發。這是一個很重要的問題,因為有68%的人至少將一部分時間花在了多核心或多處理器系統上。實際上,有20%的人把超過一半的時間花在了此類系統上。

Venture Development公司(VDC)嵌入式軟體資深分析師Matt Volckmann指出,這個20%的比例相對接近於該公司在其研究中的預測。他說:「我們最近進行的調查顯示,當前從事多核心/多處理器設計的工程師數量在增多。」

在此次調查中,參與調查者認為多核心除錯中的最大問題是不可確定性,即無法再現缺陷(33%的人持有此觀點)。其他多核心除錯問題有:不能凍結系統的中斷點(28%)、執行緒鎖閉(27%)和偏向單個處理器的工具(22%)。

Genard指出:「事實證明,當你可以模擬系統時,你也可以透過增加同樣的輸入來再現同樣的行為。開發人員不僅在除錯上面臨挑戰,要再現缺陷也很困難,這樣的事實實在有趣。」

當被問到在除錯過程中採用什麼來執行程式碼時,60%的人表示他們使用的是真實的系統硬體。這個比例比2006年的72%要低,而這樣的下 降讓Genard感到吃驚。他說:「戶採用真實生產設備的情況在減少。開發人員無法使用到即將被加入到產品中的設備,所以他們需要找到其他的方法來完成自 己的任務。」

此次調查還發現,應用硬體原型的開發人員比例從2006年的19%成長到2007年的28%,而採用虛擬平台和指令集模擬的開發人員比例則從2006年的13%增加至2007年的14%。這也是Virtutech的用戶會選擇的方法。

另一個有別於2006年的資料是開發周期在6-12個月之間的工程師的數量在增加,從27%升至34%。Genard表示,這一點表明上市時間的壓力導致越來越多的專案必須以更快的速度完成。

VDC公司的Volckmann指出:「我們最近的調查顯示,開發專案的周期為6-12個月的工程師比例為40%-50%。要按時完成開發,絕對有壓力。」

但參與調查者認為當前專案中最令人不安的是品質問題(28%)。Volckmann指出,這一比例和VDC公司研究所預測的比例‘完全一致’。其他最受關注的問題還包括性能(27%)和時間(24%),只有11%的人最關注功耗。

關於什麼是當前軟體發展環境中最欠缺的,有42%的人表示是“難以控制的缺陷”(difficult bugs),25%的人認為是性能調節和概圖,另有25%的人則指出是記憶體使用和泄漏竄改。2006年認為“難以控制的缺陷”最薄弱的人的比例是31%。

Genard總結指出:「在壓力和上市時間的挑戰面前,開發人員不得不換一種思考,並尋找最佳化開發周期的方法。他們不能使用硬體,被各種缺陷困擾,而且很難再現缺陷。所有這些資料都鞏固了我們的策略。」

(請參考原文: Embedded developer survey reveals debugging challenges)

(Richard Goering)

沒有留言: