{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:35:19Z","timestamp":1750307719229,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2009,5,1]],"date-time":"2009-05-01T00:00:00Z","timestamp":1241136000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCR-0112654"],"award-info":[{"award-number":["CCR-0112654"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2009,5]]},"abstract":"<jats:p>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.<\/jats:p>\n          <jats:p>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.<\/jats:p>\n          <jats:p>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?<\/jats:p>","DOI":"10.1145\/1525880.1525885","type":"journal-article","created":{"date-parts":[[2009,6,2]],"date-time":"2009-06-02T14:51:08Z","timestamp":1243954268000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":18,"title":["Tools and experiments supporting a testing-based theory of component composition"],"prefix":"10.1145","volume":"18","author":[{"given":"Dick","family":"Hamlet","sequence":"first","affiliation":[{"name":"Portland State University, Portland, OR"}]}],"member":"320","published-online":{"date-parts":[[2009,6,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/355592.365646"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146238.1146251"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.908957"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1090\/psapm\/019\/0235771"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312836"},{"volume-title":"Encyclopedia of Software Engineering","author":"Hamlet D.","key":"e_1_2_1_6_1","unstructured":"Hamlet , D. 1994. Random testing . In Encyclopedia of Software Engineering , J. Marciniak, Ed. Wiley, New York , 970--978. Hamlet, D. 1994. Random testing. In Encyclopedia of Software Engineering, J. Marciniak, Ed. Wiley, New York, 970--978."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146238.1146249"},{"key":"e_1_2_1_8_1","unstructured":"Hamlet D. 2007a. www.cs.pdx.edu\/~hamlet\/components.html.  Hamlet D. 2007a. www.cs.pdx.edu\/~hamlet\/components.html."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.v17:4"},{"volume-title":"Proceedings of the 6th ICSE Workshop on Component-Based Software Engineering, K. Wallnau, Ed. http:\/\/www.sei.cmu.edu\/pacc.","author":"Hamlet D.","key":"e_1_2_1_10_1","unstructured":"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. 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."},{"volume-title":"Proceedings of the International Conference on Software Engineering (ICSE'01)","author":"Hamlet D.","key":"e_1_2_1_11_1","unstructured":"Hamlet , D. , Mason , D. , and Woit , D . 2001. Theory of software reliability based on components . In Proceedings of the International Conference on Software Engineering (ICSE'01) . 361--370. Hamlet, D., Mason, D., and Woit, D. 2001. Theory of software reliability based on components. In Proceedings of the International Conference on Software Engineering (ICSE'01). 361--370."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233816"},{"key":"e_1_2_1_13_1","volume-title":"Concurrency: State Models &amp","author":"Kramer J.","year":"2006","unstructured":"Kramer , J. and Magee , J . 2006 . Concurrency: State Models &amp ; Java Programs, 2 nd Ed. Wiley , New York. Kramer, J. and Magee, J. 2006. Concurrency: State Models &amp; Java Programs, 2nd Ed. Wiley, New York.","edition":"2"},{"volume-title":"Report by the Inquiry Board","author":"Lions J. L.","key":"e_1_2_1_14_1","unstructured":"Lions , J. L. 1996. ARIANE 5, Flight 501 Failure , Report by the Inquiry Board . European Space Agency (ESA) , Paris . Lions, J. L. 1996. ARIANE 5, Flight 501 Failure, Report by the Inquiry Board. European Space Agency (ESA), Paris."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1007512.1007532"},{"volume-title":"Object-Oriented Software Construction","author":"Meyer B.","key":"e_1_2_1_16_1","unstructured":"Meyer , B. 2000. Object-Oriented Software Construction . Prentice Hall . Meyer, B. 2000. Object-Oriented Software Construction. Prentice Hall."},{"key":"e_1_2_1_17_1","doi-asserted-by":"crossref","unstructured":"Mills H. Basili V. Gannon J. and Hamlet D. 1987. Principles of Computer Programming: A Mathematical Approach. Allyn and Bacon.   Mills H. Basili V. Gannon J. and Hamlet D. 1987. Principles of Computer Programming: A Mathematical Approach. Allyn and Bacon.","DOI":"10.1145\/322917.322972"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Musa J. Iannino A. and Okumoto K. 1990. Software Reliability. McGraw-Hill New York.   Musa J. Iannino A. and Okumoto K. 1990. Software Reliability. McGraw-Hill New York.","DOI":"10.1016\/S0065-2458(08)60299-5"},{"volume-title":"The Art of Software Testing","author":"Myers G. J.","key":"e_1_2_1_19_1","unstructured":"Myers , G. J. 1979. The Art of Software Testing . Wiley-Interscience , New York . Myers, G. J. 1979. The Art of Software Testing. Wiley-Interscience, New York."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/11783565_4"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1525880.1525885","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1525880.1525885","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:30:28Z","timestamp":1750253428000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1525880.1525885"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,5]]},"references-count":20,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2009,5]]}},"alternative-id":["10.1145\/1525880.1525885"],"URL":"https:\/\/doi.org\/10.1145\/1525880.1525885","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2009,5]]},"assertion":[{"value":"2006-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-06-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}