CIS - SIG-SYS Lecture Series: Compatibility Testing of Evolving Software Components, Alan Sussman, University of Maryland - College Park
Abstract: Today's software systems are increasingly integrated from reusable components; each of these components may in turn depend on further components. Each of the components may be developed by different providers, may have multiple active versions, and may be frequently evolving. In this situation, the total number of deployable configurations, meaning combinations of components and their versions, may be very large. Developers, on the other hand, would like their systems to build and execute correctly in all deployable configurations. However, the large number of potential configurations often makes it infeasible to test all of them. Therefore, developer's software compatibility testing processes often focus on only a limited set of ``default'' or popular configurations, resulting in inadequately tested software.
To address this problem, we present a process and software system called Rachet to support component compatibility testing. Rachet employs a formal model of a conponent's configuration space and implements sampling techniques based on testing all direct dependencies between components in the model. Sampled configurations are then tested in parallel, reusing build effort across multiple configurations. Because components evolve, Rachet includes methods to support incremental compatibility testing to increase the reuse of test effort across testing sessions. We evaluate the effectiveness of Rachet on evolving scientific computing software systems. Our results show that Rachet can cost-effectively identify compatibilities and make the process of compatibility testing more practical as components evolve.
Last, we describe recent efforts to extend the Rachet process to groups of component developers that use each others' components, to enable tests results and other test artifacts to be propagated from component users to component providers. Such reuse can both increase compatibility testing coverage to configurations not available to a component provider, and minimize redundant testing efforts across multiple component developers. Initial experimental results show the promise of such community-based testing in multiple software domains.
Friday, November 30, 2012 at 11:15am to 12:00pm
Smith Hall, Room 102A
Smith Hall, University of Delaware, Newark, DE 19716, USA
- Event Type
-
Lectures & Programs, Students, College of Engineering, Academics
- Calendar
- Website
- Group
- ENGR - Computer & Information Sciences
- Hashtag
- Contact Email
- Contact Name
-
Michela Taufer
- Contact Phone
-
302-831-0071
- Subscribe
Recent Activity
No recent activity