Please use this identifier to cite or link to this item: https://dl.ucsc.cmb.ac.lk/jspui/handle/123456789/2502
Title: Execution Trace Recorder for Java Applications and an Offline Debugging Tool which Simulates Real-time Debugging
Authors: Samaratunga, S.A.P.M.
Issue Date: 26-May-2014
Abstract: Today with the growth of Software industry, it has become more and more dynamic and highly competitive than ever. Time to market and the quality are the two key aspects that an outsourcing company has to keep eye on if it needs to survive in the industry and attract more clients than its competitors. Companies are struggling trying out various strategies to reduce the time to market without compromising the quality. In order to improve the efficiency and to avoid the delays, they try out various development processes, methodologies and also development tools such as IDEs, Profilers, debuggers etc. This attempt is to come up with such a tool "The offline debugger", which would avoid certain amount of delay in practical software industry. A common problem which developers face is that they have to spend several hours trying to reproduce the random defects complained by testers or client where they do not know the exact steps to reproduce. This is where the tool discussed in this paper The offline debugger could be useful to avoid this unwanted delay and developer effort. This tool comes with two basic components. One component would record the execution trace of a running Java application with all runtime parameters and save to a file. The other component will use this file and simulate a real time debugger to allow developers to examine the same run time execution cycle with run time variable values same as while the application was running in real time. This post debugging mechanism allows regenerating the exact same user scenario where the bug was found, several time until the exact cause is found. We can use this tool to avoid a certain amount of delays caused by those mysterious bugs. QAs can do their regular testing on test environments while the first component is running in background and tracing down the execution cycle. If they come across such a random bug all they have to do is just handover the execution trace file generated by the tool to developers and with the help of the second component of the tool developers can easily debug the issue as they can regenerate the exact run time execution cycle on their development environment. The solution discussed here has been developed using mainly Java Platform Debug Architecture (JPDA), bytecode instrumentation and Eclipse plugin architecture. Currently the solution has been successfully implemented as a set plug-in to the Eclipse IDE for Java standard environment applications (J2SE). In future this tool could be extended to handle any advanced Java framework.
URI: http://hdl.handle.net/123456789/2502
Appears in Collections:Master of Computer Science - 2014

Files in This Item:
File Description SizeFormat 
9440548.pdf
  Restricted Access
1.93 MBAdobe PDFView/Open Request a copy


Items in UCSC Digital Library are protected by copyright, with all rights reserved, unless otherwise indicated.