Skip to main content

A Record/Replay Debugger for Service Development on the Cloud

  • Conference paper
  • First Online:
Cloud Computing and Services Science (CLOSER 2018)

Abstract

Cloud based software development platforms are continuously becoming more powerful and penetrate towards the daily routines of modern developers. This paper presents a debugging approach that can be used in cloud based service development platforms where developer is working on relatively small sized scripts to be hosted on multi-tenant cloud platforms. Presented remote debugging approach utilizes record/replay technique to re-execute and record the variable evaluations whenever an exception is thrown during the developed service’s run-time. Additionally, an alternative recording scheme is also proposed that involves only recording external data accesses. Memory and run-time overhead of proposed approaches show that remote debugging approach can be useful especially when the minimal recording scheme is applied.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    E.g. codeanywhere.com, koding.com, etc.

  2. 2.

    E.g. force.com.

  3. 3.

    Imona Cloud: https://www.imona.com/.

References

  1. Barr, E.T., Marron, M.: Tardis: affordable time-travel debugging in managed runtimes. In: ACM SIGPLAN Notices, vol. 49, pp. 67–82. ACM (2014)

    Article  Google Scholar 

  2. Barr, E.T., Marron, M., Maurer, E., Moseley, D., Seth, G.: Time-travel debugging for Javascript/Node.js. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 1003–1007. ACM (2016)

    Google Scholar 

  3. Brock, M., various contributors: MVEL API Javadoc. http://javadox.com/org.mvel/mvel2/2.2.1.Final/org/mvel2/package-summary.html. Accessed 28 July 2018

  4. Brock, M., various contributors: MVEL-MVFLEX expression language. https://github.com/mvel/mvel. Accessed 28 July 2018

  5. Burg, B., Bailey, R., Ko, A.J., Ernst, M.D.: Interactive record/replay for web application debugging. In: Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology, pp. 473–484. ACM (2013)

    Google Scholar 

  6. Chilimbi, T.M., Liblit, B., Mehra, K., Nori, A.V., Vaswani, K.: Holmes: effective statistical debugging via efficient path profiling. In: IEEE 31st International Conference on Software Engineering, ICSE 2009, pp. 34–44. IEEE (2009)

    Google Scholar 

  7. Engblom, J.: A review of reverse debugging. In: System, Software, SoC and Silicon Debug Conference (S4D), pp. 1–6. IEEE (2012)

    Google Scholar 

  8. Hammoudi, M., Burg, B., Bae, G., Rothermel, G.: On the use of delta debugging to reduce recordings and facilitate debugging of web applications. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 333–344. ACM (2015)

    Google Scholar 

  9. Mickens, J.: Rivet: browser-agnostic remote debugging for web applications. In: USENIX Annual Technical Conference, pp. 333–345 (2012)

    Google Scholar 

  10. Pothier, G., Tanter, É.: Back to the future: omniscient debugging. IEEE Softw. 26(6), 78–85 (2009)

    Article  Google Scholar 

  11. Quroush, M.S.S., Ovatman, T.: Debugging remote services developed on the cloud. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science, CLOSER 2018, Funchal, Madeira, Portugal, 19–21 March 2018, pp. 426–431 (2018). https://doi.org/10.5220/0006691604260431

  12. Telerik: Fiddler web debugging. http://www.telerik.com/fiddler. Accessed 17 Jan 2018

  13. Troberg, A., et al.: Improving Javascript development productivity by providing runtime information within the code editor (2015)

    Google Scholar 

  14. Zhang, C., Lu, L., Zhou, H., Zhao, J., Zhang, Z.: MoonBox: debugging with online slicing and dryrun. In: Proceedings of the Asia-Pacific Workshop on Systems, p. 12. ACM (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tolga Ovatman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Sheikh Quroush, M.S., Ovatman, T. (2019). A Record/Replay Debugger for Service Development on the Cloud. In: Muñoz, V., Ferguson, D., Helfert, M., Pahl, C. (eds) Cloud Computing and Services Science. CLOSER 2018. Communications in Computer and Information Science, vol 1073. Springer, Cham. https://doi.org/10.1007/978-3-030-29193-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-29193-8_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-29192-1

  • Online ISBN: 978-3-030-29193-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics