Portrait Dipl.-Ing. Dr. Markus Weninger, BSc.

Address: Altenberger Straße 69, 4040 Linz, Austria
Building: Computer Science Building (SP3) Room: 210
Phone: + 43-732-2468-4361
Fax: + 43-732-2468-4345
Email: markus.weninger@jku.at

Teaching

Lectures

2024 WS

2024 SS

2023 WS

2023 SS

2022 WS

2022 SS

2021 WS

2021 SS

2020 WS

2020 SS

2019 WS

2019 SS

2018 WS

2018 SS

2017 WS

Open Theses Topics

Some open projects might be found in the list of open projects given out by the SSW.

Please contact me via e-mail or visit me in my office if you are interested in a thesis / project.

Supervised Master Theses

11 master theses

In Progress

  1. (7) October 2023: A Vue.js-based image editor for ad-hoc graphics on the web
    (Marindo Beka)
  2. (9) October 2023: Adding multi-tenancy and a flexible permission system to the online examination tool Xaminer
    (Gabriel Guldner)
  3. (10) September 2024: Floating-Point Compression of Time Series
    (Konstantin Urbanides)
  4. (11) September 2024: Web-Based Bytecode Interpreter Visualization
    (Tobias Herber)

Finished

  1. (1) October 2018: Memory Leak Investigation using Graph-based Visualization
    (Alexander Lang)
  2. (2) October 2018: Unification and Automation of Time-Based Heap Analysis Methods
    (Elias Gander)
  3. (3) April 2019: Allocation Profiling Analysis
    (Simon Eilmsteiner)
  4. (4) October 2019: Using Tree Visualizations to Investigate Heap Evolution Over Time
    (Lukas Makor)
  5. (5) September 2020: DaaS: Debugging as a Service
    (Markus Mülleder)
  6. (6) October 2022: Analyzing Collection Staleness and Collection Anti-Patterns that Lead to Memory Problems
    (Markus Hirth)
  7. (8) October 2023: Workflow enhancements for the online examination tool Xaminer
    (Alexander Kainzinger)

Supervised Bachelor Theses

32 bachelor theses

In Progress

  1. (17) 2022: Analyzing Memory Anti-Patterns over Time
    (Roman Sperl)
  2. (28) Mai 2024: A 64-bit Windows Performance Profiler for Performance Analysis and Optimization of the BMD software NTCS
    (Florian Gatzweiler)
  3. (29) July 2024: Interactive and Playful Visualizations of Graph Algorithms
    (Marcel Burgstaller)
  4. (30) September 2024: An Educational Mobile Game about Sorting Algorithms
    (Michael Schöller)
  5. (31) Oktober 2024: Performance Impact of OpenTelemetry Observability on Enterprise SaaS Platforms
    (Robert Pröll)
  6. (32) Oktober 2024: A Kotlin Compiler IR Instrumentation Library
    (Mario Birmilli)

Finished

  1. (1) 2017: Visualization of Heap Object Trends
    (Lukas Makor)
  2. (2) 2018: Utilizing Memory-mapped Files in AntTracks to Reduce Memory Overhead
    (Felix Batusic)
  3. (3) 2018: Extending AntTracks with Tagging Functionality for Time Window Highlighting
    (Markus Mülleder)
  4. (4) 2019: HPROF Heap Dump File Support for AntTracks
    (Jakob Faschinger)
  5. (5) 2019: Memory Analysis on the Object-level using JVMTI Object Tagging and Heap Dumps
    (Thomas Sulzbacher)
  6. (6) 2019: Automatic Generation of Introspection Guards
    (Alexander Endtmayer)
  7. (7) 2021: Shape-based Image Editor
    (Michael Genser)
  8. (8) 2021: Coco/R Extension for Visual Studio Code: Syntax Highlighting and Workflow-supporting Features
    (Byambabayar Altangerel)
  9. (9) 2021: A Web-based Tool to Post-process and Format Batches of Exam Submissions
    (Tim Seferagic)
  10. (10) 2021: A C# Tool to Post-process and Format Batches of Exam Submissions
    (Wolfgang Irrgeher)
  11. (11) 2021: JVM Deployer: Automated Service for Providing State-of-the-Art Java Virtual Machines
    (Lukas Moritz)
  12. (12) 2022: Typinator: Windows Application for Automatic Text Expansion
    (Simon Primetzhofer)
  13. (13) 2022: Global Warming Scoring Solution for Sustainable Investment
    (Stefan Haslhofer)
  14. (14) 2022: Kubernetes Attack Catalog
    (Carina Hauber)
  15. (15) 2022: Synchronized Timeline View for Memory Cities
    (Kaan Baylan)
  16. (16) 2022: New Exam Question Types for the Online Examination System Xaminer
    (Marks Osipovs)
  17. (18) 2022: Online Memory City Visualization Tool
    (Daniel Raso)
  18. (19) 2022: Fill-in-the-blanks Questions for the Online Exam System Xaminer
    (Rebecca Rachinger)
  19. (20) 2022: Automatic Detection of Data Structures in Reconstructed Heap States
    (Manuel Vujakovic)
  20. (21) Dezember 2022: Extending the Online Exam System Xaminer with Streaming Capabilities
    (Herber Tobias)
  21. (22) Februar 2023: LALR(1) Bottom-up Parser Generator
    (Alexander Voglsperger)
  22. (23) März 2023: Sinumerik VS Code Extension
    (Lukas Aichhorn)
  23. (24) März 2023: On the Applicability of Annotation-based Source Code Modification in Kotlin
    (Daniel Pfeffer)
  24. (25) März 2024: An Educational Browser Game about Sorting Algorithms
    (Jasmin Fürlinger)
  25. (27) März 2024: Synchronization of Hover Effects Across Multiple Visualizations in JavaWiz
    (Sonja Cao)
  26. (26) März 2024: Interactive and Playful Visualizations of String-Matching Algorithms
    (Kilian Wolfinger)

