請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/22781
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 王凡(Farn Wang) | |
dc.contributor.author | Kung-Hung Cheng | en |
dc.contributor.author | 鄭功宏 | zh_TW |
dc.date.accessioned | 2021-06-08T04:27:55Z | - |
dc.date.copyright | 2010-02-11 | |
dc.date.issued | 2010 | |
dc.date.submitted | 2010-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.uri | http://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.abstract | Linux 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.provenance | Made available in DSpace on 2021-06-08T04:27:55Z (GMT). No. of bitstreams: 0 Previous issue date: 2010 | en |
dc.description.tableofcontents | Contents.......................................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.iso | en | |
dc.title | 利用shell指令和人為的修改操作進行系統程式的測試 | zh_TW |
dc.title | Testing System Software with Shell Commands and User-Assistance | en |
dc.type | Thesis | |
dc.date.schoolyear | 98-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.keyword | kernel testing,multiple device driver,line coverage,command line,mdadm,random testing, | en |
dc.relation.page | 66 | |
dc.rights.note | 未授權 | |
dc.date.accepted | 2010-02-05 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 電機工程學研究所 | zh_TW |
顯示於系所單位: | 電機工程學系 |
文件中的檔案:
沒有與此文件相關的檔案。
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。