An experimental evaluation of the assumption of independence in multiversion programming
IEEE Transactions on Software Engineering
Scale and performance in a distributed file system
ACM Transactions on Computer Systems (TOCS)
A reply to the criticisms of the Knight & Leveson experiment
ACM SIGSOFT Software Engineering Notes
Comparing the Robustness of POSIX Operating Systems
FTCS '99 Proceedings of the Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing
Interposed request routing for scalable network storage
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Anypoint: extensible transport switching on the edge
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
Journaling versus soft updates: asynchronous meta-data protection in file systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
A nine year study of file system and storage benchmarking
ACM Transactions on Storage (TOS)
JustRunIt: experiment-based management of virtualized data centers
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Fast and cautious evolution of cloud storage
HotStorage'10 Proceedings of the 2nd USENIX conference on Hot topics in storage and file systems
Benchmarking and testing OSD for correctness and compliance
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
Letting applications operate through attacks launched from compromised drivers
Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security
Hi-index | 0.00 |
Comparison-based server verification involves testing a server by comparing its responses to those of a reference server. An intermediary, called a "server Tee," interposes between clients and the reference server, synchronizes the system-under-test (SUT) to match the reference server's state, duplicates each request for the SUT, and compares each pair of responses to identify any discrepancies. The result is a detailed view into any differences in how the SUT satisfies the client-server protocol specification, which can be invaluable in debugging servers, achieving bug compatibility, and isolating performance differences. This paper introduces, develops, and illustrates the use of comparison-based server verification. As a concrete example, it describes a NFSv3 Tee and reports on its use in identifying interesting differences in several production NFS servers and in debugging a prototype NFS server. These experiences confirm that comparison-based server verification can be a useful tool for server implementors.