Early identification of incompatibilities in multi-component upgrades

TitleEarly identification of incompatibilities in multi-component upgrades
Publication TypeConference Paper
Year of Publication2004
AuthorsMcCamant S, Ernst MD
Conference NameECOOP 2004 –- Object-Oriented Programming, 18th European Conference
Date or Month PublishedJune 16–18
Conference LocationOslo, Norway
Abstract<p>Previous work proposed a technique for predicting problems resulting from replacing one version of a software component by another. The technique reports, before performing the replacement or integrating the new component into a system, whether the upgrade could be problematic for that particular system. This paper extends the technique to make it more applicable to real-world upgrades. First, we extend the theoretical framework to handle more complex upgrades, including procedures that share state, callbacks, and simultaneous upgrades of multiple components. The old model is a special case of our new one. Second, we show how to handle four real-world situations that were not addressed by previous work: non-local state, non-determinism, distinguishing old from new incompatibilities, and lack of test suites. Third, we present a case study in which we upgrade the Linux C library, for 48 Unix programs. Our implementation identified real incompatibilities among versions of the C library that affected some of the programs, and it approved the upgrades for other programs that were unaffected by the changes.</p>
DownloadsPDF PostScript
Citation KeyMcCamantE2004
Last changed Mon, 2013-06-03 10:27