Memory analysis tools are essential for finding and fixing anomalies in the memory usage of software systems (e.g., memory leaks). Although numerous tools are available, hardly any empirical studies exist on their usefulness for developers in typical usage scenarios. Instead, most evaluations are limited to reporting performance metrics. We thus conducted a study to empirically assess the usefulness of the interactive memory analysis tool AntTracks Analyzer. Specifically, we first report findings from assessing the tool using a cognitive walkthrough, guided by the Cognitive Dimensions of Notations Framework. We then present the results of a qualitative user study involving 14 subjects who used AntTracks to detect and resolve memory anomalies. We report lessons learned from the study and implications for developers of interactive memory analysis tools. We hope that our results will help researchers and developers of memory analysis tools in defining, selecting, and improving tool capabilities.
Concurrent programming can lead to considerable performance gains on modern, parallel hardware when compared to single-core systems. When dealing with parallelization, however, developers have to explicitly address synchronization to safely access shared resources, which is typically achieved with locks. Choosing between simpler but less scalable and more sophisticated but error-prone locking mechanisms is difficult during development. Therefore, lock contention analysis at run time is crucial to aid in such decisions. I would also like to extend my thanks to the Christian Doppler Forschungsgesellschaft and to Dynatrace Austria for funding this work. Finally, I want to thank my friends and especially my family, who supported me during my studies at the Johannes Kepler University. I could not have accomplished all this without you. Thank you very much! Contents vii There are already various lock contention profilers for different languages and scenarios (cf. Chapter 6), but most of them do not capture all necessary information to actually fix any potential performance bottlenecks (e.g., where contention was caused). Those that do cannot universally be applied but rather are restricted to specific environments (e.g., bound to a specific virtual machine implementation) which may be problematic for the use in production systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.