Abstract
Debugging Web applications is difficult because of their distributed nature and because the server-side and the client-side of the application are generally treated separately. The multitier approach, which reunifies the two ends of the application inside a unique execution environment, helps the debugging process because it lets the debugger access more runtime informations.
We have built a multitier debugger for an extension of JavaScript. Its advantage over most debuggers for the Web is that it reports the full stack trace containing all the server-side and client-side frames that have conducted to an error. Errors are reported on their actual position on the source code, wherever they occur on the server or on the client. This paper presents this debugger and sketches its implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Some generated programs have been manually modified to fit the paper layout constraints.
- 2.
References
Vckovski, A.: wshdbg - a Debugger for CGI Applications. In: Proceedings of the 6th conference on Annual Tcl/Tk Workshop (TCLTK), pp. 89–96, Berkeley, CA, USA (1998)
Feldman, P.: WebKit remote debugging (2011). http://www.webkit.org/blog/1620/webkit-remote-debugging
Sharma, A.J.: Better web development with webkit remote debugging. In: Proceedings of the World Wide Web Conference (WWW), Lyon, France (2012)
Mickens, J.: Rivet: browser-agnostic remote debugging for web applications. In: Proceedings of the Usenix Annual Technical Conference (ATC), pp. 30–43, Boston, MA, USA (2012)
Lenz, J., Fitzgerald, N.: Source Map Revision 3 Proposal - better bidirectional mapping (2011)
Schrock, E.: Debugging AJAX in Production. ACM Queue 7 (2009)
ECMA: Ecma-262: Ecmascript language specification (2009)
Serrano, M., Gallesio, E., Loitsch, F.: HOP, a language for programming the web 2.0. In: Proceedings of the First Dynamic Languages Symposium (DLS), Portland, Oregon, USA (2006)
Boudol, G., Luo, Z., Rezk, T., Serrano, M.: Reasoning about web applications: an operational semantics for HOP. ACM Trans. Program. Lang. Syst. (TOPLAS) 34 (2012)
Serrano, M., Berry, G.: Multitier programming in Hop - a first step toward programming 21st-century applications. Commun. ACM 55, 53–59 (2012)
Cooper, E., Lindley, S., Yallop, J.: Links: web programming without tiers. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 266–296. Springer, Heidelberg (2007)
Vouillon, J., Balat, V.: From bytecode to Javascript: the Js\(\_\)of\(\_\)ocaml compiler. Software: Practice and Experience (2013). doi:10.1002/spe.2187
Binsztok, H., Koprowski, A., Swarczewskaja, I.: Opa: Up and Running. O’Reilly Media, Sebastopol (2013)
Google: Angularjs (2013). http://angularjs.org/
Jensen, S.H., Møller, A., Thiemann, P.: Type analysis for javascript. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 238–255. Springer, Heidelberg (2009)
Microsoft: TypeSscript, Language Specification, version 0.9.5 (2013)
Serrano, M.: Hop, a fast server for the diffuse web. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 1–26. Springer, Heidelberg (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Serrano, M. (2015). Multitier Debugging of Web Applications. In: Monfort, V., Krempels, KH. (eds) Web Information Systems and Technologies. WEBIST 2014. Lecture Notes in Business Information Processing, vol 226. Springer, Cham. https://doi.org/10.1007/978-3-319-27030-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-27030-2_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27029-6
Online ISBN: 978-3-319-27030-2
eBook Packages: Computer ScienceComputer Science (R0)