ACM Home Page
Please provide us with feedback. Feedback
Tools and experiments supporting a testing-based theory of component composition
Full text PdfPdf (920 KB)
Source
ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 18 ,  Issue 3  (May 2009) table of contents
Article No. 12  
Year of Publication: 2009
ISSN:1049-331X
Author
Dick Hamlet  Portland State University, Portland, OR
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 34,   Downloads (12 Months): 210,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1525880.1525885
What is a DOI?

ABSTRACT

Development of software using off-the-shelf components seems to offer a chance for improving product quality and developer productivity. This article reviews a foundational testing-based theory of component composition, describes tools that implement the theory, and presents experiments with functional and nonfunctional component/system properties that validate the theory and illuminate issues in component composition.

The context for this work is an ideal form of Component-Based Software Development (CBSD) supported by tools. Component developers describe their components by measuring approximations to functional and nonfunctional behavior on a finite collection of subdomains. Systems designers describe an application-system structure by the component connections that form it. From measured component descriptions and a system structure, a CAD tool synthesizes the system properties, predicting how the system will behave. The system is not built, nor are any test executions performed. Neither the component sources nor executables are needed by systems designers. From CAD calculations a designer can learn (approximately) anything that could be learned by testing an actual system implementation. The CAD tool is often more efficient than it would be to assemble and execute an actual system.

Using tools that support an ideal separation between component- and system development, experiments were conducted to investigate two related questions: (1) To what extent can unit (that is, component) testing replace system testing? (2) What properties of software and subdomains influence the quality of subdomain testing?


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
 
4
Floyd, R. W. 1967. Assigning meanings to programs. In Proceedings of the Symposium on Applied Mathematics. Vol. 19. American Mathematical Society, 19--32.
 
5
Goodenough, J. B. and Gerhart, S. L. 1975. Toward a theory of test data selection. IEEE Trans. Soft. Engin. 1, 156--173.
 
6
Hamlet, D. 1994. Random testing. In Encyclopedia of Software Engineering, J. Marciniak, Ed. Wiley, New York, 970--978.
7
 
8
Hamlet, D. 2007a. www.cs.pdx.edu/~hamlet/components.html.
 
9
 
10
Hamlet, D., Andric, M., and Tu, Z. 2003. Experiments with composing component properties. In Proceedings of the 6th ICSE Workshop on Component-Based Software Engineering, K. Wallnau, Ed. http://www.sei.cmu.edu/pacc.
 
11
 
12
 
13
 
14
Lions, J. L. 1996. ARIANE 5, Flight 501 Failure, Report by the Inquiry Board. European Space Agency (ESA), Paris.
15
 
16
 
17
 
18
 
19
 
20
Xie, F. and Browne, J. 2006. Verification of component-based software application families. Lecture Notes in Computer Science, vol. 4063, I. Gorton et al., Eds. Springer, 50--66.