A big source of run-time performance problems in large-scale, object-oriented applications is the frequent creation of data structures (by the same allocation site) whose lifetimes are …
Developers who set a breakpoint a few statements too late or who are trying to diagnose a subtle bug from a single core dump often wish for a time-traveling debugger. The ability to …
Understanding the data structures in a program is crucial to understanding how the program works, or why it doesn't work. Inspecting the code that implements the data structures …
L Fang, L Dou, G Xu - 29th European Conference on Object …, 2015 - drops.dagstuhl.de
Performance problems in managed languages are extremely difficult to find. Despite many efforts to find those problems, most existing work focuses on how to debug a user-provided …
A calling context is an important piece of information used widely to help developers understand program executions (eg, for debugging). While calling contexts offer useful …
Software corpora are crucial for evaluating research artifacts and ensuring repeatability of outcomes. Corpora such as DaCapo and Defects4J provide a collection of real-world open …
K Saur, M Hicks, JS Foster - Software: Practice and Experience, 2016 - Wiley Online Library
Researchers have proposed many tools and techniques that work by traversing the heap, including checkpointing systems, heap profilers, heap assertion checkers, and dynamic …
C Reichenbach - … IEEE/ACM 43rd International Conference on …, 2021 - ieeexplore.ieee.org
Software bugs cost time, money, and lives. They drive software research and development efforts, and are central to modern software engineering. Yet we lack a clear and general …
Y Smaragdakis - Proceedings of the 2019 ACM SIGPLAN International …, 2019 - dl.acm.org
The dream of programming language design is to bring about orders-of-magnitude productivity improvements in software development tasks. Designers can endlessly debate …