LeakChaser: Helping programmers narrow down causes of memory leaks

G Xu, MD Bond, F Qin, A Rountev - Proceedings of the 32nd ACM …, 2011 - dl.acm.org
In large programs written in managed languages such as Java and C#, holding
unnecessary references often results in memory leaks and bloat, degrading significantly …

Finding reusable data structures

G Xu - ACM SIGPLAN Notices, 2012 - dl.acm.org
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 …

Tardis: Affordable time-travel debugging in managed runtimes

ET Barr, M Marron - ACM SIGPLAN Notices, 2014 - dl.acm.org
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 …

Heapviz: interactive heap visualization for program understanding and debugging

EE Aftandilian, S Kelley, C Gramazio, N Ricci… - Proceedings of the 5th …, 2010 - dl.acm.org
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 …

Perfblower: Quickly detecting memory-related performance problems via amplification

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 …

Calling-to-reference context translation via constraint-guided CFL-reachability

C Cai, Q Zhang, Z Zuo, K Nguyen, G Xu, Z Su - ACM SIGPLAN Notices, 2018 - dl.acm.org
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 …

JFeature: Know Your Corpus

I Riouak, G Hedin, C Reichenbach… - 2022 IEEE 22nd …, 2022 - ieeexplore.ieee.org
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 …

C‐strider: type‐aware heap traversal for C

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 …

Software ticks need no specifications

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 …

Next-paradigm programming languages: What will they look like and what changes will they bring?

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 …