Dynamic Detection of COTS Component Incompatibility
- 17 September 2007
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 24 (5) , 76-85
Abstract
The development of COTS-based systems shifts the focus of testing and verification from single components to component integration. Independent teams and organizations develop COTS components without referring to specific systems or interaction patterns. Developing systems that reuse COTS components (even high-quality ones) therefore presents new compatibility problems. David Garlan, Robert Allen, and John Ockerbloom (1995) reported that in their experience, integrating four COTS components took 10 person-years (rather than the one planned person-year), mainly because of integration problems. According to Barry Boehm and Chris Abts (1999), three of the four main problems with reusing COTS products are absence of control over their functionality, absence of control over their evolution, and lack of design for interoperability. Our proposed technique, called behavior capture and test, detects COTS component incompatibilities by dynamically analyzing component behavior. BCT incrementally builds behavioral models of components and compares them with the behavior the components display when reused in new contexts. This lets us identify incompatibilities, unexpected interactions, untested behaviors, and dangerous side effects.Keywords
This publication has 15 references indexed in Scilit:
- Inferring state-based behavior models2006
- Encoding program executions2005
- Behavior Capture and Test: Automated Analysis of Component Integration2005
- Exploration harnesses: tool-supported interactive discovery of commercial component properties2003
- Dynamically discovering likely program invariants to support program evolutionIEEE Transactions on Software Engineering, 2001
- Discovering models of software processes from event-based dataACM Transactions on Software Engineering and Methodology, 1998
- A polynomial time incremental algorithm for learning DFA1998
- Architectural mismatch: why reuse is so hardIEEE Software, 1995
- Learning automata from ordered examplesMachine Learning, 1991
- The category-partition method for specifying and generating functional testsCommunications of the ACM, 1988