Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

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

Published: 29 May 2021 Publication History

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
[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
[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
[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
[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
[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--8
[7]
Grady Booch, James E. Rumbaugh, and Ivar Jacobson. 2005. The Unified Modeling Language User Guide - Covers UML 2.0 (Second Edition). Addison-Wesley .
[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
[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
[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
[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
[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
[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
[14]
Dynatrace. 2017. Demo Applications: easyTravel. https://community.dynatrace.com/community/display/DL/Demo
[15]
Applications
[17]
easyTravel
[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.pdf
[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_14
[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
[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.00057
[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
[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
[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_2
[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
[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
[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
[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
[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
[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
[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
[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
[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_18
[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.003
[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.5306331
[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
[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
[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/
[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/
[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
[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.
[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
[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
[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
[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
[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.106919
[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
[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.
[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
[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
[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
[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
[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
[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_1
[55]
MyBatis. 2016. JPetStore. http://mybatis.org/jpetstore-6/
[56]
Raymond H Myers and Raymond H Myers. 1990. Classical and modern regression with applications. Vol. 2. Duxbury press Belmont, CA.
[57]
Jakob Nielsen. 1993. Usability Engineering. Academic Press .
[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
[59]
Oracle. 2020. VisualVM: All-in-One Java Troubleshooting Tool. https://visualvm.github.io/
[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.7521412
[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.
[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
[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
[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
[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
[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.013
[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
[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.001
[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.5336418
[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.
[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
[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
[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.11647015
[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.
[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
[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
[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/1825350
[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
[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.00057
[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--9
[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
[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
[83]
textEclipse Foundation. 2020. Eclipse Memory Analyzer (MAT). https://www.eclipse.org/mat/
[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
[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
[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
[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.33015409
[88]
Markus Weninger et almbox. 2020 a. AntTracks. http://mevss.jku.at/AntTracks
[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.pdf
[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
[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
[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
[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.pdf
[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
[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.00016
[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
[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
[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.pdf
[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.00017
[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.pdf
[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.20201241
[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
[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
[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
[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

Cited By

View all
  • (2024)Understanding the Needs of Novice Developers in Creating Self-Powered IoTProceedings of the CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642576(1-17)Online publication date: 11-May-2024
  • (2024)Asking and Answering Questions During Memory ProfilingIEEE Transactions on Software Engineering10.1109/TSE.2024.337712750:5(1096-1117)Online publication date: May-2024

Index Terms

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

                          Recommendations

                          Comments

                          Information & Contributors

                          Information

                          Published In

                          cover image Proceedings of the ACM on Human-Computer Interaction
                          Proceedings of the ACM on Human-Computer Interaction  Volume 5, Issue EICS
                          EICS
                          June 2021
                          546 pages
                          EISSN:2573-0142
                          DOI:10.1145/3468527
                          Issue’s Table of Contents
                          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                          Publisher

                          Association for Computing Machinery

                          New York, NY, United States

                          Publication History

                          Published: 29 May 2021
                          Published in PACMHCI Volume 5, Issue EICS

                          Permissions

                          Request permissions for this article.

                          Check for updates

                          Author Tags

                          1. context-sensitive help
                          2. guided exploration, advisor
                          3. intelligent assistant
                          4. learnability
                          5. memory churn analysis
                          6. memory comprehension
                          7. memory leak analysis
                          8. memory monitoring
                          9. monitoring tools
                          10. onboarding
                          11. program comprehension
                          12. usability
                          13. user guidance

                          Qualifiers

                          • Research-article

                          Funding Sources

                          Contributors

                          Other Metrics

                          Bibliometrics & Citations

                          Bibliometrics

                          Article Metrics

                          • Downloads (Last 12 months)23
                          • Downloads (Last 6 weeks)5
                          Reflects downloads up to 12 Sep 2024

                          Other Metrics

                          Citations

                          Cited By

                          View all
                          • (2024)Understanding the Needs of Novice Developers in Creating Self-Powered IoTProceedings of the CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642576(1-17)Online publication date: 11-May-2024
                          • (2024)Asking and Answering Questions During Memory ProfilingIEEE Transactions on Software Engineering10.1109/TSE.2024.337712750:5(1096-1117)Online publication date: May-2024

                          View Options

                          Get Access

                          Login options

                          Full Access

                          View options

                          PDF

                          View or Download as a PDF file.

                          PDF

                          eReader

                          View online with eReader.

                          eReader

                          Media

                          Figures

                          Other

                          Tables

                          Share

                          Share

                          Share this Publication link

                          Share on social media