Static analysis for dynamic updates

  • Authors:
  • Oleg Šelajev;Rein Raudjärv;Jevgeni Kabanov

  • Affiliations:
  • University of Tartu, Tartu, Estonia;Zero Turnaround, Tartu, Estonia;Zero Turnaround, Tartu, Estonia

  • Venue:
  • Proceedings of the 9th Central & Eastern European Software Engineering Conference in Russia
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic system update problem, DSU, is about replacing a running application with another version without interrupting its work or disrupting its users. Some solutions for DSU support only certain kinds of updates, which makes it dangerous to apply them without confidence that an update succeeds. This paper formalises an approach for a static analysis of updates. We define a method of producing lists of exact changes occurred between versions of packaged Java applications and cover essential for an update system analysis queries: producing a list of all changes in an update and asking if a given dynamic update system supports an update. We introduce a multilevel update event system capable of describing generic packaging modifications as well as Java language specific constructs updates. We analyse recent releases of a few open-source Java projects to determine what changes their updates usually consist of. Described system has an extensible design that allows analysing object-oriented applications and can support different packaging schemes. The method has been implemented and tested in production environments.