Supervised Projects in Software Engineering

11 projects in software engineering

In Progress

  1. (11) Interactive and Playful Visualizations of Graph Flow Algorithms
    (Sebastian Stiegler)

Finished

  1. (1) JavaFX for AntTracks (Daniel Pucher)
  2. (2) Graph Visualization in AntTracks
    (Jakob Faschinger)
  3. (3) Basic Java Source Code Editor for AntTracks
    (Michael Jäger)
  4. (4) Visualizing Memory Evolution as Software Cities
    (Lukas Makor)
  5. (5) Graphical Tool to switch running Java applications to AntTracks
    (Markus Mülleder)
  6. (6) Collecting Memory Monitoring Data using Aspect-oriented Programming
    (Markus Hirth)
  7. (7) Testing Suite for Xaminer
    (Alexander Kainzinger)
  8. (8) Testing Suite for Xaminer
    (Gabriel Guldner)
  9. (9) Visual Teaching in Compiler Construction through Dynamic Visualizations of Scanner Tokenization and Parse Trees
    (Tobias Herber)
  10. (10) Visual Teaching in Compiler Construction through a Dynamic Operand Visualization
    (Daniel Jaburek)

Workshops

2024

2023

2022

2021

2020

2019

2018

2017

Research

Projects

My dissertation "Detection and Analysis of Memory Anomalies in Managed Languages Using Trace-Based Memory Monitoring" can be found here.

Research Interests

  • Visual Teaching
  • Software Engineering Education
  • (Software) Visualization
  • Data Analysis / Processing / Aggregation / Visualization
  • Memory and Performance Anomaly Detection & Analysis
  • Memory and Performance Monitoring & Profiling
  • Program and Software Comprehension

