Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 電機工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/22781
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor王凡(Farn Wang)
dc.contributor.authorKung-Hung Chengen
dc.contributor.author鄭功宏zh_TW
dc.date.accessioned2021-06-08T04:27:55Z-
dc.date.copyright2010-02-11
dc.date.issued2010
dc.date.submitted2010-02-04
dc.identifier.citation[1]md.c study http://blog.csdn.net/jzhwang/archive/2007/07/20/1700003.aspx , http://linux.die.net/man/4/md
[2] Stress-testing the Linux kernel-A design process for standardized testing of Linux, Robert Williamson (robbiew@us.ibm.com), Software Engineer, Linux Technology Center, IBM
http://www.ibm.com/developerworks/linux/library/l-stress/index.html
[3] The Combinatorial Design Approach to Automatic Test Generation By David M. Cohen , Siddhartha R. Dalal , Jesse Parelius and Gardner C. Patton, IEEE Software September 1996, pp. 83-87
[4]An Empirical Study of the Robustness of MacOS Applications Using Random Testing, by Barton P. Miller Gregory Cooksey and Fredrick Moore ,Proceedings of the First International Workshop on Random Testing, 2006
[5]G. Myers, The Art of Software Testing, Wiley Publishing, New York, 1979.
[6]G.J. Carrette, “CRASHME: Random Input Testing”, http://people.delphi.com/gjc/crashme.html, 1996.
[7]RAID. http://zh.wikipedia.org/wiki/RAID
[8]Mdadm. http://man-wiki.net/index.php/8:mdadm
[9]Linux device drivers http://www.jollen.org/blog/2006/05/linux_1.html
[10]Code Coverage Analysis. http://www.bullseye.com/coverage.html.
[11]GCOV-kernel. http://ltp.sourceforge.net/coverage/gcov-kernel.php.
[12]P. Larson, N. Hinds, H. Franke, and R. Ravindran. Improving the linux test project with kernel code coverage analysis. In 2003 Ottawa Linux Symposium, July 2003.
[13]W. E. Perry. Effective Methods for Software Testing. Wiley Computer Publishing, second edition , 2000.
[14]Line coverage in the kernel http://ltp.sourceforge.net/documentation/how-to/UsingCodeCoverage.pdf
[15]Best Practices in Linux Kernel Testing. https://foss.in/2006/cfp/slides/Best_Practices_in_Linux_Kernel_Testing_177.pdf
[16] http://www.howtoforge.com/software-raid1-grub-boot-debian-etch
[17]http://cha.homeip.net/blog/archives/2007/12/linux_software.html
[18]http://ericbbs.blogspot.com/2009/05/mdadm-raid.html
[19]http://www.tgharold.com/techblog/2006/08/creating-4-disk-raid10-using-mdadm.shtml
[20]black box testing
http://agile.csc.ncsu.edu/SEMaterials/BlackBox.pdf
[21]ACM: Test Automation for Kernel Code and Disk Arrays with Virtual Devices, Lin-Zan Cai1, Rong-Shiung Wu1, Wen-Ting Huang1, and Farn Wang, 2007
[22] Stimulus Generation for Constrained Random Simulation, 2007 IEEE/ACM International Conference on Computer Aided Design (ICCAD 2007), San Jose, California, USA, November 2007, with Nathan Kitchen.
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/22781-
dc.description.abstract作業系統的核心是一個很複雜的系統,其中包含了許多軟硬體的交互關係和運作上面的協調。而如果要測試核心中的一個檔案或是元件,更會因為核心中對於使用者空間中向核心空間調用參數的限制使得過程更加的困難。
我們的實驗主體將會以multiple device driver-md.c做為本次核心程式測試的主體,以行覆蓋率(line coverage rate)做為測試的標準,並且利用gcov表示出來。為了使測試過程更加的簡易方便以節省測試的成本,我們提出了利用使用者程式和外在硬體操作的方式,去準備取得參數並創造正常和不正常的軟硬體狀態,錯誤中包括錯誤的指令和衝突的系統狀態、錯誤的指令執行順序、和實際上的硬體錯誤,使得核心程式盡可能的被調用。並提出一個高階的層狀架構且在其中進行測試。
測試結果呈現在各個gcov紀錄檔中。整合各檔案之後經過計算,可以達到超過50% 的行覆蓋率。
zh_TW
dc.description.abstractLinux Kernel is a complicated software. It combines various kinds of hardware and software behaviors, and working with tens of thousands of processes and threads at the same time. Moreover, it is more difficult to test a specific piece of component in the kernel space due to the kernel protection.
We perform the testing mainly on the multiple device driver md.c using line coverage rate as criteria and profiled by gcov. To maximize the line coverage count, we try to create as many system status related to md.c as possible. The method taken includes straightforward scenario, device error scenario and sequential error scenario. Furthermore, we proposed a hierarchical sequential random testing structure based on locality on sequential testing.
The test result is shown at each test coverage files. We merge all the test results and get the final count up to 53.85%.
en
dc.description.provenanceMade available in DSpace on 2021-06-08T04:27:55Z (GMT). No. of bitstreams: 0
Previous issue date: 2010
en
dc.description.tableofcontentsContents.......................................i
List of Figures...............................iv
List of Tables.................................v
1Introduction..................................1
1.1Motivation..................................1
1.2Purpose.....................................1
1.3Contribution................................2
1.4Related work................................2
1.5Thesis framework............................3
2Background....................................4
2.1md.c........................................4
2.2RAID........................................5
2.3mdadm.......................................6
2.4Linux kernel and Linux device drivers.......7
2.5gcov and Linux kernel.......................8
3Testing framework............................10
3.1Software testcase..........................11
3.2Hardware testcase..........................13
3.3gcov.......................................14
3.4Reboot and merging results.................14
4Methodologies in use.........................16
4.1Straight forward scenario..................17
4.2Error scenario.............................17
4.2.1 Device error............................18
4.2.2 Sequential error........................19
5Implementation...............................23
5.1Preparation for testing....................23
5.2Testing scenario 1 – straight forward.....25
5.3Scenario 2 – Device error.................33
5.4Scenario 3 – Error on stages..............39
5.5Scenario 4 – Fully randomize..............40
5.6Scenario 5 – Real error...................42
6Experiment...................................44
6.1Experiment on md.c.........................44
6.2Experiment on file.c.......................47
7Conclusions and future work..................49
Bibliography .................................51
Appendex A An illustration of a testcase adopted from the command line interface........................54
dc.language.isoen
dc.subject隨機測試zh_TW
dc.subject核心測試zh_TW
dc.subjectmdadmzh_TW
dc.subject裝置驅動程式zh_TW
dc.subject行覆蓋率zh_TW
dc.subject指令列zh_TW
dc.subjectrandom testingen
dc.subjectkernel testingen
dc.subjectmultiple device driveren
dc.subjectline coverageen
dc.subjectcommand lineen
dc.subjectmdadmen
dc.title利用shell指令和人為的修改操作進行系統程式的測試zh_TW
dc.titleTesting System Software with Shell Commands and User-Assistanceen
dc.typeThesis
dc.date.schoolyear98-1
dc.description.degree碩士
dc.contributor.oralexamcommittee陳銘憲(Ming-Syan Chen),雷欽隆(Chin-Laung Lei),王勝德(Sheng-De Wang),陳俊壯(Jun-Zhuang Chen)
dc.subject.keyword核心測試,裝置驅動程式,行覆蓋率,指令列,mdadm,隨機測試,zh_TW
dc.subject.keywordkernel testing,multiple device driver,line coverage,command line,mdadm,random testing,en
dc.relation.page66
dc.rights.note未授權
dc.date.accepted2010-02-05
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept電機工程學研究所zh_TW
顯示於系所單位:電機工程學系

文件中的檔案:
沒有與此文件相關的檔案。
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved