Tedsuto: A General Framework for Testing Dynamic Software Updates. Luis Pina and Michael Hicks. In Proceedings of the International Conference on Software Testing (ICST), April 2016.

Dynamic software updating (DSU) is a technique for patching running programs, to fix bugs or add new features. DSU avoids the downtime of stop-and-restart updates, but creates new risks-an incorrect or ill-timed dynamic update could result in a crash or misbehavior, defeating the whole purpose of DSU. To reduce such risks, dynamic updates should be carefully tested before they are deployed. This paper presents Tedsuto, a general testing framework for DSU, along with a concrete implementation of it for Rubah, a state-of-the-art Java-based DSU system. Tedsuto uses system-level tests developed for the old and new versions of the updateable software, and systematically tests whether a dynamic update might result in a test failure. Very often this process is fully automated, while in some cases (e.g., to test new-version functionality) some manual annotations are required. To evaluate Tedsuto's efficacy, we applied it to dynamic updates previously developed (and tested in an ad hoc manner) for the H2 SQL database server and the CrossFTP server- two real-world, multithreaded systems. We used three large test suites, totalling 446 tests, and we found a variety of update-related bugs in short order, and at low cost.

[ .pdf ]

@INPROCEEDINGS{pina16tedsuto,
  AUTHOR = {Luis Pina and Michael Hicks},
  BOOKTITLE = {Proceedings of the International Conference on Software Testing (ICST)},
  TITLE = {Tedsuto: A General Framework for Testing Dynamic Software Updates},
  YEAR = 2016,
  MONTH = APR
}

This file has been generated by bibtex2html 1.69