skip to main content
research-article

Guided Exploration: A Method for Guiding Novice Users in Interactive Memory Monitoring Tools

Published:29 May 2021Publication History
Skip Abstract Section

Abstract

Many monitoring tools that help developers in analyzing the run-time behavior of their applications share a common shortcoming: they require their users to have a fair amount of experience in monitoring applications to understand the used terminology and the available analysis features. Consequently, novice users who lack this knowledge often struggle to use these tools efficiently. In this paper, we introduce the guided exploration (GE) method that aims to make interactive monitoring tools easier to use and learn. In general, tools that implement GE should provide four support operations on each analysis step: they should automatically (1) detect and (2) highlight the most important information on the screen, (3) explain why it is important, and (4) suggest which next steps are appropriate. This way, tools guide users through their analysis processes, helping them to explore the root cause of a problem. At the same time, users learn the capabilities of the tool and how to use them efficiently. We show how GE can be implemented in new monitoring tools as well as how it can be integrated into existing ones. To demonstrate GE's feasibility and usefulness, we present how we extended the memory monitoring tool AntTracks to provided guided exploration support during memory leak analysis and memory churn analysis. We use these guidances in two user scenarios to inspect and improve the memory behavior of the monitored applications. We hope that our contribution will help usability researchers and developers in making monitoring tools more novice-friendly by improving their usability and learnability.

