Predicting Problems Caused by Component Upgrades

Stephen McCamant, Michael D. Ernst

Research output: Chapter in Book/Report/Conference proceedingConference contribution

32 Scopus citations

Abstract

We present 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 generates an operational abstraction 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. 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. In case studies, the technique identified several incompatibilities among software components.

Original languageEnglish (US)
Title of host publicationProceedings of the Joint European Software Engineering Conference (ESEC) and SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)
PublisherAssociation for Computing Machinery (ACM)
Pages287-296
Number of pages10
ISBN (Print)1581137435
DOIs
StatePublished - 2003
EventProceedings of the Joint 9th European Software Engineering Conference (ESEC) and 11th SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11) - Helsinki, Iceland
Duration: Sep 1 2003Sep 5 2003

Publication series

NameProceedings of the Joint European Software Engineering Conference (ESEC) and SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)

Other

OtherProceedings of the Joint 9th European Software Engineering Conference (ESEC) and 11th SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)
CountryIceland
CityHelsinki
Period9/1/039/5/03

Keywords

  • Software components
  • Software upgrades
  • Specification matching

Fingerprint Dive into the research topics of 'Predicting Problems Caused by Component Upgrades'. Together they form a unique fingerprint.

  • Cite this

    McCamant, S., & Ernst, M. D. (2003). Predicting Problems Caused by Component Upgrades. In Proceedings of the Joint European Software Engineering Conference (ESEC) and SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11) (pp. 287-296). (Proceedings of the Joint European Software Engineering Conference (ESEC) and SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)). Association for Computing Machinery (ACM). https://doi.org/10.1145/940108.940110