Abstract

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.
- 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:1025869312943Google Scholar
Digital Library
- Edward Aftandilian, Sean Kelley, Connor Gramazio, Nathan P. Ricci, Sara L. Su, and Samuel Z. Guyer. 2010. Heapviz: interactive heap visualization for program understanding and debugging. In Proceedings of the ACM 2010 Symposium on Software Visualization, Salt Lake City, UT, USA, October 25--26, 2010. 53--62. https://doi.org/10.1145/1879211.1879222Google Scholar
- Audacity. 2020. Audacity: Free, open source, cross-platform audio software. https://www.audacityteam.org/Google Scholar
- Sebastian Baltes, Peter Schmitz, and Stephan Diehl. 2014. Linking sketches and diagrams to source code artifacts. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE-22). 743--746. https://doi.org/10.1145/2635868.2661672Google Scholar
Digital Library
- Matt Bellingham, Simon Holland, and Paul Mulholland. 2014. A cognitive dimensions analysis of interaction design for algorithmic composition software. In Proceedings of the 25th Annual Workshop of the Psychology of Programming Interest Group, PPIG 2014, Brighton, UK, June 25--27, 2014. 18. http://ppig.org/library/paper/cognitive-dimensions-analysis-interaction-design-algorithmic-composition-softwareGoogle Scholar
- Verena Bitto and Philipp Lengauer. 2016. Building Custom, Efficient, and Accurate Memory Monitoring Tools for Java Applications. In Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering, ICPE 2016, Delft, The Netherlands, March 12--16, 2016. 321--324. https://doi.org/10.1145/2851553.2858664Google Scholar
Digital Library
- 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 2015, Melbourne, FL, USA, September 8--11, 2015. 76--89. https://doi.org/10.1145/2807426.2807433Google Scholar
- Alan Blackwell and Thomas Green. 2003. CHAPTER 5 - Notational Systems-The Cognitive Dimensions of Notations Framework. In HCI Models, Theories, and Frameworks. Morgan Kaufmann, San Francisco, 103 -- 133. https://doi.org/10.1016/B978--155860808--5/50005--8Google Scholar
- Alan F. Blackwell. 2005. Cognitive Dimensions of Notations. In 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2005), 21--24 September 2005, Dallas, TX, USA. 3. https://doi.org/10.1109/VLHCC.2005.26Google Scholar
- Alan F. Blackwell. 2008. Cognitive Dimensions of Notations: Understanding the Ergonomics of Diagram Use. In Diagrammatic Representation and Inference, 5th International Conference, Diagrams 2008, Herrsching, Germany, September 19--21, 2008. Proceedings. 5--8. https://doi.org/10.1007/978--3--540--87730--1_4Google Scholar
- Alan F. Blackwell, Carol Britton, Anna Louise Cox, Thomas R. G. Green, Corin A. Gurr, Gada F. Kadoda, Maria Kutar, Martin Loomes, Chrystopher L. Nehaniv, Marian Petre, Chris Roast, Chris Roe, Allan Wong, and R. Michael Young. 2001. Cognitive Dimensions of Notations: Design Tools for Cognitive Technology. In Cognitive Technology: Instruments of Mind, 4th International Conference, CT 2001, Warwick, UK, August 6--9, 2001, Proceedings. 325--341. https://doi.org/10.1007/3--540--44617--6_31Google Scholar
- Michael D. Bond and Kathryn S. McKinley. 2006. Bell: bit-encoding online memory leak detection. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2006, San Jose, CA, USA, October 21--25, 2006. 61--72. https://doi.org/10.1145/1168857.1168866Google Scholar
- Grady Booch, James E. Rumbaugh, and Ivar Jacobson. 1999. The Unified Modeling Language User Guide. J. Database Manag., Vol. 10, 4 (1999), 51--52.Google Scholar
- Eric Bruneton, Eugene Kuleshov, Andrei Loskutov, and Rémi Forax. 2020. ASM. https://asm.ow2.io/Google Scholar
- Eric Bruneton, Romain Lenglet, and Thierry Coupaye. 2002. ASM: a code manipulation tool to implement adaptable systems. Adaptable and extensible component systems, Vol. 30, 19 (2002).Google Scholar
- Kung Chen and Ju-Bing Chen. 2007. Aspect-Based Instrumentation for Locating Memory Leaks in Java Programs. In 31st Annual International Computer Software and Applications Conference, COMPSAC 2007, Beijing, China, July 24--27, 2007. Volume 2. 23--28. https://doi.org/10.1109/COMPSAC.2007.79Google Scholar
- Shigeru Chiba. 2020. Javassist. https://www.javassist.org/Google Scholar
- Shigeru Chiba and Muga Nishizawa. 2003. An Easy-to-Use Toolkit for Efficient Java Bytecode Translators. In Generative Programming and Component Engineering, Second International Conference, GPCE 2003, Erfurt, Germany, September 22--25, 2003, Proceedings. 364--376. https://doi.org/10.1007/978--3--540--39815--8_22Google Scholar
- Adriana E. Chis. 2008. Automatic detection of memory anti-patterns. In Companion to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19--13, 2007, Nashville, TN, USA. 925--926. https://doi.org/10.1145/1449814.1449911Google Scholar
- Adriana E. Chis, Nick Mitchell, Edith Schonberg, Gary Sevitsky, Patrick O'Sullivan, Trevor Parsons, and John Murphy. 2011. Patterns of Memory Inefficiency. In ECOOP 2011 - Object-Oriented Programming - 25th European Conference, Lancaster, UK, July 25--29, 2011 Proceedings. 383--407. https://doi.org/10.1007/978--3--642--22655--7_18Google Scholar
- 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 Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE 2018). 41--44. https://doi.org/10.1145/3183440.3183481Google Scholar
- Karl Cox. 2000. Cognitive Dimensions of Use Cases: Feedback from a student questionnaire. In Proceedings of the 12th Annual Workshop of the Psychology of Programming Interest Group, PPIG 2000, Cosenza, Italy, April 10--13, 2000. 8. http://ppig.org/library/paper/cognitive-dimensions-use-cases-feedback-student-questionnaireGoogle Scholar
- Fred D. Davis. 1989. Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology. MIS Quarterly, Vol. 13, 3 (1989), 319--340. http://misq.org/perceived-usefulness-perceived-ease-of-use-and-user-acceptance-of-information-technology.htmlGoogle Scholar
Digital Library
- Wim De Pauw, Erik Jensen, Nick Mitchell, Gary Sevitsky, John Vlissides, and Jeaha Yang. 2002. Visualizing the Execution of Java Programs. In Software Visualization. 151--162. https://doi.org/10.1007/3--540--45875--1_12Google Scholar
- Wim De Pauw and Gary Sevitsky. 2000. Visualizing reference patterns for solving memory leaks in Java. Concurrency - Practice and Experience, Vol. 12, 14 (2000), 1431--1454. https://doi.org/10.1002/1096--9128(20001210)12:14<1431::AID-CPE542>3.0.CO;2--2Google Scholar
Cross Ref
- 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 1997, Orlando, Florida, USA, January 6--9, 1997. 265--268. https://doi.org/10.1145/238218.238347Google Scholar
Digital Library
- Dynatrace. 2017. Demo Applications: easyTravel. https://community.dynatrace.com/community/display/DL/Demo+Applications+-+easyTravelGoogle Scholar
- Dynatrace. 2020. Dynatrace. https://www.dynatrace.com/Google Scholar
- Eclipse Foundation. 2020. Eclipse Memory Analyzer (MAT). https://www.eclipse.org/mat/Google Scholar
- ej technologies. 2020. JProfiler. https://www.ej-technologies.com/products/jprofiler/overview.htmlGoogle Scholar
- Michael D. Ernst. 2003. Static and Dynamic Analysis: Synergy and Duality. In Workshop on Dynamic Analysis (WODA '03). Portland, OR, USA, 24--27.Google Scholar
- Florian Fittkau, Phil Stelzer, and Wilhelm Hasselbring. 2014. Live Visualization of Large Software Landscapes for Ensuring Architecture Conformance. In Proceedings of the ECSA 2014 Workshops & Tool Demos Track, European Conference on Software Architecture, 2014, Vienna, Austria. 28:1--28:4. https://doi.org/10.1145/2642803.2642831Google Scholar
- Eelke Folmer and Jan Bosch. 2003. Usability patterns in software architecture. In Proc. of the 10th Int'l Conf. on Human-Computer Interaction (HCII '03). 93--97.Google Scholar
- 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.007Google Scholar
Digital Library
- Mohammadreza Ghanavati, Diego Costa, Janos Seboek, David Lo, and Artur Andrzejak. 2020. Memory and resource leak defects and their repairs in Java projects. Empirical Software Engineering, Vol. 25, 1 (2020), 678--718. https://doi.org/10.1007/s10664-019-09731--8Google Scholar
Cross Ref
- David Gilbert. 2020. JFreeChart. http://www.jfree.org/jfreechart/Google Scholar
- Google. 2020. Android Studio. https://developer.android.com/studioGoogle Scholar
- 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 2017, Salzburg, Austria, December 4--6, 2017. 545--552. https://doi.org/10.1145/3151759.3151795Google Scholar
- Thomas Green. 2000. Instructions and Descriptions: some cognitive aspects of programming and similar activities. In Proceedings of the working conference on Advanced visual interfaces, AVI 2000, Palermo, Italy, May 23--26, 2000. 21--28. https://doi.org/10.1145/345513.345233Google Scholar
Digital Library
- Thomas Green and Alan Blackwell. 1998. Cognitive Dimensions of Information Artefacts: a tutorial. https://www.cl.cam.ac.uk/ afb21/CognitiveDimensions/CDtutorial.pdfGoogle Scholar
- T. R. G. Green. 1989. Cognitive Dimensions of Notations. In Proceedings of the Fifth Conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and Computers V. Cambridge University Press, New York, NY, USA, 443--460. http://dl.acm.org/citation.cfm?id=92968.93015Google Scholar
Digital Library
- Ted Hagos. 2019. Android Studio Profiler. In Android Studio IDE Quick Reference. Springer, 73--82.Google Scholar
- Juho Hamari, Jonna Koivisto, and Harri Sarsa. 2014. Does Gamification Work? - A Literature Review of Empirical Studies on Gamification. In 47th Hawaii International Conference on System Sciences, HICSS 2014, Waikoloa, HI, USA, January 6--9, 2014. 3025--3034. https://doi.org/10.1109/HICSS.2014.377Google Scholar
Digital Library
- Matthias Hauswirth and Trishul M. Chilimbi. 2004. Low-overhead memory leak detection using adaptive statistical profiling. In Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2004, Boston, MA, USA, October 7--13, 2004. 156--164. https://doi.org/10.1145/1024393.1024412Google Scholar
- 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.1133654Google Scholar
Digital Library
- Trent Hill, James Noble, and John Potter. 2002. Scalable Visualizations of Object-Oriented Systems with Ownership Trees. J. Vis. Lang. Comput., Vol. 13, 3 (2002), 319--339. https://doi.org/10.1006/jvlc.2002.0238Google Scholar
Cross Ref
- Andreas Holzinger. 2005. Usability engineering methods for software developers. Commun. ACM, Vol. 48, 1 (2005), 71--74. https://doi.org/10.1145/1039539.1039541Google Scholar
Digital Library
- Martin Höst, Björn Regnell, and Claes Wohlin. 2000. Using Students as Subjects--A Comparative Study of Students and Professionals in Lead-Time Impact Assessment. Empirical Software Engineering, Vol. 5, 3 (01 Nov 2000), 201--214.Google Scholar
- 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 2019, Larnaca, Cyprus, June 09--12, 2019. 39--44. https://doi.org/10.1145/3314183.3324978Google Scholar
Digital Library
- 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 Scholar
- JavaMelody. 2020. JavaMelody : monitoring of JavaEE applications (GitHub). https://github.com/javamelody/javamelody/wikiGoogle Scholar
- Kamil Jezek and Richard Lipka. 2017. Antipatterns causing memory bloat: A case study. In IEEE 24th International Conference on Software Analysis, Evolution and Reengineering, SANER 2017, Klagenfurt, Austria, February 20--24, 2017. 306--315. https://doi.org/10.1109/SANER.2017.7884631Google Scholar
Cross Ref
- Zhen Ming Jiang, Ahmed E. Hassan, Gilbert Hamann, and Parminder Flora. 2009. Automated performance analysis of load tests. In 25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20--26, 2009, Edmonton, Alberta, Canada. 125--134. https://doi.org/10.1109/ICSM.2009.5306331Google Scholar
Cross Ref
- Maria Jump and Kathryn S. McKinley. 2010. Detecting memory leaks in managed languages with Cork. Softw., Pract. Exper., Vol. 40, 1 (2010), 1--22. https://doi.org/10.1002/spe.945Google Scholar
Digital Library
- Reiner Jung and Marc Adolf. 2018. The JPetStore Suite: A concise Experiment Setup for Research. In Proc. of the 9th Symposium on Software Performance (SSP '18).Google Scholar
- Reiner Jung, Marc Adolf, and Christoph Dornieden. 2017. Towards Extracting Realistic User Behavior Models. Softwaretechnik-Trends, Vol. 37, 3 (2017). http://pi.informatik.uni-siegen.de/stt/37_3/./01_Fachgruppenberichte/SSP2017_proceedings/03_Towards_Extracting_Realistic_User_Behavior_Models.pdfGoogle Scholar
- Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. 2001. An Overview of AspectJ. In ECOOP 2001 - Object-Oriented Programming, 15th European Conference, Budapest, Hungary, June 18--22, 2001, Proceedings. 327--353. https://doi.org/10.1007/3--540--45337--7_18Google Scholar
- Kieker Project. 2013. Kieker web site. http://kieker-monitoring.net/Google Scholar
- A. J. Ko, Thomas D. LaToza, and Margaret M. Burnett. 2015. A practical guide to controlled experiments of software engineering tools with human participants. Empirical Software Engineering, Vol. 20, 1 (2015), 110--141. https://doi.org/10.1007/s10664-013--9279--3Google Scholar
Digital Library
- Steinar Kristoffersen. 2008. Learnability and Robustness of User Interfaces - Towards a Formal Analysis of Usability Design Principles. In Proceedings of the Third International Conference on Software and Data Technologies, Volume SE/MUSE/GSDCA (ICSOFT'08), José Cordeiro, Boris Shishkov, Alpesh Ranchordas, and Markus Helfert (Eds.). 261--268.Google Scholar
- Lisa Maria Kritzinger, Thomas Krismayer, Rick Rabiser, and Paul Grünbacher. 2019. A User Study on the Usefulness of Visualization Support for Requirements Monitoring. In 7th IEEE Working Conference on Software Visualization. IEEE, Cleveland, Ohio, USA, 56--66. https://doi.org/10.1109/VISSOFT.2019.00015Google Scholar
Cross Ref
- Eugene Kuleshov. 2007. Using the ASM framework to implement common Java bytecode transformation patterns. Aspect-Oriented Software Development (2007).Google Scholar
- Maria Kutar, Carol Britton, and Jonathan Wilson. 2000. Cognitive Dimensions: An experience report. In Proceedings of the 12th Annual Workshop of the Psychology of Programming Interest Group, PPIG 2000, Cosenza, Italy, April 10--13, 2000. 7. http://ppig.org/library/paper/cognitive-dimensions-experience-reportGoogle Scholar
- Maria Kutar, Chrystopher L. Nehaniv, Carol Britton, and Sara Jones. 2001. The Cognitive Dimensions of an Artifact vis-à -vis Individual Human Users: Studies with Notations for the Temporal Specification of Interactive Systems. In Cognitive Technology: Instruments of Mind, 4th International Conference, CT 2001, Warwick, UK, August 6--9, 2001, Proceedings. 342--355. https://doi.org/10.1007/3--540--44617--6_32Google Scholar
- 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, Lugano, Switzerland, August 29 - September 2, 2016. 4:1--4:11. https://doi.org/10.1145/2972206.2972220Google Scholar
Digital Library
- 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, Austin, TX, USA, January 31 - February 4, 2015. 51--62. https://doi.org/10.1145/2668930.2688037Google Scholar
Digital Library
- 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 2016, Delft, The Netherlands, March 12--16, 2016. 249--260. https://doi.org/10.1145/2851553.2851555Google Scholar
Digital Library
- 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 2017, L'Aquila, Italy, April 22--26, 2017. 3--14. https://doi.org/10.1145/3030207.3030211Google Scholar
Digital Library
- Thomas Lengauer and Robert Endre Tarjan. 1979. A Fast Algorithm for Finding Dominators in a Flowgraph. ACM Trans. Program. Lang. Syst., Vol. 1, 1 (1979), 121--141. https://doi.org/10.1145/357062.357071Google Scholar
Digital Library
- Beinan Li, John Ashley Burgoyne, and Ichiro Fujinaga. 2006. Extending Audacity for Audio Annotation. In ISMIR 2006, 7th International Conference on Music Information Retrieval, Victoria, Canada, 8--12 October 2006, Proceedings. 379--380.Google Scholar
- Joao Paulo Magalhaes and Luis Moura Silva. 2013. Adaptive monitoring of web-based applications: a performance study. In Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC '13, Coimbra, Portugal, March 18--22, 2013. 471--478. https://doi.org/10.1145/2480362.2480454Google Scholar
Digital Library
- David Mapelsden, John Hosking, and John Grundy. 2002. Design Pattern Modelling and Instantiation Using DPML. In Proceedings of the Fortieth International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications (CRPIT '02). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 3--11. http://dl.acm.org/citation.cfm?id=564092.564094Google Scholar
Digital Library
- Mark Marron, César Sánchez, Zhendong Su, and Manuel Fahndrich. 2013. Abstracting Runtime Heaps for Program Understanding. IEEE Trans. Software Eng., Vol. 39, 6 (2013), 774--786. https://doi.org/10.1109/TSE.2012.69Google Scholar
Digital Library
- Karen L. McGraw and Bruce A. McGraw. 1997. Wizards, Coaches, Advisors, and More: A Performance Support Primer. In Human Factors in Computing Systems, CHI '97: Looking to the Future, Extended Abstracts, Atlanta, Georgia, USA, March 22--27, 1997. 152--153. https://doi.org/10.1145/1120212.1120318Google Scholar
- Nick Mitchell. 2006. The Runtime Structure of Object Ownership. In ECOOP 2006 - Object-Oriented Programming, 20th European Conference, Nantes, France, July 3--7, 2006, Proceedings. 74--98. https://doi.org/10.1007/11785477_5Google Scholar
- Nick Mitchell, Edith Schonberg, and Gary Sevitsky. 2009. Making Sense of Large Heaps. In ECOOP 2009 - Object-Oriented Programming, 23rd European Conference, Genoa, Italy, July 6--10, 2009. Proceedings. 77--97. https://doi.org/10.1007/978--3--642-03013-0_5Google Scholar
- Nick Mitchell, Edith Schonberg, and Gary Sevitsky. 2010. Four Trends Leading to Java Runtime Bloat. IEEE Software, Vol. 27, 1 (2010), 56--63. https://doi.org/10.1109/MS.2010.7Google Scholar
Digital Library
- Nick Mitchell and Gary Sevitsky. 2003. LeakBot: An Automated and Lightweight Tool for Diagnosing Memory Leaks in Large Java Applications. In ECOOP 2003 - Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, July 21--25, 2003, Proceedings. 351--377. https://doi.org/10.1007/978--3--540--45070--2_16Google Scholar
Cross Ref
- Nick Mitchell and Gary Sevitsky. 2007. The causes of bloat, the limits of health. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007, October 21--25, 2007, Montreal, Quebec, Canada. 245--260. https://doi.org/10.1145/1297027.1297046Google Scholar
Digital Library
- MyBatis. 2016. JPetStore. http://mybatis.org/jpetstore-6/Google Scholar
- Nicholas Nethercote and Julian Seward. 2003. Valgrind: A Program Supervision Framework. Electr. Notes Theor. Comput. Sci., Vol. 89, 2 (2003), 44--66. https://doi.org/10.1016/S1571-0661(04)81042--9Google Scholar
Cross Ref
- Jakob Nielsen. 1993. Usability engineering. Academic Press.Google Scholar
Digital Library
- 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,University Park, PA, USA, June 26--28, 2006. 209--218. https://doi.org/10.1145/1142405.1142439Google Scholar
Digital Library
- Oracle. 2014. Java Flight Recorder. https://docs.oracle.com/javacomponents/jmc-5--4/jfr-runtime-guide/about.htm#JFRUH170Google Scholar
- Oracle. 2018a. JConsole. https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.htmlGoogle Scholar
- Oracle. 2018b. jmap. https://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.htmlGoogle Scholar
- Oracle. 2020 a. The HotSpot Group. http://openjdk.java.net/groups/hotspot/Google Scholar
- Oracle. 2020 b. HPROF: A Heap/CPU Profiling Tool. https://docs.oracle.com/javase/8/docs/technotes/samples/hprof.htmlGoogle Scholar
- Oracle. 2020 c. Java Mission Control. https://openjdk.java.net/projects/jmc/Google Scholar
- Oracle. 2020 d. JVM Tool Interface Version 1.2. https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.htmlGoogle Scholar
- Oracle. 2020 e. VisualVM: All-in-One Java Troubleshooting Tool. https://visualvm.github.io/Google Scholar
- Kelly O'Hair. 2004. HPROF: a Heap/CPU profiling tool in J2SE 5.0. Sun Developer Network, Developer Technical Articles & Tips, Vol. 28 (2004).Google Scholar
- Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Truma, Martin Studener, Lubomir 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 Proc. of the 40th ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2019).Google Scholar
Digital Library
- Rick Rabiser, Paul Grü nbacher, and Martin Lehofer. 2012. A qualitative study on user guidance capabilities in product configuration tools. In IEEE/ACM International Conference on Automated Software Engineering, ASE'12, Essen, Germany, September 3--7, 2012. 110--119. https://doi.org/10.1145/2351676.2351693Google Scholar
Digital Library
- Rick Rabiser, Michael Vierhauser, and Paul Grü nbacher. 2016. Assessing the usefulness of a requirements monitoring tool: a study involving industrial software engineers. In Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, TX, USA, May 14--22, 2016 - Companion Volume. 122--131. https://doi.org/10.1145/2889160.2889234Google Scholar
Digital Library
- Derek Rayside and Lucy Mendel. 2007. Object ownership profiling: a technique for finding and fixing memory leaks. In 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), November 5--9, 2007, Atlanta, Georgia, USA. 194--203. https://doi.org/10.1145/1321631.1321661Google Scholar
Digital Library
- 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 2009, Edmonton, Alberta, Canada, September 25, 2009. 73--80. https://doi.org/10.1109/VISSOF.2009.5336418Google Scholar
Cross Ref
- Jan Renz, Thomas Staubitz, Jaqueline Pollack, and Christoph Meinel. 2014. Improving the Onboarding User Experience in MOOCs. In Proc. of the 6th Int'l Conf. on Education and New Learning Technologies (EDULEARN '14).Google Scholar
- 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 2011, Kongens Lyngby, Denmark, August 24--26, 2011. ACM, 139--142. https://doi.org/10.1145/2093157.2093178Google Scholar
Digital Library
- Nathan P. Ricci, Samuel Z. Guyer, and J. Eliot B. Moss. 2013. Elephant tracks: portable production of complete and precise gc traces. In International Symposium on Memory Management, ISMM 2013, Seattle, WA, USA, June 20, 2013. ACM, 109--118. https://doi.org/10.1145/2491894.2466484Google Scholar
Digital Library
- Per Runeson and Martin Höst. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, Vol. 14, 2 (2009), 131--164. https://doi.org/10.1007/s10664-008--9102--8Google Scholar
Digital Library
- Anthony Savidis and Nikos Koutsopoulos. 2011. Interactive Object Graphs for Debuggers with Improved Visualization, Inspection and Configuration Features. In Advances in Visual Computing - 7th International Symposium, ISVC 2011, Las Vegas, NV, USA, September 26--28, 2011. Proceedings, Part I. 259--268. https://doi.org/10.1007/978--3--642--24028--7_24Google Scholar
- 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 Scholar
- Carolyn B. Seaman. 1999. Qualitative Methods in Empirical Studies of Software Engineering. IEEE Trans. Software Eng., Vol. 25, 4 (1999), 557--572. https://doi.org/10.1109/32.799955Google Scholar
Digital Library
- Ben Shneiderman. 1996. The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations. In Proceedings of the 1996 IEEE Symposium on Visual Languages, Boulder, Colorado, USA, September 3--6, 1996. IEEE Computer Society, 336--343. https://doi.org/10.1109/VL.1996.545307Google Scholar
Digital Library
- Connie U. Smith and Lloyd G. Williams. 2000. Software performance antipatterns. In Second International Workshop on Software and Performance, WOSP 2000, Ottawa, Canada, September 17--20, 2000. 127--136. https://doi.org/10.1145/350391.350420Google Scholar
- Ken Soong, Xin Fu, and Yang Zhou. 2018. Optimizing New User Experience in Online Services. In 5th IEEE International Conference on Data Science and Advanced Analytics, DSAA 2018, Turin, Italy, October 1--3, 2018. 442--449. https://doi.org/10.1109/DSAA.2018.00057Google Scholar
- Vladimir Sor, Plumbr Ou, Tarvo Treier, and Satish Narayana Srirama. 2013. Improving Statistical Approach for Memory Leak Detection Using Machine Learning. In 2013 IEEE International Conference on Software Maintenance, Eindhoven, The Netherlands, September 22--28, 2013. 544--547. https://doi.org/10.1109/ICSM.2013.92Google Scholar
- Vladimir Sor and Satish Narayana Srirama. 2014. Memory leak detection in Java: Taxonomy and classification of approaches. Journal of Systems and Software, Vol. 96 (2014), 139--151. https://doi.org/10.1016/j.jss.2014.06.005Google Scholar
Cross Ref
- Doug Tidwell and Jeanette Fuccella. 1997. TaskGuides: Instant Wizards on the Web. In The 15th Annual International Conference of Computer Documentation: Crossroads in Communication, SIGDOC 1997, Salt Lake City, Utah, USA, October 19--22, 1997. 263--272. https://doi.org/10.1145/263367.263401Google Scholar
- Valgrind Developers. 2020. Valgrind. http://valgrind.org/Google Scholar
- André van Hoorn, Matthias Rohr, Wilhelm Hasselbring, Jan Waller, Jens Ehlers, Sören Frey, and Dennis Kieselhorst. 2009. Continuous Monitoring of Software Services: Design and Application of the Kieker Framework. Technical Report TR-0921. Department of Computer Science, Kiel University, Germany. 27 pages pages.Google Scholar
- André van Hoorn, Jan Waller, and Wilhelm Hasselbring. 2012. Kieker: a framework for application performance monitoring and dynamic software analysis. In Third Joint WOSP/SIPEW International Conference on Performance Engineering, ICPE'12, Boston, MA, USA - April 22 - 25, 2012. 247--248. https://doi.org/10.1145/2188286.2188326Google Scholar
Digital Library
- 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 IEEE 27th International Conference on Software Maintenance, ICSM 2011, Williamsburg, VA, USA, September 25--30, 2011. 213--222. https://doi.org/10.1109/ICSM.2011.6080788Google Scholar
Digital Library
- Markus Weninger et al. 2020. AntTracks - Memory Monitoring using Accurate and Efficient Object Tracing for Java Applications. http://mevss.jku.at/AntTracksGoogle Scholar
- Markus Weninger, Elias Gander, and Hanspeter Mössenböck. 2018a. 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 2018, Linz, Austria, September 12--14, 2018. 14:1--14:13. https://doi.org/10.1145/3237009.3237023Google Scholar
Digital Library
- 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 2019, Mumbai, India, April 7--11, 2019. 273--284. https://doi.org/10.1145/3297663.3310297Google Scholar
Digital Library
- 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 2019, Athens, Greece, October 21--22, 2019. 95--104. https://doi.org/10.1145/3357390.3361025Google Scholar
Digital Library
- Markus Weninger, Elias Gander, and Hanspeter Mössenböck. 2018b. Analyzing the Evolution of Data Structures Over Time in Trace-Based Offline Memory Monitoring. In Proc. of the 9th Symposium on Software Performance (SSP '18).Google Scholar
- 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 25th Asia-Pacific Software Engineering Conference, APSEC 2018, Nara, Japan, December 4--7, 2018. 21--30. https://doi.org/10.1109/APSEC.2018.00016Google Scholar
Cross Ref
- 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 2017, L'Aquila, Italy, April 22--26, 2017. 357--360. https://doi.org/10.1145/3030207.3030236Google Scholar
Digital Library
- Markus Weninger, Lukas Makor, Elias Gander, and Hanspeter Mössenböck. 2019 d. AntTracks TrendViz: Configurable Heap Memory Visualization Over Time. In Companion of the 2019 ACM/SPEC International Conference on Performance Engineering, ICPE 2019, Mumbai, India, April 07--11, 2019. 29--32. https://doi.org/10.1145/3302541.3313100Google Scholar
- Markus Weninger, Lukas Makor, and Hanspeter Mössenböck. 2019 c. Memory Leak Visualization using Evolving Software Cities. In Proc. of the 10th Symposium on Software Performance (SSP '19).Google Scholar
- 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 2018, Berlin, Germany, April 09--13, 2018. 115--126. https://doi.org/10.1145/3184407.3184412Google Scholar
Digital Library
- Nicholas P. Wilde. 1996. Using Cognitive Dimensions in the Classroom as a Discussion Tool for Visual Language Design. In Conference on Human Factors in Computing Systems: Common Ground, CHI '96, Vancouver, BC, Canada, April 13--18, 1996, Conference Companion. ACM, 187--188. https://doi.org/10.1145/257089.257252Google Scholar
Digital Library
- Guoqing (Harry) Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, Edith Schonberg, and Gary Sevitsky. 2014. Scalable Runtime Bloat Detection Using Abstract Dynamic Slicing. ACM Trans. Softw. Eng. Methodol., Vol. 23, 3 (2014), 23:1--23:50. https://doi.org/10.1145/2560047Google Scholar
Digital Library
- Guoqing (Harry) Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, and Gary Sevitsky. 2010. Software bloat analysis: finding, removing, and preventing performance problems in modern large-scale object-oriented applications. In Proceedings of the Workshop on Future of Software Engineering Research, FoSER 2010, at the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010, Santa Fe, NM, USA, November 7--11, 2010. 421--426. https://doi.org/10.1145/1882362.1882448Google Scholar
Digital Library
- Guoqing (Harry) Xu and Atanas Rountev. 2008. Precise memory leak detection for java software using container profiling. In 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10--18, 2008. 151--160. https://doi.org/10.1145/1368088.1368110Google Scholar
Digital Library
- Guoqing (Harry) Xu and Atanas Rountev. 2010. Detecting inefficiently-used containers to avoid bloat. In Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2010, Toronto, Ontario, Canada, June 5--10, 2010. 160--173. https://doi.org/10.1145/1806596.1806616Google Scholar
Digital Library
- S. Zaman, B. Adams, and A. E. Hassan. 2012. A Large Scale Empirical Study on User-Centric Performance Analysis. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. 410--419. https://doi.org/10.1109/ICST.2012.121Google Scholar
Digital Library
- Thomas Zimmermann and Andreas Zeller. 2001. Visualizing Memory Graphs. In Software Visualization, International Seminar Dagstuhl Castle, Germany, May 20--25, 2001, Revised Lectures. 191--204. https://doi.org/10.1007/3--540--45875--1_15Google Scholar
Index Terms
Evaluating an Interactive Memory Analysis Tool: Findings from a Cognitive Walkthrough and a User Study
Recommendations
Design and Evaluation of Intelligent Menu Interface through Cognitive Walkthrough Procedure and Automated Logging for Management Information System
Computer Supported Cooperative Work in Design IVOne of the critcal issues in Managment Information System (MIS) is the information overload from complicated hierachical menu. Novice users easily get lost when an important and frequently used menu item is rooted and hidden in a deeper level of a ...
User Experience Evaluation Using the Cognitive Walkthrough Method
MSIE '22: Proceedings of the 4th International Conference on Management Science and Industrial EngineeringThe redesign of the website has been carried out without formal user experience testing regarding user experience in using the system so that similar complaints will arise on the latest website. The purpose of this research is to identify and analyze ...
Evaluating the Use of an Interactive Software Tool for Learning BCNF Normalization
BCI '17: Proceedings of the 8th Balkan Conference in InformaticsNormalization is a required task to ensure a relational database schema with no data repetition and anomalies. However, most students of database courses find it too theoretical and difficult to understand. In this paper, we present a study of an ...






Comments