Source code all the things.I am senior researcher in the Software Analysis and Transformation (SWAT) Team at the Centrum Wiskunde & Informatica (CWI), the Dutch national research institute for mathematics and computer science. I also hold a part-time appointment as professor at the University of Groningen. My work is focused on improving the construction and deployment of Domain-Specific Languages (DSLs), programming languages, and Model-Driven Development (MDD), to address software engineering challenges. Together with Paul Klint and Jurgen Vinju I am one of the designers of Rascal, a domain specific language for meta programming. I am also working together with William Cook on a model-driven programming framework, called Ensō.
Coordinates:
- Contact: Centrum Wiskunde & Informatica (CWI), Science Park 123 1098 XG, Amsterdam, The Netherlands, storm@cwi.nl, +31205924164, Curriculum vitae
- Online: Google Scholar; DBLP; Twitter; LinkedIn; Github; SWAT Github; Software Construction Course; Master Software Engineering; IFIP TC2 Working Group 2.16 on Language Design; EAPLS; Literary Magazine Lava (archived).
- Curriculum Vitae
Online Recordings
- Rascal: The Swiss Army Knife of Metaprogramming, Curry On 2016 [recording]
- Who's Afraid of Object Algebras? Joy of Coding 2014 [slides] [recording]
- Interviews I did for Release at SPLASH 2016: Martin Odersky (on Scala), Nada Amin and Ross Tate (on breaking Java's and Scala's type system).
Selected publications
- Tijs van der Storm and Geor Bakker. MATLAB Doesn't Love Me. Under submission.
- Rodin Aarssen and Tijs van der Storm. High-Fidelity Metaprogramming with Separator Syntax Trees. In: PEPM'20, [pdf], [doi].
- Paul Klint, Tijs van der Storm and Jurgen J. Vinju. Rascal, 10 Years Later. In: SCAM 2019, [pdf], [doi].
- Dimitrios S. Kolovos, Fady Medhat, Richard F. Paige, Davide Di Ruscio, Tijs van der Storm, Sebastian Scholze, and Athanasios Zolotas. Domain-specific languages for the design, deployment and manipulation of heterogeneous databases. In: MiSE@ICSE 2019, [pdf], [doi].
- Tim Soethout, Tijs van der Storm, and Jurgen Vinju. Static Local Coordination Avoidance for Distributed Objects. In: AGERE 2019, [pdf], [doi].
- Jouke Stoel, Tijs van der Storm, and Jurgen Vinju. AlleAlle: Bounded Relational Model Finding with Unbounded Data. In: Onward! 2019, [pdf], [doi].
- Rodin T.A. Aarssen, Jurgen J. Vinju, and Tijs van der Storm. Concrete Syntax With Black Box Parsers. In: <Programming'18>, [doi]
- Mauricio Verano Merino and Tijs van der Storm. Language Workbench Support for Block-Based DSLs. In: BLOCKS+ 2018, [pdf]
- Mauricio Verano Merino, Jurgen Vinju, and Tijs van der Storm. Bacatá: A Language Parametric Notebook Generator (Tool Demo). In: SLE'18, [pdf].
- Ulyana Tikhonova, Jouke Stoel, Tijs van der Storm, and Thomas Degueule. Constraint-based Run-time State Migration for Live Modeling. In: SLE'18, [pdf].
- Fabien Coulon, Thomas Degueule, Tijs van der Storm, and Benoit Combemale. Shape-Diverse DSLs: Languages without Borders. In: SLE'18, [pdf].
- Pablo Inostroza, and Tijs van der Storm. JEff: Objects for Effect. In: Onward!'18. [pdf].
- Mauricio Verano Merino, Jurgen J. Vinju, and Tijs van der Storm. Bacatá: a generic notebook generator for DSLs. In: DSLDI'17, collocated with SPLASH, 2017. [abstract]
- Riemer van Rozen and Tijs van der Storm. Towards live domain-specific languages: from text differencing to adapting models at run time. In: SOSYM, pp. 1–18, 2017. [doi] [preprint]
- Tijs van der Storm. Nomen: A Dynamically Typed OO Programming Language, Transpiled to Java. Accepted for NOOL'16. [preprint]
- Aggelos Biboudis, Pablo Inostroza, and Tijs van der Storm. Recaf: Java Dialects as Libraries. Accepted for GPCE'16. [preprint]
- Theologos Zacharapolous, Pablo Inostroza, and Tijs van der Storm. Extensible Modeling with Managed Data in Java. Accepted to GPCE'16. [preprint]
- Jouke Stoel, Tijs van der Storm, Jurgen Vinju, and Joost Bosman. Solving the Bank with Rebel. Accepted for ITSLE'16. [preprint]
- Pablo Inostroza and Tijs van der Storm. ChromaKey: Towards Extensible Reflective Architectures. Work in progress paper accepted to META'16 [draft]
- Pablo Inostroza and Tijs van der Storm. The Rascal Approach to Code in Prose, Computed Properties, and Language Extension: Solutions to the Language Workbench Challenge 2016. Accepted for LWC'16, 2016. [preprint]
- Pablo Inostroza and Tijs van der Storm. Modular Interpreters with Implicit Context Propagation. Accepted for COMLAN. [preprint]
- Felienne Hermans and Tijs van der Storm. TrueGrid: Code the Table, Tabulate the Data. In: SEMS, 2016. [draft]
- Tijs van der Storm and Felienne Hermans. Live Literals. In: LIVE, 2016. [draft]
- Paul Klint and Tijs Van Der Storm. Model Transformation with Immutable Data. In: ICMT, 2016. [preprint]
- Hennie Huijgens, Magiel Bruntink, Arie van Deursen, Tijs van der Storm, Frank Vogelezang. An exploratory study on functional size measurement based on code. In: ICSSP'16, 2016, [doi]
- Ali Afroozeh, Anastasia Izmaylova and Tijs Van Der Storm. Practical, General Parser Combinators. In: PEPM, 2016, [doi]
- Bas Basten, Jeroen van den Bos, Mark Hills, Paul Klint, Arnold Lankamp, Bert Lisser, Atze van der Ploeg, Tijs van der Storm, Jurgen Vinju. Modular Language Implementation in Rascal: Experience Report. In: Sci. Comput. Program., 2015, [preprint] [doi]
- Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, et al. Evaluating and Comparing Language Workbenches Existing Results and Benchmarks for the Future. In: Computer Languages, Systems & Structures, [doi] [pdf]
- Tijs van der Storm, Sebastian Erdweg (eds.) Proceedings of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI'15). (informal post-proceedings), 2015. [arxiv]
- Haoyuan Zhang, Zewei Chu, Bruno C.d.S. Oliveira and Tijs van der Storm. Scrap your Boilerplate with Object Algebras. In: OOPSLA, 2015. [pdf]
- Pablo Inostroza and Tijs van der Storm. Modular Interpreters for the Masses. Implicit Context Propagation with Object Algebras. In: GPCE, 2015. [pdf]
- Felienne Hermans and Tijs van der Storm. Copy-paste Tracking: Fixing Spreadsheets Without Breaking Them. In: ICLC, 2015. [pdf]
- Riemer van Rozen and Tijs van der Storm. Origin Tracking + Text Differencing = Textual Model Differencing. In: ICMT, 2015. [pdf]
- Tijs van der Storm and Jurgen Vinju. Towards Multilingual Programming Environments. In: Sci. Comput. Program. 97: 143–149, 2015. [pdf]
- Maria Gouseti, Chiel Peters and Tijs van der Storm. Extensible Language Implementation with Object Algebras (short paper). In: GPCE, 2014. [pdf]
- Sebastian Erdweg, Tijs van der Storm and Yi Dai. Capture-Avoiding and Hygienic Program Transformations. In: ECOOP, 2014. [arxiv]
- Tijs van der Storm, William R. Cook and Alex Loh. The Design and Implementation of Object Grammars. In: Sci. Comput. Program. 96: 460–487, 2014. [pdf]
- Pablo Inostroza Valdera, Tijs van der Storm and Sebastian Erdweg. Tracing program transformations with string origins. In: ICMT, 2014. [pdf]
- Sebastian Erdweg, Tijs van der Storm, Markus Völter, et al., The State of the Art in Language Workbenches. In: SLE. 2013. [pdf]
- Bruno C.d.S. Oliveira, Tijs van der Storm, Alex Loh and William R. Cook, Feature-Oriented Programming with Object Algebras. In: ECOOP, 2013. [pdf] [artifact]
- Tijs van der Storm, Semantic Deltas for Live DSL Environments (position paper). In: LIVE, 2013. [pdf]
- Alex Loh, Tijs van der Storm, and William R. Cook. Managed Data: Modular Strategies for Data Abstraction (Ensō Paper 1 of 6). In: Onward!, 2012. [pdf]
- Chair of the IFIP TC2 Working Group 2.16 on Language Design
- Treasurer of the EAPLS
- PC member ECOOP'20
- PC member Onward! 2020
- Program co-chair GPCE'19 (with Christoph Reichenbach)
- Publicity co-chair SPLASH'19 (with Aggelos Biboudis)
- Publications co-chair SPLASH'17 (with Alex Potanin)
- PC member Programming Conference
- PC member PEPM 2017
- General chair SLE 2016
- Co-organizer DSLDI 2016 (with Eric Walkinshaw)
- Co-organizer LWC 2016 (with Markus Voelter, Eugen Schindler and Meinte Boersma)
- Co-organizer SPLASH-I 2016 (with Eelco Visser)
- PC member GPCE 2016
- PC member OOPSLA 2016
- PC member Scala 2016
- PC member META 2016
- Publicity chair SPLASH 2016 (with Ron Garcia)
- AEC co-chair ECOOP 2016 (with Matthew Flatt)
- Co-organizer SPLASH-I 2015 (with Jan Vitek)
- Publicity co-chair SPLASH 2015 (with Craig Anslow)
- PC member Future Programming Workshop 2015
- PC member SLE 2015
- PC member ICMT 2015
- PC member GTTSE 2015
- Co-organizer DSLDI 2015 (with Sebastian Erdweg)
- ERC member PLDI 2014
- PC member SEMS 2014
- PC member and social media chair SLE 2014
- PC member FtJP 2014
- PC member Software Industry Conference 2016
- PC member Continuous Delivery Conference 2016
- Co-organizer Software Development Automation 2013 & 2014
- Current: Pablo Inostroza Valdera, Riemer van Rozen.
- Past: Atze van der Ploeg, Jeroen van den Bos.
- MSc students: Pim van Tegelen, Jelle van Assema, Renze Torensma, Guy Rombaut
- Past MSc students: Olav Trauschke, Theologos Zacharapolous, Robin Perz, Wouter Nederhof, Barry Postma, Pantellis Zisimopolous, Karl Chow, Matthisk Heimensen, Łukasz Harężlak, Anton Zhelyazkov, Santiago Valencia Vargas, Tobias Amman, Çigdem Aytekin, Khosrow Azizi, Sander Benschop, Dennis Blommesteijn, Theodora Boudale, Bas Brekelmans, Jorryt-Jan Dijkstra, Douwe Kasemier, Wouter Kwakernaak, Chiel Peters, Jimi van der Woning, Bart van Eijkelenburg, Jeremy Klamer, George Marmanides, Jasper Timmer, Ioannis Tzanellis, Kevin van der Vlist, Mike Bierlee, Arjen Brouwer, Chiel Labee, Daan Smit, Mark van der Tol, Arnoud Roo, Niels Beekman, Randy Fluit, Rob Smit, Chris Brouwer, Stephan J. Preeker, Arseni Storojev, Taco Witte, Michel de Graaf, Nickolas Heirbaut, Jeroen van Lieshout, Jeroen L. van Schagen, Alexander Bij