Portrait of Patrick Rein

Patrick Rein

programmer, researcher

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

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

Publications

2020
  1. 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
  2. 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
  3. 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
  4. 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 (to appear). pages 12 pages, IEEE, 2020. preprint
2019
  1. 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
  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. 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
2018
  1. 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
  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. 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
2017
  1. 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
  2. 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
  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 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
  5. 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
2016
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
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), PX (2020), LIVE (2020, 2019)
Organizing Committee Member
ECOOP Posters Co-chair (2020), ECOOP Virtualization Co-chair (2020)
Reviewer
VL/HCC (2020), SLE (2018), Programming (2017), SAC (2017), DLS (2016)
Other
Secretary and Treasurer of AOSA (2018 - present)

Teaching

Co-supervised Master Theses
  • 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
  • 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