Session-aware debugging features for web applications using Ruby and Python frameworks

  • Authors:
  • Norio Sato;Keisuke Kosuga

  • Affiliations:
  • Kanazawa Institute of Technology, Ishikawa, Japan;Kanazawa Institute of Technology, Ishikawa, Japan

  • Venue:
  • Workshop on Domain specific approaches to software test automation: in conjunction with the 6th ESEC/FSE joint meeting
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a symbolic debugging environment specific to the web applications domain. Complex web applications are executed in an event-driven way by individual web scripts that react to HTTP requests coming from a browser, but share the same data whose key is the "session ID" carried by the requests. Debugging their session-through behaviors and the interactions among sessions are difficult with thread-awareness alone, since in their execution platforms, i.e., web servers, one thread may be reused for more than one session and one session involves more than one thread possibly in different processes. Therefore, we propose the following "session-aware" debugging features: (1) Acquiring the "session ID" automatically, and grouping threads by "session ID(s)". (2) For a specified session, a breakpoint is set on-the-fly to an appropriate action of controllers for each invocation, and further, this feature is enabled and disabled. We have implemented these features by augmenting our development work of general-purpose multi-thread and multi-process debugger called Dionea for Python and Ruby. This augmentation enables a seamless switching between automatic regression test and manual test/debugging.