[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-151503-en":3,"doc-seo-151503-105":30,"detail-sidebar-cat-0-en-105":92},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":27,"seo_description":14,"update_tm":28,"read_time":29},151503,137451211410,"\tCallum ","https://ap-avatar.wpscdn.com/avatar/2000bb0a9246f588df?x-image-process=image/resize,m_fixed,w_180,h_180&k=1786362646172706240",8,"Research & Report","GoTcha - An Interactive Debugger for GoT-Based Distributed Systems","Debugging distributed systems is difficult because concurrency and non-deterministic communication make failures hard to reproduce and observe. Existing methods often rely on expensive model checking or postmortem analysis of logs and traces, which limits real-time investigation. This paper defines requirements for an interactive debugger in distributed settings, explains how the underlying distributed programming model enables such debugging, and presents GoTcha, a browser-based debugger built on the GoT Global Object Tracker model, including a representative workflow.","GoTcha: An Interactive Debugger for GoT-Based  \nDistributed Systems  \nRohan Achar  \nDonald Bren School of ICS University of California, Irvine Irvine, CA, USA [rachar@ics.uci.edu](rachar@ics.uci.edu)  \nPritha Dawn  \nDonald Bren School of ICS University of California, Irvine Irvine, CA, USA[pdawn@ics.uci.edu](pdawn@ics.uci.edu)  \nCristina V. Lopes  \nDonald Bren School of ICS University of California, Irvine Irvine, CA, USA [lopes@ics.uci.edu](lopes@ics.uci.edu)  \narXiv : 1909 .03 167v 1 [ cs .DC] 7 Sep 2019  \nAbstract  \nDebugging distributed systems is hard. Most of the techniques that have been developed for debugging such systems use either extensive model checking, or postmortem analysis of logs and traces. Interactive debugging is typically a tool that is only effective in single threaded and single process applications, and is rarely applied to distributed systems. While the live observation of state changes using interactive debuggers is effective, it comes with a host of problems in distributed scenarios. In this paper, we discuss the requirements an interactive debugger for distributed systems should meet, the role the underlying distributed model plays in facilitating the debugger, and the implementation of our interactive debugger: GoTcha.  \nGoTcha is a browser based interactive debugger for distributed systems built on the Global Object Tracker (GoT) programming model. We show how the GoT model facilitates the debugger, and the features that the debugger can offer. We also demonstrate a typical debugging workflow.  \nKeywords Debugging Distributed Systems, Interactive Debugging  \n1 Introduction  \nDebugging faults and errors in distributed systems is hard. There are many reasons for the inherent difficulty, and these have been extensively discussed in the literature [Beschastnikh et al. 2016; Schütz 1994; Valadares et al. 2016] . In particular, the non determinism of concurrent computation and communication makes it hard to reliably observe error conditions and failures that expose the bugs in the code. The act of debugging, itself, may change the conditions in the system to hide real errors or expose unrealistic ones.  \nTo mitigate the effects of these difficulties, several approaches have been developed. These approaches range from writing simple but usually inadequate test cases [Ulrich and König 1999], to rigorous but expensive model checking [Yang et al. 2009] and theorem proving [Wilcox et al. 2015] . More recently, techniques such as record and replay [Geels et al. 2006], tracing [Mace et al. 2018], log analysis [Fu et al. 2009], and visualizations [Beschastnikh et al. 2016] have been used to locate bugs by performing postmortem analysis on the execution of distributed systems after errors are encountered.  \nFigure 1. Information propagation in single-thread systems.  \nFigure 2. Information propagation in distributed systems.  \nNone of these tools are interactive debuggers. Interactive debuggers in a single threaded application context are powerful tools that can be used to pause the application at a predetermined predicate (often a line of code in the form of a breakpoint) and observe the state of the variables and the system at that point. They can observe the errors as they happen, and can be quite effective in determining the cause. Controls are often provided to execute each line of code interactively and observe the change of state after each step. Many modern breakpoint debuggers provide the ability to roll back the execution to a line that was already executed. This, along with the ability to mutate the state of the system from the debugger, can be used to execute the same set of lines over again and observe the state changes without having to restart the application.  \nTraditional interactive debuggers, however, become inadequate when used in parallel or distributed systems. Techniques used in single threaded applications do not translate well to a parallel or distributed context because information cre","cbCaisOZhQBqlqye","https://ap.wps.com/l/cbCaisOZhQBqlqye","pdf",854399,1,17,"English","en",105,"# Introduction\n## Background and challenges in debugging distributed systems\n## Existing approaches and their limitations\n# Debugging Distributed Systems\n## Interactive debugging history and survey context\n# GoTcha overview\n## Requirements, debugger design, and implementation approach\n## Evaluation and future directions","[{\"question\":\"Why is interactive debugging harder for distributed systems than for single-threaded programs?\",\"answer\":\"Because information creation and consumption are not sequential, the state changes and error conditions are harder to observe and reproduce reliably in parallel/distributed execution.\"},{\"question\":\"What problem does this paper address for interactive debugging in distributed systems?\",\"answer\":\"It identifies the requirements an interactive debugger must satisfy for distributed settings and explains how an underlying distributed model can make interactive debugging feasible.\"},{\"question\":\"What is GoTcha and what underlying model does it use?\",\"answer\":\"GoTcha is a browser-based interactive debugger for distributed systems built on the Global Object Tracker (GoT) programming model, which supports the debugger’s observations and features.\"}]","GoTcha - An Interactive Debugger for GoT-Based Distributed Systems | PDF",1787841774,43,{"code":4,"msg":31,"data":32},"ok",{"site_id":24,"language":23,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":87,"head_meta":89,"extra_data":91,"updated_unix":28},"gotcha-an-interactive-debugger-for-got-based-distributed-systems","",{"@graph":36,"@context":86},[37,54,69],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/gotcha-an-interactive-debugger-for-got-based-distributed-systems/151503/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":23,"description":14,"dateModified":62,"datePublished":63,"encodingFormat":61,"isAccessibleForFree":64,"interactionStatistic":65},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-09-04","2026-08-27",true,{"@type":66,"interactionType":67,"userInteractionCount":20},"InteractionCounter",{"@type":68},"ViewAction",{"@type":70,"mainEntity":71},"FAQPage",[72,78,82],{"name":73,"@type":74,"acceptedAnswer":75},"Why is interactive debugging harder for distributed systems than for single-threaded programs?","Question",{"text":76,"@type":77},"Because information creation and consumption are not sequential, the state changes and error conditions are harder to observe and reproduce reliably in parallel/distributed execution.","Answer",{"name":79,"@type":74,"acceptedAnswer":80},"What problem does this paper address for interactive debugging in distributed systems?",{"text":81,"@type":77},"It identifies the requirements an interactive debugger must satisfy for distributed settings and explains how an underlying distributed model can make interactive debugging feasible.",{"name":83,"@type":74,"acceptedAnswer":84},"What is GoTcha and what underlying model does it use?",{"text":85,"@type":77},"GoTcha is a browser-based interactive debugger for distributed systems built on the Global Object Tracker (GoT) programming model, which supports the debugger’s observations and features.","https://schema.org",{"og:url":52,"og:type":88,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":90,"canonical":52},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":93},[94,98,102,106,111,116,121,124,129,132,136],{"id":20,"doc_module":4,"doc_module_name":46,"category_name":95,"show_sort_weight":96,"slug":97},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":99,"show_sort_weight":100,"slug":101},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":103,"show_sort_weight":104,"slug":105},"Exam",70,"exam",{"id":107,"doc_module":4,"doc_module_name":46,"category_name":108,"show_sort_weight":109,"slug":110},5,"Comic",60,"comic",{"id":112,"doc_module":4,"doc_module_name":46,"category_name":113,"show_sort_weight":114,"slug":115},6,"Technology",50,"technology",{"id":117,"doc_module":4,"doc_module_name":46,"category_name":118,"show_sort_weight":119,"slug":120},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":122,"slug":123},30,"research-report",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":126,"show_sort_weight":127,"slug":128},9,"Religion & Spirituality",20,"religion-spirituality",{"id":127,"doc_module":4,"doc_module_name":46,"category_name":130,"show_sort_weight":127,"slug":131},"World Cup","world-cup",{"id":133,"doc_module":4,"doc_module_name":46,"category_name":134,"show_sort_weight":133,"slug":135},10,"Lifestyle","lifestyle",{"id":137,"doc_module":4,"doc_module_name":46,"category_name":138,"show_sort_weight":107,"slug":139},19,"General","general"]