Analyzing Software Updates: Should You Build a Dynamic Updating Infrastructure?

Thumbnail Image
Supplemental Files
Date
2011-01-01
Authors
Gharaibeh, Bashar
Rajan, Hridesh
Chang, Morris
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Authors
Person
Rajan, Hridesh
Professor and Department Chair of Computer Science
Research Projects
Organizational Units
Organizational Unit
Journal Issue
Is Version Of
Versions
Series
Department
Computer Science
Abstract

The ability to adapt software systems to fix bugs, add/change features without restarting is becoming important for many domains including but not limited to finance, social networking, control systems, etc. Fortunately, many ideas have begun to emerge under the umbrella term “dyanamic updating” to solve this problem. Dynamic updating is critical to address certain software evolution needs. Dynamic updating literature evaluates such systems in terms of coverage (i.e. what type of code changes are supported) and performance. However, we do not have a technique to analyze whether certain updating solution, based on its costs and benefits, is suitable for an application.

In this paper, we present a quantitative analysis model to fill this gap. Our model is parameterized and it can be instantiated with application-specific valuation functions. Given the software evolution history of the application under consideration, our model allows rigorous comparisons of the value of different software updating schemes (e.g. online vs. offline). We illustrate our model using two case studies inspired from the the evolution history of Xerces XML parser library and Apache httpd web server. Other case studies and evaluation examples are presented in our technical report [Gharaibeh, Rajan and Chang 09]. The proposed analysis scheme can serve system architects in evaluating their current updating scheme. For example, to audit the system’s value during previous development cycles and whether a different updating scheme will generate higher value.

Comments

The final publication is available at Springer via https://doi.org/10.1007/978-3-642-19811-3_26. Gharaibeh B., Rajan H., Chang J.M. (2011) Analyzing Software Updates: Should You Build a Dynamic Updating Infrastructure?. In: Giannakopoulou D., Orejas F. (eds) Fundamental Approaches to Software Engineering. FASE 2011. Lecture Notes in Computer Science, vol 6603. doi: 10.1007/978-3-642-19811-3_26. Posted with permission.

Description
Keywords
Citation
DOI
Copyright
Sat Jan 01 00:00:00 UTC 2011