Publications

  1. ASVG - Accessible Scalable Vector Graphics: intention trees to make charts more accessible and usable.
    Weninger, M.; Ortner, G.; Hahn, T.; Drümmer, O.; Miesenberger, K.:

    Journal of Assistive Technologies, Vol. 9 Issue: 4 (JAT'15), pp.239-246.
  2. An Experiment to Measure the Performance Trade-off Between Traditional I/O and Memory-mapped Files

    Bachelor's thesis, JKU, 2016
  3. ACM DL Author-ize service Efficient Memory Traces with Full Pointer Information.
    Philipp Lengauer , Verena Bitto , Stefan Fitzek , Markus Weninger , Hanspeter Mössenböck

    PPPJ '16 Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, 2016
  4. ACM DL Author-ize service User-centered Offline Analysis of Memory Monitoring Data. [preprint]
    Markus Weninger , Philipp Lengauer , Hanspeter Mössenböck

    ICPE '17 Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering, 2017
  5. User-defined Classification and Multi-grouping of Data in a Memory Monitoring Tool

    Master's thesis, JKU, 2017
  6. ACM DL Author-ize service User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring. [preprint]
    Markus Weninger , Hanspeter Mössenböck

    ICPE '18 Proceedings of the 2018 ACM/SPEC International Conference on Performance Engineering, 2018
  7. Analyzing the Evolution of Data Structures in Trace-Based Memory Monitoring. [preprint]
    Weninger, M.; Gander, E.; Mössenböck, H.

    SSP '18 Proceedings of the 9th Symposium on Software Performance, Hildesheim, Germany, November 8 - 9, 2018
  8. Tool Support for Restricted Use Case Specification: Findings from a Controlled Experiment. [preprint]
    Weninger, M.; Grünbacher, P.; Zhang, H.; Yue, T.; Ali, S.

    APSEC '18 Proceedings of the 25th Asia-Pacific Software Engineering Conference, Nara, Japan, December 4 - 7, 2018
  9. ACM DL Author-ize service Analyzing Data Structure Growth Over Time to Facilitate Memory Leak Detection. [preprint]
    Markus Weninger , Elias Gander , Hanspeter Mössenböck

    ICPE '19 Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering, 2019
  10. ACM DL Author-ize service AntTracks TrendViz: Configurable Heap Memory Visualization Over Time. [preprint]
    Markus Weninger , Lukas Makor , Elias Gander , Hanspeter Mössenböck

    ICPE '19 Companion of the 2019 ACM/SPEC International Conference on Performance Engineering, 2019
  11. ACM DL Author-ize service Detection of Suspicious Time Windows in Memory Monitoring. [preprint]
    Markus Weninger , Elias Gander , Hanspeter Mössenböck

    MPLR '19 Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, 2019
  12. Memory Leak Visualization using Evolving Software Cities. [preprint]
    Weninger, M.; Makor, L.; Mössenböck, H.

    SSP '19 Proceedings of the 10th Symposium on Software Performance, Würzburg, Germany, November 4 - 6, 2019
  13. Memory Cities: Visualizing Heap Memory Evolution Using The Software City Metaphor. (Best Paper Award) [preprint]
    Weninger, M.; Makor, L.; Mössenböck, H.

    VISSOFT '20 Proceedings of the Eight IEEE Working Conference on Software Visualization, Adelaide, Australia (moved online), 28-29 September, 2020
  14. Investigating High Memory Churn via Object Lifetime Analysis to Improve Software Performance. [preprint]
    Weninger, M.; Gander, E.; Mössenböck, H.:

    SSP '20 Proceedings of the 11th Symposium on Software Performance, November 12 - 13, 2020, Leipzig, Germany (moved online).
  15. Heap Evolution Analysis Using Tree Visualizations. [preprint]
    Weninger, M.; Makor, L.; Mössenböck, H.

    SSP '20 Proceedings of the 11th Symposium on Software Performance, November 12 - 13, 2020, Leipzig, Germany (moved online).
  16. Memory Leak Analysis using Time-Travel-based and Timeline-based Tree Evolution Visualizations. (Best Paper Award) [preprint]
    Weninger, M.; Makor, L.; Mössenböck, H.

    STAG '20 Proceedings of the 7th Conference on Smart Tools and Applications in Graphics, November 12 - 13, 2020, Online.
  17. Detection and Analysis of Memory Anomalies in Managed Languages Using Trace-Based Memory Monitoring

    Dissertation, JKU, 2021
  18. Erkennung und Analyse von Speicheranomalien in Sprachen mit automatischer Speicherverwaltung unter Nutzung von Trace-basierter Speicherüberwachung ("Trace-basierte Erkennung und Analyse von Speicheranomalien") in Ausgezeichnete Informatikdissertationen 2021 [pdf]

    Lecture Notes in Informatics (Gesellschaft für Informatik), 2021
  19. ACM DL Author-ize service On the Applicability of Annotation-Based Source Code Modification in Kotlin. [preprint]
    Daniel Pfeffer, Markus Weninger

    Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, October 2023
  20. Tracing Performance Metrics in Kotlin Multiplatform Projects via Compile-Time Code Instrumentation. [preprint]
    Weninger, M.

    Symposium on Software Performance (SSP'24), Nov. 06-07, 2024, Linz, Austria.

Invited Talks:

  1. Analyzing Memory Errors in Production (slides)
    Stockholm Chaos & Resilience Engineering Day 2019, Stockholm, Sweden, December 4, 2019

Tutorials:

  1. Building Custom, Efficient and Accurate Memory Monitoring Tools for Java Applications
    7th ACM/SPEC International Conference on Performance Engineering (ICPE 2016), Delft, The Netherlands, March 12 - 16, 2016

Research Artifacts:

  1. Questionnaires used in our controlled experiment on Restricted Use Case Specification.
    Weninger, M.; Grünbacher, P.; Zhang, H.; Yue, T.; Ali, S.:
    The experiment is described in Tool Support for Restricted Use Case Specification: Findings from a Controlled Experiment.
    in Proceedings of the 25th Asia-Pacific Software Engineering Conference (APSEC'18), Nara, Japan, December 4 - 7, 2018.
    DOI: http://doi.org/10.5281/zenodo.1460462
  2. Memory Cities: Visualizing Heap Memory Evolution Using the Software City Metaphor - Artifact (Binaries, Data Sets, Video, Instructions).
    Weninger, M.; Makor, L.; Mössenböck, H.:
    in Proceedings of the 8th IEEE Working Conference on Software Visualization (VISSOFT'20), Adelaide, Australia, September 28 - 29, 2020 (moved online).
    DOI: https://doi.org/10.5281/zenodo.3991785

Awards

  1. Winner of the Coding 4 a Cause (C4C:EU) contest at the AAATE conference 2015.
    News: German and English
    Statement: Stated one of the judges, Mike Paciello, founder and CEO of The Paciello Group in New Hampshire, USA: "I am inspired by the Johannes Kepler University students! To watch 3 of our brightest young people develop a mainstream application that ensures the accessibility of SVG images to users with disabilities, is a testimony to the success of the C4C program. Their ingenuity and strong determination to solve a complex challenge, tells me that our students are learning how to design and develop accessible information technologies! Congratulations JKU, your students and their mentor, Olaf Drümmer."
  2. Adolf-Adam-Informatikpreis 2017 - Nominiert für die beste Informatik-Masterarbeit des vergangenen Studienjahres
    Thema: Durchblick bei großen Datenmengen - Sammeln ist Silber, Verstehen ist Gold
  3. Best Paper Candidate
    User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring.
    9th ACM/SPEC International Conference on Performance Engineering (ICPE'18), Berlin, Germany, April 9 - 13, 2018.
  4. Best Presentation of Best Paper Candidates
    User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring.
    9th ACM/SPEC International Conference on Performance Engineering (ICPE'18), Berlin, Germany, April 9 - 13, 2018.


  5. Best Paper Award
    Memory Cities: Visualizing Heap Memory Evolution Using The Software City Metaphor.
    8th IEEE Working Conference on Software Visualization (VISSOFT'2020), Adelaide, Australia (moved online), 28-29 September, 2020


  6. Best Paper Award
    Memory Leak Analysis using Time-Travel-based and Timeline-based Tree Evolution Visualizations.
    Conference on Smart Tools and Applications in Graphics, November 12 - 13, 2020, Online


  7. Award of Excellence

    Dissertation award by the Austrian Federal Ministry of Education, Science and Research


  8. JKU Young Researchers' Award

    The Johannes Kepler University Linz Young Researchers' Award supports outstanding academic and scientific accomplishments to honor doctoral candidates.


  9. Kepler Awards for Excellence in Teaching - Category "Best Practice"

    In der Kategorie "Best Practice" wurden drei Lehrkonzepte (aus 22 Einreichungen) des Studienjahres 2022/23 prämiert, welche sich besonders um eine Optimierung ihrer Lehre bemühen und als Vorbild dienen können.

    Uns wurde der Preis für "UE Softwareentwicklung 1" sowie das Visualisierungstool JavaWiz verliehen, das speziell zur Unterstützung der Programmiergrundlagenlehre am SSW entwickelt wurde.


Research Community

  1. Student Volunteers Chair
    15th International Conference on Managed Languages & Runtimes (ManLang'18), Linz, Austria, September 12 - 14, 2018.

  2. Reviewer
    Conference "IEEE Working Conference on Software Visualization (VISSOFT)" 2021.

  3. Reviewer
    Journal "Information and Software Technology (IST)" 2022.

  4. Reviewer
    Journal "IEEE Transactions on Software Engineering (TSE)" 2023.

  5. Reviewer
    Conference "Eurographics Conference on Visualization (EuroVis)" 2023.

  6. Reviewer
    Conference "Symposium on Software Performance (SSP)" 2024.

Personal

Social Media & Online Appearances

Curriculum Vitae

Student Services

2024

  • Mitglied - Studienvertretung Doktorat TN JKU

2023

  • Mitglied - Studienvertretung Doktorat TN JKU

2022

  • Mitglied - Studienvertretung Doktorat TN JKU

2021

  • Mitglied - Studienvertretung Informatik & AI JKU
  • Mandatar - Studienvertretung Doktorat TN JKU

2020

  • Organisation - Erstsemestrigenmentoring Informatik JKU
  • Mitglied - Studienvertretung Informatik & AI JKU
  • Mandatar - Studienvertretung Doktorat TN JKU

2019

  • Organisation - Erstsemestrigenmentoring Informatik JKU
  • Mitglied - Studienvertretung Informatik & AI JKU
  • Mandatar - Studienvertretung Doktorat TN JKU

2018

  • Traumberuf Technik - Berater "Computer Science"
  • Organisation - Erstsemestrigenmentoring Informatik JKU
  • Mitglied - Studienvertretung Informatik JKU

2017

  • Organisation - Erstsemestrigenmentoring Informatik JKU
  • Mitglied - Studienvertretung Informatik JKU

2016

  • Mitglied - Studienvertretung Informatik JKU

2015

  • Mitglied - Studienvertretung Informatik JKU