Patrick Rein

researcher, programmer

Working on
Making information in our computers more accessible in our everyday life
Being a
PhD student, research assistant
Currently at
Software Architecture Group at the Hasso Plattner Institute, University of Potsdam, Germany

Communication

GitHub
codezeilen
Researchgate
Profile
ORCID
0000-0001-9454-8381
E-Mail
hi@patrickrein.de
Mastodon
@codezeilen@discuss.systems

Publications

2024
  1. Paul Methfessel, Tom Beckmann, Patrick Rein, Stefan Ramson, and Robert Hirschfeld. MµSE: Supporting Exploration of Software-Hardware Interactions Through Examples. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI) 2024, ACM, 2024 (to appear).
  2. (Editor’s Choice Award 2024) Patrick Rein and Christian Flach and Stefan Ramson and Eva Krebs and Robert Hirschfeld. Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment. In The Art, Science, and Engineering of Programming, Aspect-Oriented Software Association (AOSA), 2024 . online version
2023
  1. Patrick Rein, Tom Beckmann, Eva Krebs, Toni Mattis, and Robert Hirschfeld. Too Simple? Notions of Task Complexity used in Maintenance-based Studies of Programming Tools. In Proceedings of the IEEE/ACM International Conference on Program Comprehension (ICPC) 2023, IEEE, 2023 . preprint
  2. Tom Beckmann, Patrick Rein, Stefan Ramson, Joana Bergisek, and Robert Hirschfeld. Structured Editing for All: Deriving Usable Structured Editors from Grammars. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI) 2023, ACM, 2023 .
  3. Eva Krebs, Patrick Rein, Joana Bergsiek, Lina Urban, and Robert Hirschfeld. Probe Log: Visualizing the Control Flow of Babylonian Programming. In Proceedings of the Programming Experience Workshop 2023 (PX/23), ACM, 2023 ((to appear)).
2022
  1. Beckmann, Tom and Rein, Patrick and Mattis, Toni and Hirschfeld, Robert. Partial Parsing for Structured Editors. In Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2022, Auckland, New Zealand, December 6-7, 2022, pages 110–120, ACM, 2022 . online version
  2. Seitz, Klara and Rein, Patrick and Lincke, Jens and Hirschfeld, Robert. Digital Crochet: Toward a Visual Language for Pattern Description. In Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2022, Auckland, New Zealand, December 8-10, 2022, pages 48–62, ACM, 2022 . online version, preprint
  3. Rein, Patrick and Beckmann, Tom and Geier, Leonard and Mattis, Toni and Hirschfeld, Robert. Competitive Debugging: Toward Contests Promoting Debugging as a Skill. In Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2022, Auckland, New Zealand, December 8-10, 2022, pages 172–184, ACM, 2022 . online version, preprint
  4. Eva Krebs and Patrick Rein and Robert Hirschfeld. Example Mining: Assisting Example Creation to Enhance Code Comprehension. In Proceedings of the Programming Experience Workshop 2022 (PX/22), pages 60–66, ACM, 2022 .
  5. Patrick Rein and Tom Beckmann and Toni Mattis and Robert Hirschfeld. Toward Understanding Task Complexity in Maintenance-Based Studies of Programming Tools. In Proceedings of the Programming Experience Workshop 2022 (PX/22), pages 38–45, ACM, 2022 .
  6. Mattis, Toni and Beckmann, Tom and Rein, Patrick and Hirschfeld, Robert. First-Class Concepts: Reified Architectural Knowledge Beyond Dominant Decompositions. In Journal of Object Technology volume 21, pages 1–15, 2022 .
2021
  1. Mattis, Toni and Beckmann, Tom and Rein, Patrick and Hirschfeld, Robert. First-Class Concepts: Reifying Architectural Knowledge beyond the Dominant Decomposition. In Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP) 2021, pages 9–15, Association for Computing Machinery, 2021 .
  2. Rein, Patrick and Taeumel, Marcel and Hirschfeld, Robert. Towards a Theory of Factors that Influence Text Comprehension of Code Documents. In Design Thinking Research: Interrogating the Doing, Springer International Publishing, 2021 .
