A Novel Method for Live Debugging of Production Web Applications by Dynamic Resource Replacement
Authors: Khalid Al-Tahat, Khaled Zuhair Mahmoud, Ahmad Al-Mughrabi
Abstract:
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.
Keywords: Live debugging, web application, web resources, inconsistent bugs, tracing.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1095999
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 2031References:
[1] E. W. Dijkstra, Notes on Structured Programming,Editors, Academic Press, London, pp. 1-82,1972
[2] Ehud Y. Shapiro, Algorithmic Program Debugging, MIT Press, Cam-bridge, MA, 1983.
[3] B.Hailpern, P. Santhanam, Software debugging, testing, and verification,IBM Systems Journal, 2002, Vol.41, Issue.1.
[4] Lewish, G. Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley, Boston(2003).
[5] 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).
[6] 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
[7] F.Tip, emphA Survey of Program Slicing Techniques,Technical Report, CWI, Amsterdam, The Netherlands, 1994.
[8] M. Weiser, emphProgram slices: formal, psychological, and practical investigations of an automatic program abstraction method, PhD thesis, University of Michigan, Ann Arbor, 1979.
[9] 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