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 used to collaborate 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).
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
- Jean-Baptiste Döderlein, Riemer van Rozen, Tijs van der Storm. LiveRec: Prototyping Probes by Framing Debug Protocols. Under review at <Programming'24>.
- Gunter Mussbacher, Benoit Combemale, Jörg Kienzle, Lola Burgueño, Antonio Garcia-Dominguez, Jean-Marc Jézéquel, Gwendal Jouneaux, Djamel-Eddine Khelladi, Sébastien Mosser, Corinne Pulgar, Houari Sahraoui, Maximilian Schiedermeier, Tijs van der Storm. Polyglot Software Development: Wait, What? In: IEEE Software, January, 2024. To appear.
- Jonathan Edwards, Tomas Petricek, Tijs van der Storm. Live & Local Schema Change: Challenge Problems, In: LIVE'23. [pdf]
- Tijs van der Storm. Eelco Visser and IFIP WG 2.16. In: Eelco Visser Commemorative Symposium (EVCS 2023). 2023. [pdf]
- Tijs van der Storm. Semantics Engineering with Concrete Syntax. In: Eelco Visser Commemorative Symposium (EVCS 2023). 2023. [pdf]
- Tijs van der Storm, Felienne Hermans. Gradual Grammars: Syntax in Levels and Locales. In: Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE'22). 2022. [pdf]
- L. Thomas Van Binsbergen, Damian Frölich, Mauricio Verano Merino, Joey Lai, Pierre Jeanjean, Tijs Van Der Storm, Benoit Combemale, Olivier Barais. A Language-Parametric Approach to Exploratory Programming Environments. In: Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE'22). 2022. [pdf]
- Mauricio Verano Merino, Tom Beckmann, Tijs Van Der Storm, Robert Hirschfeld, Jurgen J. Vinju. Getting grammars into shape for block-based editors. In: Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering (SLE'21). 2021. [pdf]
- Jouke Stoel, Tijs van der Storm, Jurgen Vinju. Modeling with Mocking, In: 14th IEEE Conference on Software Testing, Verification and Validation (ICST'21). 2021. [pdf]
- Tim Soethout, Tijs van der Storm, Jurgen J Vinju. Automated Validation of State-Based Client-Centric Isolation with TLA+ In: Software Engineering and Formal Methods. SEFM 2020 Collocated Workshops: ASYDE. 2020. [pdf]
- L. Thomas Van Binsbergen, Mauricio Verano Merino, Pierre Jeanjean, Tijs Van Der Storm, Benoit Combemale, Olivier Barais. A principled approach to REPL interpreters. In: Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!'20). [pdf]
- Mauricio Verano Merino, Tijs Van Der Storm. Block-based syntax from context-free grammars. In: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering (SLE'20). [pdf]
- Tijs van der Storm and Geor Bakker. MATLAB Doesn't Love Me: an Essay. In: PX'20 [pdf]
- 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