随着计算机技术的不断发展,计算机系统在安全攸关领域得到了广泛应用,其中的软件系统正逐渐成为重要的使能部件.在计算机系统中,设备驱动程序扮演了软件与硬件设备之间桥梁的角色.由于与计算机平台、操作系统、设备3个方面同时关联所导致的复杂性,设备驱动程序的开发难度大、成本高,程序中所存在的错误和缺陷常常导致系统失效,在安全攸关领域造成不可挽回的损失.以设备驱动程序可靠性和正确性保障为目标,分别从故障的隔离与恢复、正确性分析和验证、设计建模与复杂性控制这3个方面对当前相关方法和技术进行分析,为开展进一步深入的研究工作打下基础.
With the rapid development of computer technology, computer systems have been widely used in the safety-critical field where software systems are important enabling components. In computer systems, device drivers act as the bridge between software and devices. Due to the complexity resulted from the fact that device drivers are associated with platforms, operating systems and devices all together, the development of device drivers is very difficult and costly. Errors and faults in device drivers often lead to system failures, causing irreparable damage to the safety-critical applications. Aiming at the assurance of reliability and correctness, the paper presents a survey of related methods and techniques from three aspects: failure isolation and recovery, correctness analysis and verification, model based design and complexity control. The mainstream methods and techniques are evaluated with their pros and cons, which lays the foundation for the further research.