DocumentCode
1035795
Title
Assume-guarantee testing for software components
Author
Giannakopoulou, D. ; Pasareanu, C.S. ; Blundell, C.
Author_Institution
NASA Ames Res. Center, CMU, Moffett Field, CA
Volume
2
Issue
6
fYear
2008
fDate
12/1/2008 12:00:00 AM
Firstpage
547
Lastpage
562
Abstract
Integration issues of component-based systems tend to be targeted at the later phases of the software development, mostly after components have been assembled to form an executable system. However, errors discovered at these phases are typically hard to localise and expensive to fix. To address this problem, the authors introduce assume-guarantee testing, a technique that establishes key properties of a component-based system before component assembly, when the cost of fixing errors is smaller. Assume-guarantee testing is based on the (automated) decomposition of system-level requirements into local component requirements at design time. The local requirements are in the form of assumptions and guarantees that each component makes on, or provides to the system, respectively. Checking requirements is performed during testing of individual components (i.e. unit testing) and it may uncover system-level violations prior to system testing. Furthermore, assume-guarantee testing may detect such violations with a higher probability than traditional testing. The authors also discuss an alternative technique, namely predictive testing, that uses the local component assumptions and guarantees to test assembled systems: given a non-violating system run, this technique can predict violations by alternative system runs without constructing those runs.
Keywords
object-oriented programming; program testing; software engineering; assume-guarantee testing; component-based systems; software component testing; software development; system testing; system-level decomposition;
fLanguage
English
Journal_Title
Software, IET
Publisher
iet
ISSN
1751-8806
Type
jour
DOI
10.1049/iet-sen:20080012
Filename
4717285
Link To Document