透過您的圖書館登入
IP:18.118.16.229
  • 學位論文

嵌入式軟體結構分析與測試之研究

A Study on the Structural Analysis and Testing of Embedded Software

指導教授 : 劉建宏

摘要


近幾年嵌入式軟體成長迅速,被視為電子資訊產業提高其硬體產品競爭力的關鍵因素之一。然而嵌入式軟體往往與硬體和作業系統有密切的關係,並且缺乏結構化,使得嵌入式軟體較一般軟體複雜難懂,造成嵌入式軟體分析和測試的困難,測試案例的推導不易系統化(systematic)或測試覆蓋率(coverage)不足,而無法提昇嵌入式軟體的品質與可靠性。在這篇論文中,我們以開發嵌入式軟體主要的C語言為基礎,提出一個測試模型(test model)支援嵌入式軟體的結構化分析和測試。此測試模型主要是擷取嵌入式軟體與硬體和作業系統互動的介面資訊,例如:暫存器或記憶體的存取和呼叫作業系統的函數等,並將這些資訊描繪註解(annotate)在程式的呼叫圖(call graph)和控制流程圖上,以協助測試人員分析嵌入式軟體的結構,以及其與硬體和作業系統的互動關係。透過此測試模型,我們可以將嵌入式軟體的執行路徑做分成(1)與硬體介面相關;(2)與作業系統相關;和(3)與本身軟體模組介面相關三類,並藉由參酌介面參數和硬體與作業系統的特性來推導測試案例,以驗證嵌入式軟體的結構和提升不同型態介面的測試覆蓋率。此外,我們亦開發了一個嵌入式軟體的分析與測試工具,可以分析嵌入式軟體的程式,自動建構所提出的測試模型,協助推導測試案例的撰寫與測試的進行,以提昇嵌入式軟體的品質與可靠性。

並列摘要


In recent year, the growth of embedded software is seen as the key factors of information technology industry to improve their hardware product competitiveness. However, embedded software are often closely related with hardware and OS, makes embedded software difficult to understand with the general software because of lack of structured programming. Derivation of test cases is not easy systematic or test coverage is insufficient, and can not to promote the quality and reliability of embedded software. In this research, we proposed a test model to support analysis and test of embedded software based on C programming language. This test model is to capture the information of the hardware and OS interface interaction with embedded software, for example: read/write and initial register or allocate memory etc., and annotate thesis information in the program’s call graph and control flow diagram, to help developer analysis the structural of embedded software and interaction with hardware and OS. Through this test model, we divided software’s execution path into (1)hardware-dependent interface; (2)OS-dependent interface; and (3)application interface. Derivation of test case by the interface parameter and property of the hardware an OS, to verify the structure of embedded software and different test coverage criteria. In addition, we have developed an embedded software structural analysis and testing tool. This tool can analyze embedded software program and automatically construct the proposed test model to assist the writing test case and testing conducted in order to enhance the quality and reliability of the embedded software.

參考文獻


[4] Ahyoung Sung, Byoungju Choi, and Seokkyoo Shin, “An Interface Test Model for Hardware-dependent Software and Embedded OS API of the Embedded System,” Computer Standards & Interface, vol. 29, Issue 4, 2007, pp.430-443.
[5] Wei-Tek Tsai, Lian Yu, Feng Zhu, and Ray Paul, “Rapid Embedded System Testing Using Verification Patterns,” IEEE Software, Vol. 22, Issue 4, July 2005, pp. 68-75.
[6] Jing Guan, Jeff Offutt, and Paul Ammann, “An Industrial Case Study of Structural Testing Applied to Safety-critical Embedded Software,” Proceeding of the International Symposium on Empirical Software Engineering, 2006, pp. 272-277.
[7] P. Ammann, J. Offutt, H. Huang, “Coverage Criteria for Logical Expressions,” Proceedings of the 14th International Symposium on Reliability Engineering, Nov. 2003, pp. 99-107.
[8] Yu-Seung Ma, and ChaeDeok Lim, “Test System for Device Drivers of Embedded System,” International Conference of Advanced Communication Technology, vol. 1, 2006, pp. 550-552.

被引用紀錄


黃田琦(2012)。嵌入式軟體分析與測試工具之研發〔碩士論文,國立臺北科技大學〕。華藝線上圖書館。https://doi.org/10.6841/NTUT.2012.00323
陳威諭(2011)。基於程式切片的嵌入式軟體分析〔碩士論文,國立臺北科技大學〕。華藝線上圖書館。https://doi.org/10.6841/NTUT.2011.00655

延伸閱讀