ACM Computing Surveys (CSUR)
A thread-aware debugger with an open interface
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Programming Ruby: the pragmatic programmer's guide
Programming Ruby: the pragmatic programmer's guide
Learning Python
Agile Web Development with Rails
Agile Web Development with Rails
Domain specific approaches to software test automation
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Domain specific approaches to software test automation
The 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers
Hi-index | 0.00 |
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.