Toni Mattis
Berlin
, Europe
Researcher, Programmer, Photographer
- Research
-
Evolving the programming experience by integrating AI and machine learning into programming environments. Research aspects:
- Automated testing & test prioritization
- Large language models, data mining & machine learning on code
- Software modularity & metrics
- Exploratory & live programming environments
- Teaching
- Programming, Test-Driven Development, Generative AI, Mining Source Code Repositories, more...
- Affiliations
- PhD Student & Research Assistant at the Software Architecture Group at Hasso Plattner Institute, University of Potsdam, Germany
Contact
- Mastodon
- @amintos@mas.to
- @amintos
- GitHub
- amintos
- ORCID
- 0000-0001-7024-9838
Publications
Peer-Reviewed
2024- T. Mattis, E. Krebs, M. Rinard, R. Hirschfeld, Examples out of Thin Air: AI-generated Dynamic Context to Assist Program Comprehension by Example, Programming Experience (PX/24), Lund, Sweden, Mar. 2024
Paper (Open Access), Slides (PDF) - T. Mattis, L. Böhme, E. Krebs, M. Rinard, R. Hirschfeld, Faster Feedback with AI? - A Test Prioritization Study, Programming with AI (PAI/24), Lund, Sweden, Mar. 2024
Paper (Open Access), Slides (PDF) - E. Krebs, T. Mattis, M. Dörbandt, O. Schulz, M. Rinard, R. Hirschfeld, Implementing Babylonian/G by Putting Examples into Game Contexts, Programming Experience (PX/24), Lund, Sweden, Mar. 2024
Paper (Open Access)
- E. Krebs, T. Mattis, P. Rein, and R. Hirschfeld, Toward Studying Example-based Live Programming in CS/SE Education, Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT) 2023, Cascais, Portugal, Oct. 2023
Paper (Open Access), Slides (PDF) - P. Rein, T. Beckmann, E. Krebs, T. Mattis, and R. Hirschfeld, Too Simple? Notions of Task Complexity used in Maintenance-based Studies of Programming Tools,IEEE/ACM International Conference on Program Comprehension (ICPC) 2023, Melbourne, Australia, May 2023,
Paper, Preprint (PDF)
- P. Rein, T. Beckmann, L. Geier, T. Mattis, and R. Hirschfeld, Competitive Debugging: Toward Contests Promoting Debugging as a Skill,
Onward! 2022, Auckland, New Zealand, Dec. 2022
Paper (ACM), Preprint (PDF), Poster - T. Beckmann, P. Rein, T. Mattis, and R. Hirschfeld, Partial Parsing for Structured Editors, SLE 2022, Auckland, New Zealand, Dec. 2022
Paper (ACM), Preprint (PDF) - T. Mattis, T. Beckmann, P. Rein, and R. Hirschfeld, First-Class Concepts: Reified Architectural Knowledge: Beyond Dominant Decompositions, Journal of Object Technology (JOT), 2022
Paper (Open Access) - S. Reschke, F. Niephaus, T. Mattis, and R. Hirschfeld, Toward Just-in-time and Language-agnostic Mutation Testing, MoreVMs, Porto, Portugal, Mar. 2022
Paper (ACM), Preprint (PDF) - P. Rein, T. Beckmann, T. Mattis, and R. Hirschfeld, Toward Understanding Task Complexity in Maintenance-based Studies of Programming Tools, Programming Experience (PX/22), Porto, Portugal, Mar. 2022
Paper (ACM), Preprint (PDF)
- T. Mattis, T. Beckmann, P. Rein, and R. Hirschfeld, First-class Concepts: Reifying Architectural Knowledge Beyond the Dominant Decomposition, Virtual Workshop on Context-oriented Programming (COP), Jul. 2021
Paper (ACM), Preprint (PDF) - D. Meier, T. Mattis, and R. Hirschfeld, Toward Exploratory Understanding of Software Using Test Suites, Programming Experience (PX/21), Cambridge, UK, Mar. 2021
Paper (ACM), Preprint (PDF)
- T. Mattis, P. Rein, F. Dürsch, and R. Hirschfeld, RTPTorrent: An Open-source Dataset for Evaluating Regression Test Prioritization, 17th International Conference on Mining Software Repositories (MSR), Seoul, South Korea, May 2020
Paper (ACM), Preprint (PDF) - T. Mattis, P. Rein, and R. Hirschfeld, Three Trillion Lines: Infrastructure for Mining GitHub in the Classroom, First International Workshop on ENgineering Intelligent Applications Code (ENIAC20), Porto, Portugal, March 2020
Paper (ACM), Preprint (PDF) - T. Mattis and R. Hirschfeld, Lightweight Lexical Test Prioritization for Immediate Feedback, The Art, Science, and Engineering of Programming, Vol. 4, Nr. 3.
Paper (Open Access)
- T. Mattis, R. Hirschfeld, Ambiguous, Informal, and Unsound: Metaprogramming for Naturalness, Workshop on Metaprogramming Techniques and Reflection (META) 2019, Athens, Greece, Oct. 2019
Paper (ACM), Preprint (PDF), Slides (PDF) - P. Rein, J. Lincke, S. Ramson, T. Mattis, F. Niephaus, and R. Hirschfeld, Implementing Babylonian/S by Putting Examples Into Contexts: Tracing Instrumentation for Example-based Live Programming as a Use Case for Context-oriented Programming, Workshop on Context-oriented Programming (COP) 2019, London, UK, July 2019
Paper (ACM), Preprint (PDF) - T. Mattis, F. Dürsch, R. Hirschfeld, Faster Feedback Through Lexical Test Prioritization, 5th ACM SIGPLAN International Workshop on Programming Experience, Genoa, Italy, Apr. 2019.
Paper (ACM), Preprint (PDF), Slides (PDF)
- T. Mattis, R. Hirschfeld, Activity Contexts: Improving Modularity in Blockchain-based Smart Contracts using Context-oriented Programming, 10th International Workshop on Context-Oriented Programming, Amsterdam, Netherlands, July 2018.
Paper (ACM), Preprint (PDF), Slides (PDF) - S. Horschig, T. Mattis, R. Hirschfeld, Do Java Programmers Write Better Python? Studying Off-language Code Quality on GitHub, 4th ACM SIGPLAN International Workshop on Programming Experience (in Companion of the 2nd International Conference on Art, Science, and Engineering of Programming), Nice, France, Apr. 2018.
Paper (ACM), Preprint (PDF), Slides (PDF) - T. Mattis, Mining Concepts from Code using Community Detection in Co-occurrence Graphs, Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming, Nice, France, Apr. 2018.
Extended Abstract (ACM), Slides (PDF)
- T. Mattis, P. Rein, S. Ramson, J. Lincke, and R. Hirschfeld, Towards Concept-aware Programming Environments for Guiding Software Modularity, Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, Vancouver, BC, Canada, Oct. 2017.
Paper (ACM), Preprint (PDF), Slides (PDF) - P. Rein, J. Lincke, S. Ramson, T. Mattis, and R. Hirschfeld, Living in your Programming Environment: Enabling Exploratory Programming for Productivity Tools, Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, Vancouver, BC, Canada, Oct. 2017.
Paper (ACM), Preprint (PDF) - T. Mattis, P. Rein, and R. Hirschfeld, Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming, The Art, Science, and Engineering of Programming, Vol. 1, Nr. 2, Article 13, Apr. 2017.
Paper (Open Access), Talk, Slides (PDF) - T. Mattis, Concept-aware Live Programming: Integrating Topic Models for Program Comprehension into Live Programming Environments, in Companion to the First International Conference on the Art, Science and Engineering of Programming, Brussels, Belgium, 2017, p. 36.
Extended Abstract (ACM)
- P. Rein, S. Lehmann, T. Mattis, and R. Hirschfeld, How Live Are Live Programming Systems?: Benchmarking the Response Times of Live Programming Environments, in Proceedings of the Programming Experience 2016 (PX/16) Workshop, Rome, Italy, 2016.
Paper (ACM), Preprint (PDF) - T. Mattis, P. Rein, and R. Hirschfeld, Transaction Layers: Controlling Granularity of Change in Live Programming Environments, in Proceedings of the 8th International Workshop on Context-Oriented Programming, Rome, Italy, 2016.
Paper (ACM), Preprint (PDF) - T. Mattis, J. Henning, P. Rein, R. Hirschfeld, and M. Appeltauer, Columnar Objects: Improving the Performance of Analytical Applications, in 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), Pittsburgh, PA, USA, 2015.
Paper (ACM), Preprint (PDF)
Technical Reports & Book Chapters
- F. Dürsch, P. Rein, T. Mattis, and R. Hirschfeld, Learning from Failure: A History-based, Lightweight Test Prioritization Technique Connecting Software Changes to Test Failures, HPI Technical Reports, vol. 145, Universitätsverlag Potsdam, 2020, ISBN 978-3-86956-528-6
Book - L. Bein, T. Braun, B. Daase, E. Emsbach, L. Matthes, M. Stiede, M. Taeumel, T. Mattis, S. Ramson, P. Rein, R. Hirschfeld, J. Mönig, SandBlocks: Integration visueller und textueller Elemente in Live-Programmiersysteme, Universitätsverlag Potsdam, 2020, ISBN 978-3-86956-482-1
Book (German) - T. Mattis, Supporting Program Comprehension Through Semantic Code Models, in Proceedings of the 10th Ph. D. Retreat of the HPI Research School on Service-oriented Systems Engineering, vol. 111, Universitätsverlag Potsdam, 2016, ISBN 978-3-86956-390-9, p. 171.
Book - T. Mattis, Exploring Latent Factors in Code Artifacts, in Proceedings of the 9th Ph.D. retreat of the HPI Research School on Service-oriented Systems Engineering, vol. 100, Universitätsverlag Potsdam, 2016, ISBN 978-3-86956-345-9, pp. 169–180.
Book - T. Mattis, Exploring Predictive Models in Live Programming Environments, in Proceedings of the 10th Joint Workshop of the German Research Training Groups in Computer Science, B. Etzold, R. Richter, M. Eibl, and W. Lehner, ed. Dagstuhl: Universitätsverlag der Technischen Universität Chemnitz, 2016, ISBN 978-3-944640-88-4, p. 216.
Book - J. Henning, T. Mattis, P. Rein, and E. Seckler, Real-Time Linux on Lego EV3, in Embedded Operating System Projects, U. Hentschel, D. Richter, and A. Polze, ed. Universitätsverlag Potsdam, 2014, ISBN 978-3-86956-296-4, pp. 35–64.
Book - T. Mattis, Differential Privacy, in Cloud Security Mechanisms, C. Neuhaus and A. Polze, ed. Universitätsverlag Potsdam, 2013, ISBN 978-3-86956-281-0, pp. 42–59.
Book, Slides - L. Berov, J. Henning, T. Mattis, P. Rein, R. Schreiber, E. Seckler, B. Steinert, R. Hirschfeld, Vereinfachung der Entwicklung von Geschäftsanwendungen durch Konsolidierung von Programmierkonzepten und -technologien, Universitätsverlag Potsdam, 2013, ISBN 978-3-86956-231-5.
Book (German)
Posters
Show All
Selected Talks and Research Visits
- 2024, University of Potsdam, Germany, Research Seminar, Topic: "NLP and AI for Test Prioritization" Slides (PDF)
- 2024, Massachusetts Institute of Technology, USA, Topic: "AI for Example-based Program Design and Comprehension"
- 2019, University of Cape Town, South Africa, Topic: "Lexical Test Prioritization"
- 2019, Nanjing University, China, Topic: "Concept-based Test Prioritization" Slides (PDF)
- 2019, Dagstuhl, Germany, Dagstuhl Event 19253, Joint Workshop of the German Computer Science Research Training Groups
- 2019, Shonan, Japan, Shonan Seminar 147 on Self-supporting, Extensible Programming Languages and Environments for Exploratory, Live Software Development, Topic: "Concept-aware Programming Environments", Slides (PDF)
- 2018, Nanjing University, China, Topic: "Semantic Code Models", Slides (PDF)
- 2018, Dagstuhl, Germany, Dagstuhl Event 18223, Joint Workshop of the German Computer Science Research Training Groups
- 2015, Technion, Haifa, Israel, Topic: "Optimizing Dynamic Languages for Analytical Workloads", Slides (PDF)
Teaching
Master's Theses
- Just-in-time Mutation Testing (Submitted 2023)
- Benchmarking Templates (Submitted 2022)
- Multi-view Modularity Metrics (Submitted 2022)
- History-based Regression Test Prioritization (Submitted 2019)
Lectures and Seminars
- 2024
-
- AI for Software Engineering, MA seminar
- 2023/24
-
- Future of Programming, MA seminar (topics: Large Language Models for Programming)
- 2023
-
- Software Engineering I, BA lecture (topics: Testing, TDD)
- 2022
-
- Software Engineering I, BA lecture (topics: Testing, TDD)
- 2020/21
-
- Programming Languages, Concepts, Tools, and Environments (PLCTE), MA seminar
- Introduction to Programming I, BA lecture
- 2020
-
- Code Repository Mining, MA seminar
- Software Engineering I, BA lecture (topics: Testing, TDD)
- 2019
-
- Software Engineering I, BA lecture (topics: Testing, TDD)
- Bachelor's Project on Block-based Programming Environments (co-supervision)
- 2018/19
-
- Introduction to Programming I, BA lecture (exercises, tutorials)
- Bachelor's Project on Block-based Programming Environments (co-supervision)
- 2018
-
- Machine Learning on Code Repositories, MA seminar
- Software Engineering I, BA lecture (topics: Testing, TDD)
- 2017/18
-
- Code Repository Mining, MA seminar
- Context-oriented Programming, MA seminar
- Programming Language Design and Implementation, BA seminar
- 2017
-
- Source Code at Scale, Master's project
- Software Engineering I, BA lecture (topics: Testing & TDD)
- Programming Languages, Concepts, Tools, and Environments, MA seminar
- 2016/17
-
- Software Modularity, BA seminar
- 2016
-
- History of Programming Languages, BA seminar
- Software Engineering I, BA lecture (topics: Testing & TDD)
- 2015/16
-
- Introduction to Programming I, BA lecture (exercises, tutorials)
- 2015
-
- Software Engineering I, BA lecture (topics: TDD)
Conference Photography
These are outgoing links to Flickr. If you want to remove a photo for privacy reasons or need additional permissions not covered by the existing license, contact me using any of the above channels.
Curriculum Vitae
This CV is intentionally incomplete and restricted to information that is already public. More detailed information is available upon request.
Professional Preparation and Education
- 2015 - current
- Ph.D. Student, Software Architecture Group, Hasso Plattner Institute (HPI), University of Potsdam, Germany.
- 2012 - 2015
- M.Sc. IT-Systems Engineering (Distinction), HPI, University of Potsdam
- 2012
- SAP Innovation Center Potsdam, Germany
Programming Models Research for SAP HANA - 2009 - 2012
- B.Sc. IT-Systems Engineering (Distinction), HPI, University of Potsdam
- 2009
- Intern, Laser Particle Acceleration Division, Institute for Radiation Physics, HZDR, Dresden, Germany
C++-based Abstractions for Simulations on HPC Clusters - 2009
- Intern, Chair for Software Technology, Friedrich Schiller University Jena, Germany
Java-based Genetic Programming Framework - 2005 - 2009
- Albert Schweitzer Academic High School for Math, Sciences, and Computer Science, Erfurt (2009 Higher Education Entrance Certificate "Abitur", Distinction)
Scientific Community Participation
- Committees
-
- Student Volunteer Co-chair, ‹Programming› 2023
- Program Committee, ‹Programming› 2023
- Extended Review Committee & Artifact Evaluation Committee, ECOOP 2022
- Program Committee, MSR 2022 (Technical Papers)
- Program Committee, MSR 2021 (Technical Papers)
- Virtualization Co-chair, ‹Programming› 2021
- External Review Committee, ECOOP 2020
- Virtualization Co-chair, ECOOP 2020
- Student Volunteer Co-chair, ECOOP 2020
- Student Volunteer Co-chair, ‹Programming› 2020
- Student Volunteer Co-chair, ‹Programming› 2019
- Reviewer (including sub-reviews)
-
- 2023 The Art, Science, and Engineering of Programming (Vol. 2)
- 2023 MSR
- 2022 The Art, Science, and Engineering of Programming (Vol. 2)
- 2022 ECOOP
- 2022 MSR
- 2021 VL/HCC
- 2021 Onward!
- 2021 MSR
- 2021 ICCQ
- 2020 OOPSLA
- 2020 ECOOP
- 2020 VL/HCC
- 2019 Onward!
- 2019 The Art, Science, and Engineering of Programming (Vol. 3)
- 2018 The Art, Science, and Engineering of Programming (Vol. 2)
- 2018 Onward!
- 2018 ECOOP
- 2017 The Art, Science, and Engineering of Programming (Vol. 1)
- 2017 Managed Languages (ManLang)
- 2017 LASSY Workshop
- 2017 Dynamic Languages Symposium (DLS)
- 2016 Computer Languages, Systems and Structures (COMLAN) Journal
- 2016 Dynamic Languages Symposium (DLS)
- 2016 FlexMDE Workshop
- Student Volunteer
-
- UIST 2018, Berlin, Germany
- Programming 2018, Nice, France
- SPLASH 2017, Vancouver, BC, Canada
- SPLASH 2016, Amsterdam, Netherlands
- ECOOP 2016, Rome, Italy
- Photographer
-
- Programming 2019, Genoa, Italy
- UIST 2018, Berlin, Germany
- ECOOP 2018, Amsterdam, Netherlands
- FutureSOC Symposium 2018, Potsdam, Germany
- Programming 2018, Nice, France
- SPLASH 2017, Vancouver, BC, Canada
- OpenTechSummit 2017, Potsdam, Germany
- Programming 2017, Brussels, Belgium
- SPLASH 2016, Amsterdam, Netherlands
Awards and Scholarships
- 2018
- 3rd Price ACM Student Research Competition, Graduate Category, Programming 2018, Nice, France
- 2017
- 2nd Price ACM Student Research Competition, Graduate Category, Programming 2017, Brussels, Belgium
- 2010 - 2014
- German Academic Scholarship Foundation "Studienstiftung"
- 2009
- 1st Price "Bundeswettbewerb Informatik" (Nation-wide Computer Science Contest, Press Release, German)
- 2009
- 1st Price "Jugend Forscht" Thuringia (State-wide Youth Science Contest)
Research Topic: Emerging Swarm Intelligence in Evolutionary Agent Simulations (Abstract, German)
Skills
- Programming languages
- Python (since 2005)
- Smalltalk (since 2010)
- Scheme (for teaching)
- Java, C, C++ (since ~2008/09)
- Prolog, Rust, JavaScript, TypeScript, Ruby, C#, VB.NET, Scala, Haskell (every now and then)
- Teaching, scientific writing, presenting
- Statistics, data science, machine learning, large language models, generative AI
- Agile software development
- Test-driven development (practicing since 2011, instructing since 2015)
- Databases, SQL, ORMs, and performance (PostgreSQL, SAP HANA)
- System administration (Debian, Ubuntu, Windows)
Interests and Hobbyist Projects
- Photography
- My first contact with analog photography was before 2000, but I started actively photographing around 2004 when digital cameras had become affordable. I joined our institute's student photography club in 2009, covered numerous university-related events and mentored students. I enjoy multi-day hikes for remote landscape photography, cityscapes all over the world, food and event photography.
- Urban Gardening
- I explore how gardening works with the space, water, transportation, and waste management constraints in a city. I'm growing several types of herbs, rare chili cultivars, salads, tomatoes, tomatillos, eggplants, and berries on a few square meters on my porch while recycling organic waste and optimizing irrigation.
- Cooking
- I learned cooking to save money during my first university year. Once it became a daily habit and a social activity, I frequently tried and learned more complex dishes like sushi, curries, homemade pizza, pot roasts, countless hot-pots, beef and vegan burgers with homemade buns and sauces, summer rolls, and sourdough. I frequently use home-grown herbs and spices.
- Games
- I enjoy board games, particularly cooperative and legacy genres (Gloomhaven, Pandemic Legacy, Spirit Island) where specialization and team coordination are required, but most euro-style games are welcome, ranging from Ark Nova over Wingspan to Voidfall. During my undergrad time, I've been an avid real-time strategy player (StarCraft II, Age of Empires), but more recently I indulged in refactoring complex traffic networks in "Cities: Skylines" or hosting modded Minecraft worlds to optimize complex farms, machinery, and magic with friends.