Abstract
AbstractDue to non-deterministic behavior and thread interleaving of concurrent programs, the debugging of concurrency and performance issues is a rather difficult and often tedious task. In this paper, we present an approach that combines statistical profiling, clustering and visualization to facilitate this task. We implemented our approach in a tool which is integrated as a plugin into a widely used IDE. First, we introduce our approach with details on the profiling and clustering strategy that produce runtime metrics and clusters of threads for source-code artifacts at different levels of abstraction (class and method) and the entire program. Next, we explain the design of our visualization which represents the clusters in situ, i.e., embedded in the program text next to the related source-code artifact in the source-code editor. More detailed information is available in separate windows that also allow the user to configure thread filters interactively. In a demonstration study, we illustrate the usefulness of the tool for understanding and fixing performance and concurrency issues. Finally, we report on first formative results from a usability test and consequently implemented tool improvements.
Graphical abstract
Publisher
Springer Science and Business Media LLC
Subject
Electrical and Electronic Engineering,Condensed Matter Physics
Reference46 articles.
1. Alam MMU, Liu T, Zeng G, et al. (2017) Syncperf: Categorizing, detecting, and diagnosing synchronization performance bugs. In: Proceedings of the 12th European Conference on Computer Systems, EuroSys 2017, Belgrade, Serbia, April 23-26, 2017, pp 298–313, https://doi.org/10.1145/3064176.3064186
2. Alcocer JPS, Jaimes HC, Costa D, et al. (2019) Enhancing commit graphs with visual runtime clues. In: proceedings of working conference on software visualization, VISSOFT 2019, Cleveland, OH, USA, September 30 - October 1, 2019. IEEE, pp 28–32, https://doi.org/10.1109/VISSOFT.2019.00012
3. Artho C, Havelund K, Honiden S (2007) Visualization of concurrent program executions. In: proceedings of 31st annual international computer software and applications Conference, COMPSAC 2007, Beijing, China, July 24-27, 2007. Volume 2, pp 541–546, https://doi.org/10.1109/COMPSAC.2007.236
4. Beck F, Moseler O, Diehl S, et al. (2013) In situ understanding of performance bottlenecks through visually augmented code. In: proceedings of IEEE 21st international conference on program comprehension, ICPC 2013, San Francisco, CA, USA, 20-21 May, 2013, pp 63–72, https://doi.org/10.1109/ICPC.2013.6613834
5. Borgo R, Kehrer J, Chung DHS, et al. (2013) Glyph-based visualization: Foundations, design guidelines, techniques and applications. In: Sbert M, Szirmay-Kalos L (eds) 34th Annual Conference of the European Association for Computer Graphics, Eurographics 2013 - State of the Art Reports. Eurographics Association, pp 39–63
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献