skip to main content
10.1145/2677832.2677853acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
Article

Automated recommendation of dynamic software update points: an exploratory study

Published: 17 November 2014 Publication History

Abstract

Due to the demand for bugs fixing and feature enhancements, developers inevitably need to update in-use software systems. Instead of shutting down a running system before updating, it is often desirable and sometimes mandatory to patch the running software system on the fly, with a mechanism generally referred as dynamic software updating (DSU). Practical DSU strategies often require manual specification of update points in the program for performing dynamic updates. At these points DSU systems will update the program code, and also migrate the program state to the new version program (using transformation functions). However, finding appropriate update points is non-trivial because the choice of update points has great influence on two competing factors: the timeliness of DSU and the complexity of transformation functions; and to strike a good balance between them requires a deep understanding of both versions of the program. In this exploratory paper, we conceive an automated approach to the recommendation of update points for developers. We conduct a set of preliminary experiments with a real world software update case to examine the feasibility of the approach.

References

[1]
Subramanian, S., Hicks, M., & McKinley, K. S. (2009). Dynamic software updates: a VM-centric approach (Vol. 44, No. 6, pp. 1-12). ACM.
[2]
Hayden, C. M., Smith, E. K., Hardisty, E. A., Hicks, M., & Foster, J. S. (2012). Evaluating dynamic software update safety using systematic testing. Software Engineering, IEEE Transactions on, 38(6), 1340-1354.
[3]
Hicks, M., Moore, J. T., & Nettles, S. (2001). Dynamic software updating (Vol. 36, No. 5, pp. 13-23). ACM.
[4]
Magill, S., Hicks, M., Subramanian, S., & McKinley, K. S. (2012, October). Automating object transformations for dynamic software updating. In ACM SIGPLAN Notices (Vol. 47, No. 10, pp. 265-280). ACM.
[5]
Neamtiu, I., & Hicks, M. (2009, June). Safe and timely updates to multi-threaded programs. In ACM Sigplan Notices (Vol. 44, No. 6, pp. 13-24). ACM. Table 12. Equivalent update points void main(){ point_1; f(); point_2; g(); point_3; h(); }
[6]
Gupta, D., Jalote, P., & Barua, G. (1996). A formal framework for on-line software version change. Software Engineering, IEEE Transactions on, 22(2), 120-131.
[7]
Neamtiu, I., Hicks, M., Foster, J. S., & Pratikakis, P. (2008, January). Contextual effects for version-consistent dynamic software updating and safe concurrent programming. In ACM SIGPLAN Notices (Vol. 43, No. 1, pp. 37-49). ACM.
[8]
Arnold, J., & Kaashoek, M. F. (2009, April). Ksplice: Automatic rebootless kernel updates. In Proceedings of the 4th ACM European conference on Computer systems (pp. 187-198). ACM.
[9]
Mitchell, N., & Sevitsky, G. (2003). LeakBot: An automated and lightweight tool for diagnosing memory leaks in large Java applications. In ECOOP 2003–Object-Oriented Programming (pp. 351-377). Springer Berlin Heidelberg.
[10]
Bierman, G., Parkinson, M., & Noble, J. (2008). UpgradeJ: Incremental typechecking for class upgrades. In ECOOP 2008––Object-Oriented Programming (pp. 235-259). Springer Berlin Heidelberg.
[11]
Chen, H., Yu, J., Chen, R., Zang, B., & Yew, P. C. (2007, May). Polus: A powerful live updating system. In Proceedings of the 29th international conference on Software Engineering (pp. 271-281). IEEE Computer Society.
[12]
Altekar, G., Bagrak, I., Burstein, P., & Schultz, A. (2005, August). OPUS: Online Patches and Updates for Security. In Usenix Security (Vol. 5).
[13]
Malabarba, S., Pandey, R., Gragg, J., Barr, E., & Barnes, J. F. (2000). Runtime support for type-safe dynamic Java classes (pp. 337-361). Springer Berlin Heidelberg.
[14]
Gu T., Cao C., Xu C., et al. Javelus: A Low Disruptive Approach to Dynamic Software Updates{C}//Software Engineering Conference (APSEC), 2012 19th Asia-Pacific. IEEE, 2012, 1: 527-536.
[15]
Matozoid, Java 1.7 parser and Abstract Syntax Tree. https://github.com/matozoid/javaparser, 2007
[16]
ORACLE, Java Documentation, Java Platform, Standard Edition Tools Reference. http://docs.oracle.com/javase/8/docs/technotes/tools/unix/, 1993.
[17]
Software-artifact Infrastructure Repository, Object Biography: Siena, http://sir.unl.edu/portal/bios/siena.php, Jul. 20, 2014
[18]
Hayden, C. M., Hardisty, E. A., Hicks, M., & Foster, J. S. (2009, October). Efficient systematic testing for dynamically updatable software. In Proceedings of the 2nd International Workshop on Hot Topics in Software Upgrades (p. 9). ACM.

Cited By

View all
  • (2023)Scheduling Dynamic Software Updates in Mobile RobotsACM Transactions on Embedded Computing Systems10.1145/362367622:6(1-27)Online publication date: 9-Nov-2023
  • (2018)Genrih, a Runtime State Analysis System for Deciding the Applicability of Dynamic Software UpdatesSoftware Technologies10.1007/978-3-319-93641-3_7(135-159)Online publication date: 8-Jun-2018
  • (2017)Functional level hot-patching platform for executable and linkable format binaries2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC.2017.8122653(489-494)Online publication date: 5-Oct-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '14: Proceedings of the 6th Asia-Pacific Symposium on Internetware
November 2014
152 pages
ISBN:9781450333030
DOI:10.1145/2677832
  • General Chairs:
  • Hong Mei,
  • Jian Lv,
  • Program Chairs:
  • Minghui Zhou,
  • Charles Zhang
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 November 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dynamic software updating (DSU)
  2. automated recommendation
  3. update points

Qualifiers

  • Article

Funding Sources

Conference

Internetware '14

Acceptance Rates

Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Scheduling Dynamic Software Updates in Mobile RobotsACM Transactions on Embedded Computing Systems10.1145/362367622:6(1-27)Online publication date: 9-Nov-2023
  • (2018)Genrih, a Runtime State Analysis System for Deciding the Applicability of Dynamic Software UpdatesSoftware Technologies10.1007/978-3-319-93641-3_7(135-159)Online publication date: 8-Jun-2018
  • (2017)Functional level hot-patching platform for executable and linkable format binaries2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC.2017.8122653(489-494)Online publication date: 5-Oct-2017
  • (2016)Dodging Unsafe Update Points in Java Dynamic Software Updating Systems2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE.2016.17(332-341)Online publication date: Oct-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media