首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--操作系统论文--网络操作系统论文

基于故障注入的LINUX设备驱动程序测试的研究

致谢第5-6页
摘要第6-11页
Abstract第11-12页
1 Introduction第21-24页
    1.1 Problem Statement第21-22页
    1.2 Linux Kernel Module and Device Driver第22页
    1.3 Verification of Linux kernel Device Drivers第22-23页
    1.4 Fault Injection Technique第23-24页
2 Related Works for Fault Injection第24-33页
    2.1 Fault Injection第24-26页
    2.2 Major Categories第26-32页
        2.2.1 Hardware Based Fault Injection第26-27页
            2.2.1.1 Advantages第26-27页
            2.2.1.2 Disadvantages第27页
            2.2.1.3 Examples of Tools第27页
        2.2.2 Software Based Fault Injection第27-29页
            2.2.2.1 Advantages第28页
            2.2.2.2 Disadvantages第28页
            2.2.2.3 Examples of Tools第28-29页
        2.2.3 Simulation Based Fault Injection第29-30页
            2.2.3.1 Advantages第29-30页
            2.2.3.2 Disadvantages第30页
            2.2.3.3 Examples of Tools第30页
        2.2.4 Emulation Based Fault Injection第30-31页
        2.2.5 Hybrid Fault Injection第31-32页
    2.3 Summary第32-33页
3 Various Tools and Techniques for Linux Fault Injection第33-45页
    3.1 Introduction第33页
    3.2 Overview of Various Tools第33-34页
    3.3 Types of Fault Injection Frameworks第34-44页
        3.3.1 Linux Fault-Injection Framework第34-35页
        3.3.2 SCSI Fault Injector Framework第35-37页
            3.3.2.1 Testing Error Handler Using SCSI Fault Injection第35页
            3.3.2.2 Specifying the Type of SCSI Fault第35-36页
            3.3.2.3 SCSI Fault Injector第36页
            3.3.2.4 Working on SCSI fault injection framework第36-37页
            3.3.2.5 SCSI Fault Injection Method第37页
            3.3.2.6 Example of Linux Software RAID Evaluation第37页
            3.3.2.7 Testing Procedure第37页
            3.3.2.8 Advantages第37页
        3.3.3 KITO第37-39页
            3.3.3.1 Criteria for choosing data structures for analysis第38页
            3.3.3.2 KITO Framework for Data Structure第38-39页
            3.3.3.3 Advantages and Disadvantages第39页
        3.3.4 KEDR第39-41页
            3.3.4.1 General fault simulation method for KEDR第40页
            3.3.4.2 Advantages and disadvantages第40-41页
        3.3.5 QEMU-Based Fault Injection Framework第41-42页
            3.3.5.1 QEMU as a fault injection Tool第41-42页
            3.3.5.2 Framework architecture of QEMU Fault Injection第42页
            3.3.5.3 Advantages and Disadvantages第42页
        3.3.6 ADFI第42-44页
            3.3.6.1 Working of ADFI第43页
            3.3.6.2 Runtime fault injection framework for ADFI第43页
            3.3.6.3 Advantages and Drawbacks第43-44页
    3.4 Summary第44-45页
4 Implementation of Fault Injection for Linux Device Driver Testing第45-88页
    4.1 Introduction第45-46页
        4.1.1 Linux fault simulation第45-46页
            4.1.1.1 Failure Simulation with Targeted Development第46页
            4.1.1.2 Randomized Failure Simulation第46页
            4.1.1.3 Systematic Failure Simulation第46页
    4.2 General Architecture第46-47页
    4.3 General Work Flow第47-49页
    4.4 Experiments for Linux Fault Injection Testing Based on Various Tools第49-86页
        4.4.1 Experiments for Linux Kernel Fault Injection Framework第49-58页
            4.4.1.1 Platform and tools to Operate Experiment for LFI第49页
            4.4.1.2 General Problem Statement for LFI第49页
            4.4.1.3 Available Fault Injection Capabilities and Configuration ofCapabilities Behavior第49-51页
            4.4.1.4 Compilation of custom kernel第51-56页
            4.4.1.5 Selection of fault type and parameters第56页
            4.4.1.6 Injection of fault on Module and Tests第56-58页
        4.4.2 Experiments for Linux Test Project第58-66页
            4.4.2.1 Platform and tools to operate experiment for LFP第58页
            4.4.2.2 General problem statement for LTP第58页
            4.4.2.3 Compiling a custom kernel for LTP第58-60页
            4.4.2.4 Installation of LTP by Quick Start第60-61页
            4.4.2.5 LTP supports to LFI第61页
            4.4.2.6 Test cases in LTP第61-62页
            4.4.2.7 Runltp Test-cases for fault injection:第62页
            4.4.2.8 Injection of faults on default Test第62-63页
            4.4.2.9 Shell script and parameters to inject Fault第63-64页
            4.4.2.10 Injection of faults over selected tests第64-66页
        4.4.3 Fault Injection Testing for Device Drivers Based on KEDR第66-76页
            4.4.3.1 General problem statement for KEDR第67页
            4.4.3.2 Platform and tools to operate experiments on KEDR第67页
            4.4.3.3 Basic requirement for KEDR building第67-68页
            4.4.3.4 Installation of KEDR第68页
            4.4.3.5 Analyzing the Sample Module第68-70页
            4.4.3.6 Fault Simulation on KEDR第70页
            4.4.3.7 Fault Simulation parameters第70页
            4.4.3.8 Fault Simulation for kmalloc on KEDR built in example sample-target第70-72页
            4.4.3.9 Fault Simulation for copy_from_user and copy_to_user on characterdevices using KEDR第72-73页
            4.4.3.10 Fault simulation for custom kernel module第73页
            4.4.3.11 Fault simulation for kmalloc over custom module第73页
            4.4.3.12 Fault Simulation for device driver over custom kernel module第73-74页
            4.4.3.13 Detecting Memory Leaks for custom kernel module第74-76页
        4.4.4 RAID Fault Injection Testing Based on SCSI Fault Injector第76-86页
            4.4.4.1 General problem statement for SCSI第76-77页
            4.4.4.2 Platform and tools to operate SCSI第77页
            4.4.4.3 General necessities of SCSI第77-82页
            4.4.4.4 Installation of SCSI fault injector source and mdadm第82页
            4.4.4.5 Creation of and raidl array第82-84页
            4.4.4.6 Injection of Fault on RAID1 /dev/md0第84-85页
            4.4.4.7 Installation of system tap第85-86页
            4.4.4.8 Selection and Injection of a Fault type on stap第86页
            4.4.4.9 Waiting for SystemTap to start第86页
    4.5 Summary第86-88页
5 Test Results第88-94页
    5.1 Test Results for Linux Test Project第88-90页
    5.2 KEDR Test Results第90-91页
    5.3 Test Results for SCSI Fault Injector第91-93页
    5.4 Summary第93-94页
6 Conclusions and Future Work第94-99页
    6.1 Comparison of kedr-sample-target over Different Conditions第94-95页
    6.2 Comparing Space Requirements for All Tools第95页
    6.3 Comparison Made on Time Requirement for Each Tool第95-96页
    6.4 Fault Support Comparison第96页
    6.5 Comparison Made on Number of Test Pass and Fail第96-97页
    6.6 Future Work第97-99页
参考文献第99-105页
作者简历及攻读硕士学位期间取得的研究成果第105-107页
学位论文数据集第107-108页

论文共108页,点击 下载论文
上一篇:液/液同轴旋转射流稳定性及液膜破碎机理研究
下一篇:电子束辐照对聚多巴胺及聚多巴胺/金纳米粒子复合膜的影响