Luís Pina

Tedsuto: A General Framework for Testing Dynamic Software Updates

| PDF | slides |

Luís Pina and Michael Hicks
In Proceedings of the IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)
April, 2016

Abstract

Dynamic software updating (DSU) is a technique for patching running programs, to fix bugs or add new features. 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 quickly, and at low cost.

Bibtex

@inproceedings{pina16tedsuto,
  title     = {Tedsuto: A General Framework for Testing Dynamic Software Updates},
  author    = {Pina, Lu\'{\i}s and Hicks, Michael},
  booktitle = {Proceedings of the {IEEE} 8th International Conference on Software Testing, Verification and Validation},
  year      = {2016},
  month     = APR,
  series    = {ICST '16},
  location  = {Chicago, IL, USA},
  publisher = {IEEE},
  
}