References

  1. Alain Abran, Adel Khelifi, Witold Suryn, and Ahmed Seffah. 2003. Usability Meanings and Interpretations in ISO Standards . Software Quality Journal , Vol. 11, 4 (2003), 325--338. https://doi.org/10.1023/A:1025869312943 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Tarek M. Ahmed, Cor-Paul Bezemer, Tse-Hsun Chen, Ahmed E. Hassan, and Weiyi Shang. 2016. Studying the Effectiveness of Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications: An Experience Report. In Proceedings of the 13th International Conference on Mining Software Repositories (MSR). 1--12. https://doi.org/10.1145/2901739.2901774 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sebastian Baltes, Peter Schmitz, and Stephan Diehl. 2014. Linking Sketches and Diagrams to Source Code Artifacts. In Proceedings of the 22nd ACM SIGSOFT International Symp. on Foundations of Software Engineering (FSE). 743--746. https://doi.org/10.1145/2635868.2661672 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. André Bauer, Marwin Zü fle, Johannes Grohmann, Norbert Schmitt, Nikolas Herbst, and Samuel Kounev. 2020. An Automated Forecasting Framework based on Method Recommendation for Seasonal Time Series. In Proceedings of the ACM/SPEC International Conference on Performance Engineering (ICPE). ACM , 48--55. https://doi.org/10.1145/3358960.3379123 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Verena Bitto, Philipp Lengauer, and Hanspeter Mö ssenbö ck. 2015. Efficient Rebuilding of Large Java Heaps from Event Traces. In Proceedings of the Principles and Practices of Programming on The Java Platform (PPPJ). 76--89. https://doi.org/10.1145/2807426.2807433 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Alan Blackwell and Thomas Green. 2003. CHAPTER 5 - Notational Systems - The Cognitive Dimensions of Notations Framework . In HCI Models, Theories, and Frameworks. Morgan Kaufmann, 103 -- 133. https://doi.org/10.1016/B978--155860808--5/50005--8Google ScholarGoogle Scholar
  7. Grady Booch, James E. Rumbaugh, and Ivar Jacobson. 2005. The Unified Modeling Language User Guide - Covers UML 2.0 (Second Edition). Addison-Wesley . Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Adriana E. Chis. 2008. Automatic Detection of Memory Anti-Patterns. In Comp. to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 925--926. https://doi.org/10.1145/1449814.1449911 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Adriana E. Chis, Nick Mitchell, Edith Schonberg, Gary Sevitsky, Patrick O'Sullivan, Trevor Parsons, and John Murphy. 2011. Patterns of Memory Inefficiency. In Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP). 383--407. https://doi.org/10.1007/978--3--642--22655--7_18 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Maria Christakis and Christian Bird. 2016. What Developers Want and Need from Program Analysis: An Empirical Study. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). 332--343. https://doi.org/10.1145/2970276.2970347 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jü rgen Cito, Philipp Leitner, Christian Bosshard, Markus Knecht, Genc Mazlami, and Harald C. Gall. 2018. PerformanceHat: Augmenting Source Code with Runtime Performance Traces in the IDE. In Comp. of the 40th International Conference on Software Engineering (ICSE). 41--44. https://doi.org/10.1145/3183440.3183481 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Christopher Dryer. 1997. Wizards, Guides, and Beyond: Rational and Empirical Methods for Selecting Optimal Intelligent User Interface Agents . In Proceedings of the 2nd International Conference on Intelligent User Interfaces (IUI). 265--268. https://doi.org/10.1145/238218.238347 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Bruno Dufour, Karel Driesen, Laurie Hendren, and Clark Verbrugge. 2003. Dynamic Metrics for Java. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA). 149--168. https://doi.org/10.1145/949305.949320 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dynatrace. 2017. Demo Applications: easyTravel. https://community.dynatrace.com/community/display/DL/DemoGoogle ScholarGoogle Scholar
  15. ApplicationsGoogle ScholarGoogle Scholar
  16. -Google ScholarGoogle Scholar
  17. easyTravelGoogle ScholarGoogle Scholar
  18. Michael D. Ernst. 2003. Static and Dynamic Analysis: Synergy and Duality. In Workshop on Dynamic Analysis (WODA). 24--27. https://homes.cs.washington.edu/ mernst/pubs/staticdynamic-woda2003.pdfGoogle ScholarGoogle Scholar
  19. Alexander Felfernig, Gerald Ninaus, Harald Grabner, Florian Reinfrank, Leopold Weninger, Dennis Pagano, and Walid Maalej. 2013. An Overview of Recommender Systems in Requirements Engineering . In Managing Requirements Knowledge. 315--332. https://doi.org/10.1007/978--3--642--34419-0_14Google ScholarGoogle Scholar
  20. Florian Fittkau, Phil Stelzer, and Wilhelm Hasselbring. 2014. Live Visualization of Large Software Landscapes for Ensuring Architecture Conformance. In Proceedings of the Workshops & Tool Demos Track of the European Conference on Software Architecture (ECSAW). 28:1--28:4. https://doi.org/10.1145/2642803.2642831 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Eelke Folmer and Jan Bosch. 2003. Usability Patterns in Software Architecture. In Proceedings of the 10th International Conference on Human-Computer Interaction (HCII). 93--97. https://doi.org/10.1109/DSAA.2018.00057Google ScholarGoogle Scholar
  22. Tak-Chung Fu. 2011. A Review on Time Series Data Mining . Eng. Appl. Artif. Intell. , Vol. 24, 1 (2011), 164--181. https://doi.org/10.1016/j.engappai.2010.09.007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Erich Gamma, Richard Helm, Ralph E. Johnson, and John M. Vlissides. 1993. Design Patterns: Abstraction and Reuse of Object-Oriented Design. In Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP). 406--431. https://doi.org/10.1007/3--540--47910--4_21 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Josefina Guerrero Garc'i a, Jean Vanderdonckt, and Christophe Lemaigre. 2008. Identification Criteria in Task Modeling. In Proceedings of the 1st TC 13 IFIP Human-Computer Interaction Symposium (HCIS) , Vol. 272. 7--20. https://doi.org/10.1007/978-0--387-09678-0_2Google ScholarGoogle Scholar
  25. Bernhard Göschlberger and Peter A. Bruck. 2017. Gamification in Mobile and Workplace Integrated Microlearning. In Proceedings of the 19th International Conference on Information Integration and Web-based Applications & Services (iiWAS) (Salzburg, Austria). 545--552. https://doi.org/10.1145/3151759.3151795 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Juho Hamari, Jonna Koivisto, and Harri Sarsa. 2014. Does Gamification Work? - A Literature Review of Empirical Studies on Gamification. In Proceedings of the 47th Hawaii International Conference on System Sciences (HICSS). 3025--3034. https://doi.org/10.1109/HICSS.2014.377 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. William E. Hefley and Dianne Murray. 1993. Intelligent User Interfaces. In Proceedings of the 1st International Conference on Intelligent User Interfaces (IUI). 3--10. https://doi.org/10.1145/169891.169892 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Matthew Hertz, Stephen M. Blackburn, J. Eliot B. Moss, Kathryn S. McKinley, and Darko Stefanovic. 2006. Generating Object Lifetime Traces with Merlin . ACM Trans. Program. Lang. Syst. , Vol. 28, 3 (2006), 476--516. https://doi.org/10.1145/1133651.1133654 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Peter Hofer, David Gnedt, Andreas Schö rgenhumer, and Hanspeter Mö ssenbö ck. 2016. Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine Level. In Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering (ICPE). 263--274. https://doi.org/10.1145/2851553.2851559 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Andreas Holzinger. 2005. Usability Engineering Methods for Software Developers . Commun. ACM , Vol. 48, 1 (2005), 71--74. https://doi.org/10.1145/1039539.1039541 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Michal Hucko, Ladislav Gazo, Peter Simú n, Matej Valky, Ró bert Mó ro, Jakub Simko, and Má ria Bieliková. 2019. YesElf: Personalized Onboarding for Web Applications. In Adjunct Publication of the 27th Conference on User Modeling, Adaptation and Personalization (UMAP). 39--44. https://doi.org/10.1145/3314183.3324978 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Alejandro Infante and Alexandre Bergel. 2017. Object Equivalence: Revisiting Object Equality Profiling (An Experience Report). In Proceedings of the 13th ACM SIGPLAN International Symp. on Dynamic Languages (DLS). 27--38. https://doi.org/10.1145/3133841.3133844 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. V. López Jaquero, F. Montero, J.P. Molina, and P. González. 2009. Intelligent User Interfaces: Past, Present and Future. Springer London, 1--12. https://doi.org/10.1007/978--1--84800--136--7_18Google ScholarGoogle Scholar
  34. Monique W. M. Jaspers, Thiemo Steen, Cor van den Bos, and Maud M. Geenen. 2004. The Think Aloud Method: A Guide to User Interface Design . I. J. Medical Informatics , Vol. 73, 11--12 (2004), 781--795. https://doi.org/10.1016/j.ijmedinf.2004.08.003Google ScholarGoogle Scholar
  35. Zhen Ming Jiang, Ahmed E. Hassan, Gilbert Hamann, and Parminder Flora. 2009. Automated Performance Analysis of Load Tests. In Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM). 125--134. https://doi.org/10.1109/ICSM.2009.5306331Google ScholarGoogle ScholarCross RefCross Ref
  36. Brittany Johnson, Yoonki Song, Emerson R. Murphy-Hill, and Robert W. Bowdidge. 2013. Why Don't Software Developers Use Atatic Analysis Tools to Find Bugs?. In Proceedings of the 35th International Conference on Software Engineering (ICSE). 672--681. https://doi.org/10.1109/ICSE.2013.6606613 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Vivien Johnston. 2019. A Framework for the Development of a Dynamic Adaptive Intelligent User Interface to Enhance the User Experience. In Proceedings of the 31st European Conference on Cognitive Ergonomics (ECCE). 32--35. https://doi.org/10.1145/3335082.3335125 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Reiner Jung and Marc Adolf. 2018. The JPetStore Suite: A Concise Experiment Setup for Research. In Proceedings of the 9th Symposium on Software Performance (SSP). http://eprints.uni-kiel.de/48775/Google ScholarGoogle Scholar
  39. Reiner Jung, Marc Adolf, and Christoph Dornieden. 2017. Towards Extracting Realistic User Behavior Models . Softwaretechnik-Trends , Vol. 37, 3 (2017). http://eprints.uni-kiel.de/40365/Google ScholarGoogle Scholar
  40. Marius Koller and Gerrit Meixner. 2016. Task Models in Practice: Are There Special Requirements for the Use in Daily Work?. In Proceedings of 18th International Conference on Human-Computer Interaction (HCI) - Theory, Design, Development and Practice. 488--497. https://doi.org/10.1007/978--3--319--39510--4_45 Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Steinar Kristoffersen. 2008. Learnability and Robustness of User Interfaces. Towards a Formal Analysis of Usability Design Principles. In Proceedings of the 3rd International Conference on Software and Data Technologies (ICSOFT), Volume SE/MUSE/GSDCA. 261--268.Google ScholarGoogle Scholar
  42. Philipp Lengauer, Verena Bitto, Stefan Fitzek, Markus Weninger, and Hanspeter Mö ssenbö ck. 2016b. Efficient Memory Traces with Full Pointer Information. In Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ). 4:1--4:11. https://doi.org/10.1145/2972206.2972220 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Philipp Lengauer, Verena Bitto, and Hanspeter Mö ssenbö ck. 2015. Accurate and Efficient Object Tracing for Java Applications. In Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering (ICPE). 51--62. https://doi.org/10.1145/2668930.2688037 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Philipp Lengauer, Verena Bitto, and Hanspeter Mö ssenbö ck. 2016a. Efficient and Viable Handling of Large Object Traces. In Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering (ICPE). 249--260. https://doi.org/10.1145/2851553.2851555 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Philipp Lengauer, Verena Bitto, Hanspeter Mö ssenbö ck, and Markus Weninger. 2017. A Comprehensive Java Benchmark Study on Memory and Garbage Collection Behavior of DaCapo, DaCapo Scala, and SPECjvm2008. In Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering (ICPE). 3--14. https://doi.org/10.1145/3030207.3030211 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Jinbo Li, Hesam Izakian, Witold Pedrycz, and Iqbal Jamal. 2021. Clustering-based Anomaly Detection in Multivariate Time Series Data . Appl. Soft Comput. , Vol. 100 (2021), 106919. https://doi.org/10.1016/j.asoc.2020.106919Google ScholarGoogle ScholarCross RefCross Ref
  47. Jie Liang and Mao Lin Huang. 2010. Highlighting in Information Visualization: A Survey. In Proceedings of the 14th International Conference on Information Visualisation (IV). 79--85. https://doi.org/10.1109/IV.2010.21 Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Quentin Limbourg and Jean Vanderdonckt. 2003. The Handbook of Task Analysis for Human-Computer Interaction. CRC Press, Chapter Comparing Task Models for User Interface Design, 135--154.Google ScholarGoogle Scholar
  49. V'i ctor Ló pez-Jaquero and Francisco Montero Simarro. 2007. Comprehensive Task and Dialog Modelling. In Proceedings of the 12th International Conference on Human-Computer Interaction (HCI) - Interaction Design and Usability , Vol. 4550. Springer, 1149--1158. https://doi.org/10.1007/978--3--540--73105--4_125 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Darko Marinov and Robert O'Callahan. 2003. Object Equality Profiling. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA). 313--325. https://doi.org/10.1145/949305.949333 Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Evan K. Maxwell, Godmar Back, and Naren Ramakrishnan. 2010. Diagnosing Memory Leaks using Graph Mining on Heap Dumps. In Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 115--124. https://doi.org/10.1145/1835804.1835822 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Mark T. Maybury. 1999. Intelligent User Interfaces: An Introduction. In Proceedings of the 4th International Conference on Intelligent User Interfaces (IUI). 3--4. https://doi.org/10.1145/291080.291081 Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Karen L. McGraw and Bruce A. McGraw. 1997. Wizards, Coaches, Advisors, and More: A Performance Support Primer. In Ext. Abstr. on Human Factors in Computing Systems (Atlanta, Georgia). 152--153. https://doi.org/10.1145/1120212.1120318 Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Gerrit Meixner, Marc Seissler, and Kai Breiner. 2011. Model-Driven Useware Engineering . In Model-Driven Development of Advanced User Interfaces. 1--26. https://doi.org/10.1007/978--3--642--14562--9_1Google ScholarGoogle Scholar
  55. MyBatis. 2016. JPetStore. http://mybatis.org/jpetstore-6/Google ScholarGoogle Scholar
  56. Raymond H Myers and Raymond H Myers. 1990. Classical and modern regression with applications. Vol. 2. Duxbury press Belmont, CA.Google ScholarGoogle Scholar
  57. Jakob Nielsen. 1993. Usability Engineering. Academic Press . Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Mie Nørgaard and Kasper Hornbæk. 2006. What do Usability Evaluators do in Practice?: An Explorative Study of Think-aloud Testing. In Proceedings of the Conference on Designing Interactive Systems (DIS). 209--218. https://doi.org/10.1145/1142405.1142439 Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Oracle. 2020. VisualVM: All-in-One Java Troubleshooting Tool. https://visualvm.github.io/Google ScholarGoogle Scholar
  60. J. D. Ornelas, J. C. Silva, and J. L. Silva. 2016. USS: User support system. In Proceedings of the 11th Iberian Conference on Information Systems and Technologies (CISTI). 1--6. https://doi.org/10.1109/CISTI.2016.7521412Google ScholarGoogle Scholar
  61. Fabio Paternò , Cristiano Mancini, and Silvia Meniconi. 1997. ConcurTaskTrees: A Diagrammatic Notation for Specifying Task Models. In Proceedings of the IFIP TC13 International Conference on Human-Computer Interaction (INTERACT). 362--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Wim De Pauw and Gary Sevitsky. 1999. Visualizing Reference Patterns for Solving Memory Leaks in Java. In Proceedings of the 13th European Conference on Object-Oriented Programming (ECOOP). 116--134. https://doi.org/10.1007/3--540--48743--3_6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Manjula Peiris and James H. Hill. 2016. Automatically Detecting "Excessive Dynamic Memory Allocations" Software Performance Anti-Pattern. In Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering (ICPE). 237--248. https://doi.org/10.1145/2851553.2851563 Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tuma, Martin Studener, Lubom'i r Bulej, Yudi Zheng, Alex Villazó n, Doug Simon, Thomas Wü rthinger, and Walter Binder. 2019. Renaissance: Benchmarking Suite for Parallel Applications on the JVM. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 31--47. https://doi.org/10.1145/3314221.3314637 Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Rick Rabiser, Sam Guinea, Michael Vierhauser, Luciano Baresi, and Paul Grü nbacher. 2017. A Comparison Framework for Runtime Monitoring Approaches . J. Syst. Softw. , Vol. 125 (2017), 309--321. https://doi.org/10.1016/j.jss.2016.12.034 Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Rick Rabiser, Klaus Schmid, Holger Eichelberger, Michael Vierhauser, Sam Guinea, and Paul Grü nbacher. 2019. A Domain Analysis of Resource and Requirements Monitoring: Towards a Comprehensive Model of the Software Monitoring Domain . Inf. Softw. Technol. , Vol. 111 (2019), 86--109. https://doi.org/10.1016/j.infsof.2019.03.013Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Mukund Raghothaman, Sulekha Kulkarni, Kihong Heo, and Mayur Naik. 2018. User-Guided Program Reasoning Using Bayesian Inference. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 722--735. https://doi.org/10.1145/3192366.3192417 Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Shaina Raza and Chen Ding. 2019. Progress in Context-aware Recommender Systems - An Overview . Comput. Sci. Rev. , Vol. 31 (2019), 84--97. https://doi.org/10.1016/j.cosrev.2019.01.001Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Steven P. Reiss. 2009. Visualizing the Java Heap to Detect Memory Problems. In Proceedings of the 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT). 73--80. https://doi.org/10.1109/VISSOF.2009.5336418Google ScholarGoogle ScholarCross RefCross Ref
  70. J. Renz, T. Staubitz, J. Pollak, and C. Meinel. 2014. Improving the Onboarding User Experience in MOOCs. In Proceedings of the 6th International Conference on Education and New Learning Technologies (EDULEARN) (Barcelona, Spain). 3931--3941.Google ScholarGoogle Scholar
  71. Nathan P. Ricci, Samuel Z. Guyer, and J. Eliot B. Moss. 2011. Elephant Tracks: Generating Program Traces with Object Death Records. In Proceedings of the 9th International Conference on Principles and Practice of Programming in Java (PPPJ). 139--142. https://doi.org/10.1145/2093157.2093178 Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Nathan P. Ricci, Samuel Z. Guyer, and J. Eliot B. Moss. 2013. Elephant Tracks: Portable Production of Complete and Precise GC Traces. In Proceedings of the International Symposium on Memory Management (ISMM). 109--118. https://doi.org/10.1145/2491894.2466484 Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Cynthia K. Riemenschneider and Bill C. Hardgrave. 2001. Explaining Software Development Tool Use with the Technology Acceptance Model . Journal of Computer Information Systems (JCIS) , Vol. 41, 4 (2001), 1--8. https://www.tandfonline.com/doi/abs/10.1080/08874417.2001.11647015Google ScholarGoogle Scholar
  74. Roger C Schank, Tamara R Berman, and Kimberli A Macpherson. 1999. Learning by Doing . Instructional-design theories and models: A new paradigm of instructional theory , Vol. 2, 2 (1999), 161--181.Google ScholarGoogle Scholar
  75. Andreas Schö rgenhumer, Peter Hofer, David Gnedt, and Hanspeter Mö ssenbö ck. 2017. Efficient Sampling-based Lock Contention Profiling for Java. In Proceedings of the 8th ACM/SPEC International Conference on Performance Engineering (ICPE). 331--334. https://doi.org/10.1145/3030207.3030234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Andreas Schö rgenhumer, Mario Kahlhofer, Paul Grü nbacher, and Hanspeter Mö ssenbö ck. 2019. Can we Predict Performance Events with Time Series Data from Monitoring Multiple Systems?. In Companion of the ACM/SPEC International Conference on Performance Engineering ICPE . 9--12. https://doi.org/10.1145/3302541.3313101 Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Andreas Schörgenhumer. 2017. Efficient Sampling-based Lock Contention Profiling in Java. Master's thesis. Johannes Kepler University, Institute for System Software. https://epub.jku.at/obvulihs/content/titleinfo/1825350Google ScholarGoogle Scholar
  78. Connie U. Smith and Lloyd G. Williams. 2000. Software Performance Antipatterns. In Proceedings of the Second International Workshop on Software and Performance (WOSP). 127--136. https://doi.org/10.1145/350391.350420 Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Ken Soong, Xin Fu, and Yang Zhou. 2018. Optimizing New User Experience in Online Services. In Proceedings of the 5th IEEE International Conference on Data Science and Advanced Analytics (DSAA). 442--449. https://doi.org/10.1109/DSAA.2018.00057Google ScholarGoogle ScholarCross RefCross Ref
  80. Miroslaw Staron, Wilhelm Meding, Jö rgen Hansson, Christoffer Hö glund, Kent Niesel, and Vilhelm Bergmann. 2014. Dashboards for Continuous Monitoring of Quality for Software Product under Development . In Relating System Quality and Software Architecture. 209--229. https://doi.org/10.1016/b978-0--12--417009--4.00008--9Google ScholarGoogle Scholar
  81. Piyawadee Noi Sukaviriya and James D. Foley. 1990. Coupling a UI Framework with Automatic Generation of Context-Sensitive Animated Help. In Proceedings of the 3rd Annual ACM Symp. on User Interface Software and Technology (UIST). 152--166. https://doi.org/10.1145/97924.97942 Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Claudia Szabo. 2015. Novice Code Understanding Strategies during a Software Maintenance Assignment. In Proceedings of the 37th IEEE/ACM International Conference on Software Engineering (ICSE). 276--284. https://doi.org/10.1109/ICSE.2015.341 Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. textEclipse Foundation. 2020. Eclipse Memory Analyzer (MAT). https://www.eclipse.org/mat/Google ScholarGoogle Scholar
  84. Doug Tidwell and Jeanette Fuccella. 1997. TaskGuides: Instant Wizards on the Web. In Proceedings of the 15th Annual International Conference on Computer Documentation (SIGDOC). 263--272. https://doi.org/10.1145/263367.263401 Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Omer Tripp, Salvatore Guarnieri, Marco Pistoia, and Aleksandr Aravkin. 2014. ALETHEIA: Improving the Usability of Static Security Analysis. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security (CCS). 762--774. https://doi.org/10.1145/2660267.2660339 Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Jinshui Wang, Xin Peng, Zhenchang Xing, and Wenyun Zhao. 2011. An Exploratory Study of Feature Location Process: Distinct Phases, Recurring Patterns, and Elementary Actions. In Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM). 213--222. https://doi.org/10.1109/ICSM.2011.6080788 Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Qingsong Wen, Jingkun Gao, Xiaomin Song, Liang Sun, Huan Xu, and Shenghuo Zhu. 2019. RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series. In Proceedings of the Thirty-Third Conference on Artificial Intelligence (AAAI). 5409--5416. https://doi.org/10.1609/aaai.v33i01.33015409Google ScholarGoogle ScholarCross RefCross Ref
  88. Markus Weninger et almbox. 2020 a. AntTracks. http://mevss.jku.at/AntTracksGoogle ScholarGoogle Scholar
  89. Markus Weninger, Elias Gander, and Hanspeter Mö ssenbö ck. 2018a. Analyzing the Evolution of Data Structures Over Time in Trace-Based Offline Memory Monitoring. In Proceedings of the 9th Symp. on Software Performance (SSP). 64--66. http://pi.informatik.uni-siegen.de/stt/39_3/01_Fachgruppenberichte/SSP18/WeningerGanderMoessenboeck18.pdfGoogle ScholarGoogle Scholar
  90. Markus Weninger, Elias Gander, and Hanspeter Mö ssenbö ck. 2018b. Utilizing Object Reference Graphs and Garbage Collection Roots to Detect Memory Leaks in Offline Memory Monitoring. In Proceedings of the 15th International Conference on Managed Languages & Runtimes (ManLang). 14:1--14:13. https://doi.org/10.1145/3237009.3237023 Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Markus Weninger, Elias Gander, and Hanspeter Mö ssenbö ck. 2019 a. Analyzing Data Structure Growth Over Time to Facilitate Memory Leak Detection. In Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering (ICPE). 273--284. https://doi.org/10.1145/3297663.3310297 Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Markus Weninger, Elias Gander, and Hanspeter Mö ssenbö ck. 2019 b. Detection of Suspicious Time Windows In Memory Monitoring. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR). 95--104. https://doi.org/10.1145/3357390.3361025 Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Markus Weninger, Elias Ganer, and Hanspeter Mössenböck. 2020 b. Investigating High Memory Churn via Object Lifetime Analysis to Improve Software Performance. In Proceedings of the 11th Symp. on Software Performance (SSP). http://pi.informatik.uni-siegen.de/stt/39_4/01_Fachgruppenberichte/SSP2019/SSP2019_Weninger.pdfGoogle ScholarGoogle Scholar
  94. Markus Weninger, Paul Grünbacher, Elias Gander, and Andreas Schörgenhumer. 2020 c. Evaluating an Interactive Memory Analysis Tool: Findings from a Cognitive Walkthrough and a User Study . Proc. ACM Hum.-Comput. Interact. , Vol. 4, EICS, Article 75 (June 2020), bibinfonumpages37 pages. https://doi.org/10.1145/3394977 Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. Markus Weninger, Paul Grü nbacher, Huihui Zhang, Tao Yue, and Shaukat Ali. 2018c. Tool Support for Restricted Use Case Specification: Findings from a Controlled Experiment. In Proceedings of the 25th Asia-Pacific Software Engineering Conference (APSEC). 21--30. https://doi.org/10.1109/APSEC.2018.00016Google ScholarGoogle ScholarCross RefCross Ref
  96. Markus Weninger, Philipp Lengauer, and Hanspeter Mö ssenbö ck. 2017. User-centered Offline Analysis of Memory Monitoring Data. In Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering (ICPE). 357--360. https://doi.org/10.1145/3030207.3030236 Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Markus Weninger, Lukas Makor, Elias Gander, and Hanspeter Mö ssenbö ck. 2019 d. AntTracks TrendViz: Configurable Heap Memory Visualization Over Time. In Comp. of the 2019 ACM/SPEC International Conference on Performance Engineering (ICPE). 29--32. https://doi.org/10.1145/3302541.3313100 Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. Markus Weninger, Lukas Makor, and Hanspeter Mö ssenbö ck. 2019 c. Memory Leak Visualization using Evolving Software Cities. In Proceedings of the 10th Symp. on Software Performance (SSP). 44--46. http://pi.informatik.uni-siegen.de/stt/39_4/01_Fachgruppenberichte/SSP2019/SSP2019_Weninger.pdfGoogle ScholarGoogle Scholar
  99. Markus Weninger, Lukas Makor, and Hanspeter Mö ssenbö ck. 2020 d. Memory Cities: Visualizing Heap Memory Evolution Using the Software City Metaphor. In Proceedings of the Working Conference on Software Visualization, (VISSOFT). 110--121. https://doi.org/10.1109/VISSOFT51673.2020.00017Google ScholarGoogle Scholar
  100. Markus Weninger, Lukas Makor, and Hanspeter Mössenböck. 2020 e. Heap Evolution Analysis Using Tree Visualizations. In Proceedings of the 11th Symp. on Software Performance (SSP). http://pi.informatik.uni-siegen.de/stt/39_4/01_Fachgruppenberichte/SSP2019/SSP2019_Weninger.pdfGoogle ScholarGoogle Scholar
  101. Markus Weninger, Lukas Makor, and Hanspeter Mössenböck. 2020 f. Memory Leak Analysis using Time-Travel-based and Timeline-based Tree Evolution Visualizations. In Proceedings of the Conference on Smart Tools and Apps for Graphics - Eurographics Italian Chapter Conference. https://doi.org/10.2312/stag.20201241Google ScholarGoogle Scholar
  102. Markus Weninger and Hanspeter Mö ssenbö ck. 2018. User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring. In Proceedings of the 2018 ACM/SPEC International Conference on Performance Engineering (ICPE). 115--126. https://doi.org/10.1145/3184407.3184412 Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. Jen-Her Wu and Yufei Yuan. 2003. Improving Searching and Reading Performance: The Effect of Highlighting and Text Color Coding . Inf. Manag. , Vol. 40, 7 (2003), 617--637. https://doi.org/10.1016/S0378--7206(02)00091--5 Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. Guoqing (Harry) Xu. 2013. Resurrector: a Tunable Object Lifetime Profiling Technique for Optimizing Real-World Programs. In Proceedings of the ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA). 111--130. https://doi.org/10.1145/2509136.2509512 Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. N. Zhang, N. Jiang , Y. Zhang, and G. Huang. 2010. Towards Automated Generation of User-Specific Eclipse Wizard. In Proceedings of the International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC). 490--497. https://doi.org/10.1109/CyberC.2010.95 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Guided Exploration: A Method for Guiding Novice Users in Interactive Memory Monitoring Tools

                          Recommendations

                          Comments

                          Login options

                          Check if you have access through your login credentials or your institution to get full access on this article.

                          Sign in

                          Full Access

                          • Article Metrics

                            • Downloads (Last 12 months)25
                            • Downloads (Last 6 weeks)3

                            Other Metrics

                          PDF Format

                          View or Download as a PDF file.

                          PDF

                          eReader

                          View online with eReader.

                          eReader