Date of Award
Matthew J. Rutherford, Ph.D.
Debugging, Omniscient, Software, Web
Debugging can be an extremely expensive and time-consuming task for a software developer. To find a bug, the developer typically needs to navigate backwards through infected states and symptoms of the bug to find the initial defect. Modern debugging tools are not designed for navigating back-in-time and typically require the user to jump through hoops by setting breakpoints, re-executing, and guessing where errors occur. Omniscient debuggers offer back-in-time debugging capabilities to make this task easier. These debuggers trace the program allowing the user to navigate forwards and backwards through the execution, examine variable histories, and visualize program data and control flow. Presented in this thesis is PECCit, an omniscient debugger designed for backend web development. PECCit traces web frameworks remotely and provides a browser-based IDE to navigate through the trace. The user can even watch a preview of the web page as it's being built line-by-line using a novel feature called capturing. To evaluate, PECCit was used to debug real-world problems provided by users of two Content Management Systems: WordPress and Drupal. In these case studies, PECCit's features and debugging capabilities are demonstrated and contrasted with standard debugging techniques.
Azar, Zachary Ryan, "PECCit: An Omniscient Debugger for Web Development" (2016). Electronic Theses and Dissertations. 1099.
Received from ProQuest
Zachary Ryan Azar