2020
  1. Beckmann, Tom and Ramson, Stefan and Rein, Patrick and Hirschfeld, Robert. Visual Design for a Tree-Oriented Projectional Editor. In Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming, pages 113–119, Association for Computing Machinery, 2020 . online version, preprint
  2. Black, Andrew and Ducasse, Stéphane and Nierstrasz, Oscar and Pollet, Damien and Cassou, Damien and Denker, Marcus and Thiede, Christoph and Rein, Patrick. Squeak by Example (5.3 edition). , lulu, 2020 .
  3. Rein, Patrick and Taeumel, Marcel and Hirschfeld, Robert. Towards Empirical Evidence on the Comprehensibility of Natural Language Versus Programming Language. In Design Thinking Research: Investigating Design Team Performance, pages 111–131, Springer International Publishing, 2020 . online version
  4. Beckmann, Tom and Ramson, Stefan and Rein, Patrick and Hirschfeld, Robert. Visual Design for a Tree-Oriented Projectional Editor. In Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming, pages 113–119, Association for Computing Machinery, 2020 . online version, preprint
  5. Mattis, Toni and Rein, Patrick and Hirschfeld, Robert. Three Trillion Lines: Infrastructure for Mining GitHub in the Classroom. In Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming, pages 1–6, Association for Computing Machinery, 2020 . online version, preprint
  6. Mattis, Toni and Rein, Patrick and Dürsch, Falco and Hirschfeld, Robert. RTPTorrent: An Open-source Dataset for Evaluating Regression Test Prioritization. In Proceedings of the Virtual Conference on Mining Software Repositories (MSR) 2020, pages 12 pages, IEEE, 2020 . preprint
  7. Niephaus, Fabio and Rein, Patrick and Edding, Jakob and Hering, Jonas and König, Bastian and Opahle, Kolya and Scordialo, Nico and Hirschfeld, Robert. Example-based live programming for everyone: building language-agnostic tools for live programming with LSP and GraalVM. In Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) 2020, Virtual, November, 2020, pages 1–17, ACM, 2020 . online version
2019
  1. Rein, Patrick and Lincke, Jens and Ramson, Stefan and Mattis, Toni and Niephaus, Fabio and Hirschfeld, Robert. Implementing Babylonian/S by Putting Examples Into Contexts: Tracing Instrumentation for Example-based Live Programming As a Use Case for Context-oriented Programming. In Proceedings of the Workshop on Context-oriented Programming (COP) 2019, pages 17–23, ACM, 2019 . online version, preprint
  2. Mattis, Toni and Rein, Patrick and Hirschfeld, Robert. Ambiguous, Informal, and Unsound: Metaprogramming for Naturalness. In Proceedings of the Workshop on Meta-Programming Techniques and Reflection (META) 2019, pages 1–10, ACM, 2019 . online version, preprint
  3. Rauch, David and Rein, Patrick and Ramson, Stefan and Lincke, Jens and Hirschfeld, Robert. Babylonian-Style Programming: Design and Implementation of an Integration of Live Examples Into General-Purpose Source Code. In The Art, Science, and Engineering of Programming, Aspect-Oriented Software Association (AOSA), 2019 . online version, preprint
2018
  1. Hirschfeld, Robert and Dürschmid, Tobias and Rein, Patrick and Taeumel, Marcel. Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns. In Proceedings of the 10th International Workshop on Context-Oriented Programming: Advanced Modularity for Run-time Composition, pages 39–47, ACM, 2018 . online version, preprint
  2. Rein, Patrick and Hirschfeld, Robert. The Exploration Workspace: Interleaving the Implementation and Use of Plain Objects in Smalltalk. In Conference Companion of the 2Nd International Conference on Art, Science, and Engineering of Programming, pages 113–116, ACM, 2018 . online version, preprint
  3. Rein, Patrick and Ramson, Stefan and Lincke, Jens and Hirschfeld, Robert and Pape, Tobias. Exploratory and Live, Programming and Coding: A Literature Study Comparing Perspectives on Liveness. , pages 1:1–1:33, 2018-07-23 . preprint
