Refine
Has Fulltext
- no (5)
Document Type
- Article (5) (remove)
Language
- English (5)
Is part of the Bibliography
- yes (5)
Keywords
- JavaScript (2)
- CoExist (1)
- ContextErlang (1)
- Distributed debugging (1)
- Dynamic analysis (1)
- Implementation (1)
- Lively Kernel (1)
- Object Versioning (1)
- Programming Environments (1)
- Record and refinement (1)
- Record and replay (1)
- Smalltalk (1)
- Squeak (1)
- Web browsers (1)
- active layers (1)
- collection types (1)
- context groups (1)
- contextual-variability modeling (1)
- dynamic typing (1)
- entity-component-system (1)
- group-based behavior adaptation (1)
- implied methods (1)
- lively groups (1)
- memory optimization (1)
- object-oriented languages (1)
- predicated generic functions (1)
- reactive object queries (1)
- software development (1)
- software engineering (1)
Distributed applications are hard to debug because timing-dependent network communication is a source of non-deterministic behavior. Current approaches to debug non deterministic failures include post-mortem debugging as well as record and replay. However, the first impairs system performance to gather data, whereas the latter requires developers to understand the timing-dependent communication at a lower level of abstraction than they develop at. Furthermore, both approaches require intrusive core library modifications to gather data from live systems. In this paper, we present the Peek-At-Talk debugger for investigating non-deterministic failures with low overhead in a systematic, top-down method, with a particular focus on tool-building issues in the following areas: First, we show how our debugging framework Path Tools guides developers from failures to their root causes and gathers run-time data with low overhead. Second, we present Peek-At-Talk, an extension to our Path Tools framework to record non-deterministic communication and refine behavioral data that connects source code with network events. Finally, we scope changes to the core library to record network communication without impacting other network applications.