Debugging Remote Services Developed on the Cloud
M. Subhi Sheikh Quroush and Tolga Ovatman
Department of Computer Engineering, Istanbul Technical University, Maslak, 34469, Istanbul, Turkey
Keywords:
Cloud based Development, Remote Service Debugging, Record/ Replay Debugging.
Abstract:
Cloud based development platforms are getting more widely used as the cloud services become more available
and the performance of such platforms increase. One of the key issues in providing a cloud based development
platform is to enable the developers to debug their code just as efficiently and effectively as they would perform
in a desktop IDE development session. However, especially if the development of a remote service is being
carried out, the debugging client and the server running the actual code is separated, disclosing many problems
which are not present in a usual debugging session. This paper proposes a record/replay approach to deal with
the problems of remote debugging. To keep the communication overhead of the proposed approach as small
as possible,the debugger saves the variable values only for external data access such as getting the data from
a database query or a web service call. The proposed approach is integrated to a real world cloud based
development platform and the run-time overhead is measured on real world case studies to demonstrate the
usefulness of the approach.
1 INTRODUCTION
Continuous shift in modern software development ac-
tivities towards cloud environments and the expan-
sion of the software ecosystem that uses remote ser-
vices has made the remote debugging of web soft-
ware a more appealing challenge. Developers use and
develop their own remote services in various differ-
ent purposes while developing web based software.
However debugging of the in house developed client-
server web service interaction is cumbersome since it
requires an interactive tracking session where the de-
veloper needs to watch remote but yet interdependent
variables and control flows.
One way to ease such a challenge for the devel-
oper is to be able to record and replay the erroneous
flows that has been triggered by the remote calls to
the web service including the variable values. In de-
bugging such errors developers dig into the error logs
performing a postmortem analysis which becomes a
needle in a haystack problem most of the time.
In this paper we present an approach for helping
the developer initiate and track a remote debugging
session by being able to record and replay the errors
that were triggered by the web service call. During the
recording session we record the local variable values
and replies from the database calls which in turn en-
ables the developer to run a debugging session by re-
playing the erroneous flow of the remote service with
the erroneous variable values.
We also measure the overhead presented by our
approach and present a lightweight version of the ap-
proach where we significantly decrease the amount
of overhead by only recording the variable evalua-
tions that are affected by external data access like a
database query. Variable evaluations that were deter-
mined solely by program flow are left to be calculated
by the client instead of being recorded at the server
side, reducing the amount of additional information
to be stored by the remote debugging engine.
In the past, a vast amount of work have been per-
formed on debugging web services and web applica-
tions. We have adopted the interactive record/replay
approach presented in the work of Brian Burg et al.
where (Burg et al., 2013) a user interface is used for
capturing and replaying web application executions.
In our study we have shifted the focus on the applica-
bility of the approach on web services being used in a
cloud based platform.
The rest of the paper is organized as follows: in
Section 2 we present our remote debugging approach.
Section 3 presents the overhead generated by apply-
ing the remote debugging approach presented. Sec-
tion 4 discusses the related work in the literature and
we conclude our studies and present future work in
Section 5.
426
Sheikh Quroush, M. and Ovatman, T.
Debugging Remote Services Developed on the Cloud.
DOI: 10.5220/0006691604260431
In Proceedings of the 8th International Conference on Cloud Computing and Ser vices Science (CLOSER 2018), pages 426-431
ISBN: 978-989-758-295-0
Copyright
c
2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved