Master Thesis


Extending CloudStudio with a collaborative remote debugger
Master Thesis at Politecnico di Milano, January 2012 — December 2012
Author: Rand Nezha and Mert Tufekci
Supervisor: Elisabetta Di Nitto, Martin Nordio and Christian Estler
See report here


The subject of this thesis is extending the CloudStudio with a JavaScript debugger which is encapsulated in a Collaborative Remote debugger. The encapsulating debugger is designed to work with other debugger implementations. The most important aspect of the subject of this thesis is that the Collaborative Remote debugger enables developers, that are in a geographically distributed environment, to debug an application together in a collaborative way through any web browser. Most of the debuggers today are inside the integrated to Integrated Development Environments (IDE) that run locally. Because of widely usage of debuggers and the necessity, it becomes becomes a co-operation problem between developers. More and more geographically distributed developers are writing different parts of the same modules that interact with each other. A block of code that a developer wrote may cause an error in another block of code that another developer wrote. In such a case both developers might need to debug together to find the problem and resolve it. Traditionally these debugging sessions are made through sharing the screen of the developer in control of the debugger with other developers and communicating through some VoIP or IM applications.

This reduces the collaboration between debuggers since only one of them has the actual control over the debugger and the other is only watching the debugging session or dictating through some application to the other developer without having any actual control over the debugger. The CloudStudio Collaborative Remote JavaScript Debugger is designed and implemented to enable more and more the debugging collaboration between geographically distributed developers.

A case study is designed to evaluate the performance and the efficiency of the implemented tool. The case study is driven with several user groups and data are collected from the participants and the system logs. These data are then analyzed to get the trends and to come to a conclusion.