Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.
Published August 1, 2014 | Version 9999358
Journal article Open

A Novel Method for Live Debugging of Production Web Applications by Dynamic Resource Replacement

Description

This paper proposes a novel methodology for enabling
debugging and tracing of production web applications without
affecting its normal flow and functionality. This method of debugging
enables developers and maintenance engineers to replace a set of
existing resources such as images, server side scripts, cascading
style sheets with another set of resources per web session. The new
resources will only be active in the debug session and other sessions
will not be affected. This methodology will help developers in tracing
defects, especially those that appear only in production environments
and in exploring the behaviour of the system. A realization of the
proposed methodology has been implemented in Java.

Files

9999358.pdf

Files (158.7 kB)

Name Size Download all
md5:592dc2b6bc1066e392bade173735dae9
158.7 kB Preview Download

Additional details

References

  • E. W. Dijkstra, Notes on Structured Programming,Editors, Academic Press, London, pp. 1-82,1972
  • Ehud Y. Shapiro, Algorithmic Program Debugging, MIT Press, Cam-bridge, MA, 1983.
  • B.Hailpern, P. Santhanam, Software debugging, testing, and verification,IBM Systems Journal, 2002, Vol.41, Issue.1.
  • Lewish, G. Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley, Boston(2003).
  • B. Hailpern, P. Santhanam, IEEE Guide to the Use of IEEE Standard Dictionary of Measures to Produce Reliable Software, IEEE Standard 982.2-1988, IEEE, New York (1989).
  • R.McCauleya, .Fitzgeraldb, G.Lewandowskic, L.Murphyd, B.Simone, L.Thomasf and C.Zanderg , emphDebugging- A Review of the literature from an educational perspective, Computer Science Education, pages 67-92,Volume 18, No. 2,June 2008
  • F.Tip, emphA Survey of Program Slicing Techniques,Technical Report, CWI, Amsterdam, The Netherlands, 1994.
  • M. Weiser, emphProgram slices: formal, psychological, and practical investigations of an automatic program abstraction method, PhD thesis, University of Michigan, Ann Arbor, 1979.
  • M. Weiser, emphProgrammers use slices when debugging, Communications of the ACM, pages 446-452 Volume 5, Issue 7 1982. [10] 10- M. Weiser, Program slicing, IEEE Transactions on Software Engineering, 352357, Volume 10, Issue 4 ,1984. [11] J. Ferrante, K.J. Ottenstein, and J.D. Warren, The program dependence graph and its use in optimization, ACM Transactions on Programming Languages and Systems, pages 319-349, Volume 9, Issue , 1987. [12] F. Bergeretti and B.A. Carre, Information-flow and data-flow analysis of while-programs, ACM Transactions on Programming Languages and Systems, 3761, Volume 7, Issue 1 ,1985. [13] N.Rodrigues, emphComponent Identification Through Program Slicing, Electronic Notes in Theoretical Computer Science, pages 291304 Volume 160, 8 August 2006. [14] T.Amtoft, Slicing for modern program structures: a theory for eliminating irrelevant loops, Information Processing Letters, Pages 45-51, Volume 106, Issue 2, 15 April 2008. [15] D.Qi, A.Roychoudhury, Z.Liang, and K.Vaswani, DARWIN: An approach to debugging evolving programs,ACM Transactions on Software Methodolgy Methodology, Volume 21, Issue 3 ,July 2012 [16] C.Zamfir, B.Kasikci, J.Kinder, E.Bugnion, G.Candea, Automated debugging for arbitrarily long executions, In Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems (HotOS'13). USENIX Association, Berkeley, CA, USA,Year:2013. [17] D.Abramson, C.Chu, D.Kurniawan1, A.Searle, emphRelative debugging in integrated development environment, SoftwarePractice and Experience , pages1157–1183. Volume 39, Issue 14, Year 2009. [18] J.Kabanov, JRebel Tool Demo, Electronic Notes in Theoretical Computer Science Volume 264 Issue.14, Year 2011. [19] JRebel Website, zeroturnaround.com/software/jrebel, 5/5/2014 [20] Servlet Filters, http://www.oracle.com/technetwork/java/filters-137243.html, 5/5/2014