2017
  1. Mattis, Toni and Rein, Patrick and Ramson, Stefan and Lincke, Jens and Hirschfeld, Robert. Towards concept-aware programming environments for guiding software modularity. In Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, PX/17.2, Vancouver, BC, Canada, October 23-27, 2017, pages 36–45, ACM, 2017 . online version, preprint
  2. Rein, Patrick and Ramson, Stefan and Lincke, Jens and Felgentreff, Tim and Hirschfeld, Robert. Group-Based Behavior Adaptation Mechanisms in Object-Oriented Systems. , pages 78–82, 2017-11 . preprint
  3. Rein, Patrick and Lincke, Jens and Ramson, Stefan and Mattis, Toni and Hirschfeld, Robert. Living in Your Programming Environment: Towards an Environment for Exploratory Adaptations of Productivity Tools. In Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience (PX) 2017, pages 17–27, ACM, 2017 . online version, preprint
  4. Rein, Patrick and Taeumel, Marcel and Hirschfeld, Robert and Perscheid, Michael. Exploratory Development of Data-intensive Applications. In Proceedings of the Programming Experience Workshop 2017 (PX/17), co-located with the Conference on the Art, Science, and Engineering of Programming 2017, 2017 . online version, preprint
  5. Mattis, Toni and Rein, Patrick and Hirschfeld, Robert. Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming. , AOSA, 2017 . online version, preprint
2016
  1. Felgentreff, Tim and Pape, Tobias and Rein, Patrick and Hirschfeld, Robert. How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: An Experience Report of Using the RPython Toolchain. In Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies, IWST 2016, Prague, Czech Republic, August 23-24, 2016, pages 21, ACM, 2016 . online version, preprint
  2. Rein, Patrick and Lehmann, Robert Hirschfeld Stefan and Lincke, Jens. Compatibility layers for interface mediation at run-time. In Proceedings of the Workshop on Live Adaptation of Software SYstems (LASSY) 2016, co-located with the Conference on Modularity (Modularity) 2016, pages 113–118, ACM DL, 2016-03-14 . online version, preprint
  3. Lehmann, Stefan and Felgentreff, Tim and Lincke, Jens and Rein, Patrick and Hirschfeld, Robert. Reactive object queries: consistent views in object-oriented languages. In Proceedings of the Constrained and Reactive Objects Workshop (CROW) 2016, co-located with the Conference on Modularity (Modularity) 2016, pages 23–28, ACM DL, 2016-03-14 . online version, preprint
  4. Mattis, Toni and Rein, Patrick and Hirschfeld, Robert. Transaction layers: controlling granularity of change in live programming environments. In Proceedings of the Workshop on Context-Oriented Programming (COP) 2016, co-located with the European Conference on Object-oriented Programming (ECOOP), pages 1–6, ACM, 2016-07-19 . online version, preprint
  5. Rein, Patrick and Lehmann, Stefan and Mattis, Toni and Hirschfeld, Robert. How live are live programming systems? Benchmarking the response times of live programming environments. In Proceedings of the Programming Experience 2016 (PX/16) Workshop, co-located with the European Conference on Object-oriented Programming (ECOOP), ACM DL, 2016-07-18 . online version, preprint
  6. Rein, Patrick and Hirschfeld, Robert and Taeumel, Marcel. Gramada: Immediacy in Programming Language Development. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2016, co-located with the Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA) 2016, pages 165–179, ACM, 2016 . online version, preprint
2015
  1. Mattis, Toni and Henning, Johannes and Rein, Patrick and Hirschfeld, Robert and Appeltauer, Malte. Columnar objects: improving the performance of analytical applications. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2015, co-located with the Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA) 2015, pages 197–210, 2015-10-28 . online version, preprint
2013
  1. Rein, Patrick and Champanis, Michael and Rivett, Ulrike. Drop drop: prototyping a mobile application educating on the water system through private meter readings. In Proceedings of the Conference on Information and Communication Technologies and Development (ICTD) 2013: Notes, pages 124–127, 2013-12-07 . online version

Service

