Date of Award


Document Type

Masters Thesis

Degree Name


Organizational Unit

Daniel Felix Ritchie School of Engineering and Computer Science, Computer Science

First Advisor

Matthew J. Rutherford, Ph.D.

Second Advisor

Chris Gauthier-Dickey

Third Advisor

Davor Balzar


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.

Publication Statement

Copyright is held by the author. User is responsible for all copyright compliance.

Rights Holder

Zachary Ryan Azar


Received from ProQuest

File Format




File Size

164 p.


Computer Science