Predicting problems caused by component upgrades

Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.

Bibliographic Details
Main Author: McCamant, Stephen
Other Authors: Michael D. Ernst.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2006
Subjects:
Online Access:http://hdl.handle.net/1721.1/30094
_version_ 1811095632285270016
author McCamant, Stephen
author2 Michael D. Ernst.
author_facet Michael D. Ernst.
McCamant, Stephen
author_sort McCamant, Stephen
collection MIT
description Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.
first_indexed 2024-09-23T16:21:53Z
format Thesis
id mit-1721.1/30094
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T16:21:53Z
publishDate 2006
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/300942019-04-11T03:32:43Z Predicting problems caused by component upgrades McCamant, Stephen Michael D. Ernst. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004. Includes bibliographical references (p. 89-93). This thesis presents a new, automatic technique to assess whether replacing a component of a software system by a purportedly compatible component may change the behavior of the system. The technique operates before integrating the new component into the system or running system tests, permitting quicker and cheaper identification of problems. It takes into account the system's use of the component, because a particular component upgrade may be desirable in one context but undesirable in another. No formal specifications are required, permitting detection of problems due either to errors in the component or to errors in the system. Both external and internal behaviors can be compared, enabling detection of problems that are not immediately reflected in the output. The technique generates an operational abstraction for the old component in the context of the system, and one for the new component in the context of its test suite. An operational abstraction is a set of program properties that generalizes over observed run-time behavior. Modeling a system as divided into modules, and taking into account the control and data flow between the modules, we formulate a logical condition to guarantee that the system's behavior is preserved across a component replacement. If automated logical comparison indicates that the new component does not make all the guarantees that the old one did, then the upgrade may affect system behavior and should not be performed without further scrutiny. (cont.) We describe a practical implementation of the technique, incorporating enhancements to handle non-local state, non-determinism, and missing test suites, and to distinguish old from new incompatibilities. We evaluate the implementation in case studies using real-world systems, including the Linux C library and 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. by Stephen Andrew McCamant. S.M. 2006-03-24T18:18:53Z 2006-03-24T18:18:53Z 2004 2004 Thesis http://hdl.handle.net/1721.1/30094 55675450 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 93 p. 5211790 bytes 5211593 bytes application/pdf application/pdf application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
McCamant, Stephen
Predicting problems caused by component upgrades
title Predicting problems caused by component upgrades
title_full Predicting problems caused by component upgrades
title_fullStr Predicting problems caused by component upgrades
title_full_unstemmed Predicting problems caused by component upgrades
title_short Predicting problems caused by component upgrades
title_sort predicting problems caused by component upgrades
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/30094
work_keys_str_mv AT mccamantstephen predictingproblemscausedbycomponentupgrades