Program Committee Member
ECOOP (2020), ECOOP Artifacts (2022), PX (2024 - 2020), PAINT (2022), LIVE (2020, 2019), COP (2021)
Organizing Committee Member
‹Programming› Journal Artifact Evaluation Co-chair (2024 - 2022), ‹Programming› Virtualization Co-chair (2021), ‹Programming› Conversation Starters Co-chair (2021), ECOOP Posters Co-chair (2020), ECOOP Virtualization Co-chair (2020)
Reviewer
ECOOP ERC (2022), VL/HCC (2020), SLE (2018), ‹Programming› (2017), SAC (2017), DLS (2016)
Other
Secretary and Treasurer of AOSA (present - 2018)

Teaching

Co-supervised Master Theses
  • Language-Independent Data-Flow Tracing in Dynamic Runtime Systems. Kolya Opahle. 2022
  • Example Mining for Babylonian Programming. Eva Krebs. 2021
  • Call Graphs for Live Programming: Implementing Call Tracing in Babylonian/S based on a Survey of Property Extraction Techniques for Dynamic Analysis. Christian Flach. 2021
  • SandBlocks: Design and Implementation of a Projectional, Live Programming Environment Using a Block-based User Interface. Tom Beckmann. 2020
  • Design, Implementation and Evaluation of Reified Version-Control in an In-Memory Graph Database. Alexander Meißner. 2020
  • Fast Packrat Parsing in a Live Programming Environment. Friedrich Schöne. 2019
  • Learning from Failure: A History-based, Lightweight Test Prioritization Technique Connecting Software Changes to Test Failures. Falco Dürsch. 2019
  • Towards an Executable and Comprehensive Checklist for Benchmarks. Niklas Hoffmann. 2019
  • Babylonian-style Programming: Designing and Implementing an Integration of Live Examples into General-purpose Source Code. David Rauch. 2018
Master Projects
  • Software development tools for polyglot programming master's project seminar. Winter term 2019/2020. Hirschfeld, Niephaus, Felgentreff, Rein
  • Design and implementation of a live programming tool set for heterogeneous simulations in Squeak/Smalltalk master's project seminar. Summer term 2019. Hirschfeld, Ramson, Rein
  • Source code at scale: Analyzing idiom and pattern usage across GitHub master's project seminar. Summer term 2017. Hirschfeld, Mattis, Rein
Master Seminars
  • Advanced Programming Tools. Winter term 2022/2023. Hirschfeld, Rein, Taeumel
  • Programming experience. Winter term 2021/2022. Hirschfeld, Taeumel, Mattis, Lincke, Rein
  • Programming languages, concepts, tools, and environments. Winter term 2020/2021. Hirschfeld, Taeumel, Lincke, Mattis, Rein, Niephaus, Ramson
  • Software design. Summer term 2019. Hirschfeld, Lincke, Ramson, Rein
  • Reverse engineering. Winter term 2018/2019. Hirschfeld, Lincke, Rein, Ramson, Taeumel, Matthis, Pape, Niephaus, Henning
  • Programming experience. Summer term 2018. Hirschfeld, Rein, Taeumel, Mattis, Lincke, Ramson
  • Context-oriented Programming. Winter term 2017/2018. Hirschfeld, Pape, Taeumel, Lincke, Rein, Ramson
  • Programming language concepts, tools, and environments. Summer term 2017. Hirschfeld, Rein, Ramson
  • Live programming systems. Winter term 2016/2017. Hirschfeld, Rein, Lehmann
  • Web-based development environments. Summer term 2016. Hirschfeld, Lincke, Lehmann, Rein
  • End-user programming. Summer term 2016. Hirschfeld, Felgentreff, Rein, Taeumel
  • Programming language concepts, tools, and environments. Winter term 2015/2016. Hirschfeld, Rein, Taeumel, Felgentreff

Awards / Scholarships

  • Editor's Choice Award 2024 of the The Art, Science, and Engineering of Programming Journal for the article "Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment"
  • ECOOP 2022 Distinguished Artifact Reviewer Award
  • AOSA Outstanding Service Award 2021
  • First Price of the ACM Student Research Competition (Graduate Category) at ‹Programming› 2019
  • Scholarship from Studienstiftung des Deutschen Volkes