Assume-Guarantee TestingVerification techniques for component-based systems should ideally be able to predict properties of the assembled system through analysis of individual components before assembly. This work introduces such a modular technique in the context of testing. Assume-guarantee testing relies on the (automated) decomposition of key system-level requirements into local component requirements at design time. Developers can verify the local requirements by checking components in isolation; failed checks may indicate violations of system requirements, while valid traces from different components compose via the assume-guarantee proof rule to potentially provide system coverage. These local requirements also form the foundation of a technique for efficient predictive testing of assembled systems: given a correct system run, this technique can predict violations by alternative system runs without constructing those runs. We discuss the application of our approach to testing a multi-threaded NASA application, where we treat threads as components.
Document ID
20060017073
Acquisition Source
Ames Research Center
Document Type
Conference Paper
Authors
Blundell, Colin (Pennsylvania Univ. Philadelphia, PA, United States)
Giannakopoulou, Dimitra (NASA Ames Research Center Moffett Field, CA, United States)
Pasareanu, Corina S. (NASA Ames Research Center Moffett Field, CA, United States)