Scientist, Developer.

About me

I am a senior software engineer working at Raincode and Raincode Labs on a variety of projects regarding software modernization: on the one hand migrating software written by the client off of the mainframe, and on the other hand providing contemporary solutions for large codebases written in old (niche) languages. I mainly do a lot of source code transformation but have also have worked on making existing large software bases from the mainframe compile on Raincode compilers.

From mid 2007 to the beginning of 2017 I was a professor in software engineering at the computer science department (DCC) of the University of Chile. My research had an overall focus on easing programmers’ jobs by providing them with the right abstractions for the task at hand. I practiced what I preached so my research and teaching always was accompanied by software tools I built myself or with my students. My teaching tool was web-based and used yearly by 80+ students, other tools are open-source with public bugtrackers and use of CI infrastructure.

I specifically worked in the field of programming languages and software engineering and co-founded the Pleiad laboratory in 2007. In 2014 I co-founded the RyCh laboratory to reflect my shift in focus to software engineering for robotics.

Publications

Below is a manually curated list of my published work. I can also be found on the following bibliography pages: dblp, Google scholar.

Click to jump to: Conferences and Journals Books Book Chapters

Publications in refereed conferences or journals

2022

Generating Customised Control-Flow Graphs for Legacy Languages with Semi-Parsing.
Céline Deknop, Johan Fabry, Kim Mens, Vadim Zaytsev
Proceedings of the 38th IEEE International Conference on Software Maintenance and Evolution (ICSME), October 2022, IEEE Computer Society Press
DOI:10.1109/ICSME55016.2022.00072 pdf

Testing a PL/I Compiler Using Precomputation-based Program Generation
Jesse Postema, Johan Fabry, Yannick Barthol, Ana Oprescu
Proceedings of 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), April 2022, IEEE Computer Society Press
DOI:10.1109/ICST53961.2022.00042 pdf

2021

Mining for Graph-Based Library Usage Patterns in COBOL Systems
Ruben Opdebeeck, Johan Fabry, Tim Molderez, Jonas De Bleser, Coen De Roover
2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Mar 2021, pp 595-599
DOI:10.1109/SANER50967.2021.00072 pdf

A Scalable Log Differencing Visualisation Applied to COBOL Refactoring
Céline Deknop, Kim Mens, Alexandre Bergel, Johan Fabry, Vadim Zaytsev
Proceedings of 9th IEEE Working Conference on Software Visualization, Sept 2021, IEEE Computer Society Press
DOI:10.1109/VISSOFT52517.2021.00010 pdf

2020

Improving a Software Modernisation Process by Differencing Migration Logs
Celine Deknop, Johan Fabry, Kim Mens, Vadim Zaytsev
International Conference on Product-Focused Software Process Improvement (PROFES 2020), Nov 2020, LNCS 12562 pp 270-286, Springer-Verlag
DOI:10.1007/978-3-030-64148-1_17 pdf

Engineering a Converter between two Domain-Specific Languages for Sorting (IEEE Distinguished Engineering Paper Award)
Johan Fabry, Ynès Jaradin, Aynel Gül
Proceedings of 20th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM’20), Sept 2020, pp 221-226
DOI:10.1109/SCAM51674.2020.00030 pdf

2019

Mining Patterns in Source Code using Tree Mining Algorithms
Hoang Son Pham, Siegfried Nijssen, Kim Mens, Dario Di Nucci, Tim Molderez, Coen De Roover, Johan Fabry, Vadim Zaytsev
Proceedings of the 22nd International Conference on Discovery Science (DS), 2019, LNCS volume 11828 pp 471-480, Springer-Verlag
DOI: 10.1007/978-3-030-33778-0_35 pdf

A Language-Parametric Modular Framework for Mining Idiomatic Code Patterns
Dario Di Nucci, Hoang Son Pham, Johan Fabry, Coen De Roover, Kim Mens, Tim Molderez, Siegfried Nijssen, Vadim Zaytsev
Proceedings of the Seminar Series on Advanced Techniques & Tools for Software Evolution (SATTOSE 2019)
CEUR-WS Vol-2510 pdf

The Meager Validation of Live Programming
Johan Fabry
Proceedings of the Conference Companion of the 3rd International Conference on Art, Science, and Engineering of Programming
DOI: 10.1145/3328433.3328457 pdf

Live programming in practice: A controlled experiment on state machines for robotic behaviors
Miguel Campusano, Johan Fabry, Alexandre Bergel
Information & Software Technology 108: 99-114 (2019)
DOI: 10.1016/j.infsof.2018.12.0087 pdf

Fourth Generation Languages are Technical Debt (Extended Abstract)
Vadim Zaytsev, Johan Fabry
International Conference on Technical Debt, Tools Track (TD-TD), 2019
pdf

A Language-Parametric Toolchain for Mining Idiomatic Code Patterns. (Tool Demo)
Johan Fabry, Vadim Zaytsev, Kim Mens, Siegfried Nijssen, Hoang Son Pham, Coen De Roover, Dario Di Nucci, Tim Molderez
‹Programming› 2019 Demos Track, 2019.

The Robot Operating System: Package reuse and community dynamics
Pablo Estefo, Jocelyn Simmonds, Romain Robbes, Johan Fabry
Journal of Systems and Software 151: 226-242 (2019)
DOI: 10.1016/j.jss.2019.02.024pdf

Qualify First! A Large Scale Modernisation Report
Leszek Wlodarski, Boris Pereira, Ivan Povazan, Johan Fabry, Vadim Zaytsev
IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) pp 569-573
DOI: 10.1109/SANER.2019.8668006 pdf

2017

Live Robot Programming: The Language, its Implementation, and Robot API Independence
Miguel Campusano, Johan Fabry
Science of Computer Programming, volume 133, pp.1-19, 2017, Elsevier
DOI: 10.1016/j.scico.2016.06.002 pdf

2016

AspectJ Code Analysis and Verification with GASR
Johan Fabry, Coen De Roover, Carlos Noguera, Steffen Zschaler, Awais Rashid, Viviane Jonckers
Journal of Systems and Software, volume 117, pp.528-544, 2016, Elsevier
DOI: 10.1016/j.jss.2016.04.014 pdf

Expressing aspectual interactions in design: evaluating three AOM approaches in the slot machine domain
Johan Fabry, Arturo Zambrano, Silvia Gordillo
Software & Systems Modeling, volume 15, pp.881-905, July 2016, Springer-Verlag
DOI: 10.1007/s10270-014-0442-0 pdf

Interactive Visualizations for Testing Physics Engines in Robotics (Tool Demo)
Johan Fabry, Stephen Sinclair
Proceedings of 4th IEEE Working Conference on Software Visualization, Oct 2016, IEEE Computer Society Press
DOI: 10.1109/VISSOFT.2016.7 pdf

2015

A Taxonomy of Domain-Specific Aspect Languages
Johan Fabry, Tom Dinkelaker, Jacques Noyé, Éric Tanter
Computing Surveys, volume 47, number 3, pp.40:1-40:44, April 2015, ACM Press
DOI: 10.1145/2685028 pdf

Code duplication in ROS launchfiles
Pablo Estefo, Romain Robbes, Johan Fabry
2015 34th International Conference of the Chilean Computer Science Society (SCCC), November 2015, IEEE Computer Society Press
DOI: 10.1109/SCCC.2015.7416575 pdf

From Robots to Humans: Visualizations for Robot Sensor Data
Miguel Campusano, Johan Fabry
Proceedings of the IEEE 3rd Working Conference on Software Visualization (VISSOFT 2015), pp.135-139, 2015, IEEE Computer Society Press
DOI: 10.1109/VISSOFT.2015.7332424 pdf

2014

AspectMaps: Extending Moose to Visualize AOP Software
Johan Fabry, Andy Kellens, Simon Denier, Stephane Ducasse
Science of Computer Programming, volume 79, number 1, pp.6-22, January 2014, Elsevier
DOI: 10.1016/j.scico.2012.02.007 pdf

Confined Gradual Typing
Esteban Allende, Johan Fabry, Ronald Garcia, Éric Tanter
Proceedings of the 29th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2014), pp.251-270, Portland, OR, USA, October 2014, ACM Press
DOI: 10.1145/2660193.2660222 pdf

DIE: A Domain Specific Aspect Language for IDE Events
Johan Fabry, Romain Robbes, Marcus Denker
Journal of Universal Computer Science, volume 20, number 2, pp.135-168, February 2014
DOI: 10.3217/jucs-020-02-0135 pdf

Gradual Typing for Smalltalk
Esteban Allende, Oscar Callaú, Johan Fabry, Éric Tanter, Marcus Denker
Science of Computer Programming, volume 96, number 1, pp.52-69, December 2014, Elsevier
DOI: 10.1016/j.scico.2013.06.006 pdf

Live Robot Programming
Johan Fabry, Miguel Campusano
Advances in Artificial Intelligence – IBERAMIA 2014, number 8864, pp.445-456, 2014, Springer-Verlag
DOI: 10.1007/978-3-319-12027-0_36 pdf

PHANtom: a Modern Aspect Language for Pharo Smalltalk
Johan Fabry, Daniel Galdames
Software—Practice and Experience, volume 44, number 4, pp.393-412, April 2014, Wiley & Sons
DOI: 10.1002/spe.2117 pdf

Seamless Composition and Reuse of Customizable User Interfaces with Spec
Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry
Science of Computer Programming, volume 96, number 1, pp.34-51, December 2014, Elsevier
DOI: 10.1016/j.scico.2013.11.035 pdf

2013

Aspectual Source Code Analysis with GASR
Johan Fabry, Coen De Roover, Viviane Jonckers
Proceedings of 13th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM’13), pp.53-62, Eindhoven, Netherlands, Sept 2013
DOI: 10.1109/SCAM.2013.6648184 pdf

Cast Insertion Strategies for Gradually-Typed Objects
Esteban Allende, Johan Fabry, Éric Tanter
Proceedings of the 9th ACM Dynamic Languages Symposium (DLS 2013), pp.27-36, Indianapolis, IN, USA, October 2013, ACM Press, ACM SIGPLAN Notices , 49(2)
DOI: 10.1145/2508168.2508171 pdf

Design Decisions in AspectMaps
Johan Fabry, Alexandre Bergel
Proceedings of the 1st IEEE Working Conference on Software Visualization (VISSOFT’13), Eindhoven, Netherlands, Sept 2013
DOI: 10.1109/VISSOFT.2013.6650548 pdf

2012

DSAL ‘12: Proceedings of the seventh workshop on Domain-Specific Aspect Languages
Tom Dinkelaker, Johan Fabry, Jacques Noyé
Potsdam, Germany, 2012, ACM Press
Available at http://dl.acm.org/citation.cfm?id=2162037

Expressing Aspectual Interactions in Requirements Engineering: Experiences, Problems and Solutions
Arturo Zambrano, Johan Fabry, Silvia Gordillo
Science of Computer Programming, volume 78, number 1, pp.65-92, Nov 2012, Elsevier
DOI: 10.1016/j.scico.2011.12.004 pdf

Method Lookup Simulation with a Gradual Typing Language
Esteban Allende, Johan Fabry
Chilean Computer Science Society (SCCC), 31st International Conference of the, pp.1-8, 2012, IEEE Computer Society Press
DOI: 10.1109/SCCC.2012.7

PHANtom: an aspect language for Pharo Smalltalk (Tool Demo)
Johan Fabry
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion, pp.31-32, Potsdam, Germany, 2012, ACM Press
DOI: 10.1145/2162110.2162130pdf

2011

AspectMaps: A Scalable Visualization of Join Point Shadows
Johan Fabry, Andy Kellens, Stéphane Ducasse
Proceedings of 19th IEEE International Conference on Program Comprehension (ICPC2011), pp.121-130, Jul 2011, IEEE Computer Society Press
DOI: 10.1109/ICPC.2011.11 pdf

Expressing Aspectual Interactions in Design: Experiences in the Slot Machine Domain (ACM distinguished paper award)
Johan Fabry, Arturo Zambrano, Silvia Gordillo
Model Driven Engineering Languages and Systems, volume 6981, pp.93-107, 2011, Springer-Verlag
DOI: 10.1007/978-3-642-24485-8_8 pdf

Supporting Aspect Oriented Requirements Engineering for Large Documents
Arturo Zambrano, Julian Rousselot, Johan Fabry, Silvia Gordillo
Electronic Journal of SADIO, volume 10, number 1, pp.38-52, April 2011

2010

A Fine Grained Aspect Coordination Mechanism
Arturo Zambrano, Silvia Gordillo, Johan Fabry
International Journal of Software Engineering and Knowledge Engineering (IJSEKE), volume 20, number 7, pp.1025-1042, November 2010 DOI: 10.1142/S021819401000502X pdf

Expressing aspectual interactions in requirements engineering: experiences in the slot machine domain
Arturo Zambrano, Johan Fabry, Guillermo Jacobson, Silvia Gordillo
Proceedings of the 2010 ACM Symposium on Applied Computing (SAC 2010), pp.2161-2168, Sierre, Switzerland, 2010, ACM Press DOI: 10.1145/1774088.1774545 pdf

Supporting Aspect Oriented Requirements Engineering for Large Documents
Arturo Zambrano, Julian Rousselot, Johan Fabry, Silvia Gordillo
Proceedings of the Argentinean Symposium on Software Engineering (ASSE’10), pp.568-577, Buenos Aires, Argentina, August 2010, Sociedad Argentina de Investigación Operativa

Scoping Strategies for Distributed Aspects
Éric Tanter, Johan Fabry, Rémi Douence, Jacques Noyé, Mario Südholt
Science of Computer Programming, volume 75, number 12, pp.1235-1261, December 2010, Elsevier
DOI: 10.1016/j.scico.2010.06.011]pdf

2009

Expressive Scoping of Distributed Aspects
Éric Tanter, Johan Fabry, Rémi Douence, Jacques Noyé, Mario Südholt
Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development (AOSD 2009), pp.27-38, Charlottesville, Virginia, USA, March 2009, ACM Press
DOI: 10.1145/1509239.1509245 pdf(Superseded by SCP 2010)

Infrastructure for Domain-Specific Aspect Languages: the ReLAx case study
Johan Fabry, Éric Tanter, Theo D’Hondt
IET Software, volume 3, number 3, pp.238-254, June 2009
DOI: 10.1049/iet-sen.2007.0120 pdf

Proceedings of the 4th workshop on Domain-Specific Aspect Languages
Thomas Cleenewerck, Johan Fabry, Anne-Francoise Lemeur, Jacques Noyé, Éric Tanter
Proceedings of the 4th workshop on Domain-Specific Aspect Languages, Charlottesville, VA, USA, March 2009, ACM Press

Supporting Composition of Structural Aspects in an AOP Kernel
Éric Tanter, Johan Fabry
Journal of Universal Computer Science, volume 15, number 3, pp.620-647, 2009
DOI: 10.3217/jucs-015-03-0620 pdf

2008

Context distribution for supporting composition of applications in ubiquitous computing
Carlos Noguera, Ellen Van Paesschen, Carlos Parra, Johan Fabry
Proceedings of the 23rd ACM Symposium on Applied Computing (SAC 2008), pp.1647-1648, Fortaleza, Ceara, Brazil, 2008, ACM

KALA: Kernel Aspect Language for Advanced Transactions
Johan Fabry, Éric Tanter, Theo D’Hondt
Science of Computer Programming, volume 71, number 3, pp.165-180, May 2008, Elsevier
DOI: 10.1016/j.scico.2007.10.004 pdf

Summary of the 3rd workshop on Domain-Specific Aspect Languages
Thomas Cleenewerck, Jacques Noyé, Johan Fabry, Anne-Francoise Lemeur, Éric Tanter
Summary of the 3rd workshop on Domain-Specific Aspect Languages, Brussels, Belgium, April 2008, ACM Press
DOI: 10.1145/1404927.1404928 pdf

2007

A Unified Mechanism for Improving Advanced Transaction Management in Web Services
Sergio Castro, Johan Fabry, Kim Mens, Theo D’Hondt
Proceedings of the XXVI International Conference of the Chilean Computer Science Society, pp.30-39, Iquique, Chile, November 2007, IEEE Computer Society

Aspects, Dependencies and Interactions
Frans Sanen, Ruzanna Chitchyan, Lodewijk Bergmans, Johan Fabry, Mario Südholdt, Katharina Mehner
ECOOP 2007 Workshop Reader, volume 4906, pp.26-39, 2007, Springer-Verlag

Summary of the 2nd workshop on Domain-Specific Aspect Languages
Johan Fabry, Damijan Rebernak, Thomas Cleenewerck, Anne-Francoise Lemeur, Jacques Noyé, Éric Tanter
Summary of the 2nd workshop on Domain-Specific Aspect Languages, Vancouver, Canada, March 2007, ACM Press
HAL: inria-00468317, version 1 pdf

2006

KALA: Kernel Aspect Language for Advanced Transactions
Johan Fabry, Theo D’Hondt
Proceedings of the 2006 ACM Symposium on Applied Computing, pp.1615-1620, Dijon, France, 2006, ACM Press

2004

Language-Independent Detection of Object-Oriented Design Patterns
Johan Fabry, Tom Mens
Science of Computer Programming, volume 30, number 1-2, pp.21-33, April-July 2004, Elsevier

2001

Experiences in Mobile Computing: The CBorg Mobile Multi-Agent System
Werner Van Belle, Johan Fabry, Karsten Verelst, Theo D’Hondt
Proceedings of International Conference on Technology of Object-Oriented Languages (TOOLS Europe 2001), pp 7-18, Zurich, Switzerland, 2001, IEEE
DOI: 10.1109/TOOLS.2001.911751 pdf

Books

Proceedings of the 7th IEEE Working Conference on Software Visualization (VISSOFT 2019)
Johan Fabry, Craig Anslow, Michael Burch
IEEE Computer Society 2019, ISBN 978-1-7281-4939-4
On line

The Spec UI Framework
Johan Fabry, Stephane Ducasse
Square Bracket Associates, 2017
On line

Enterprise Pharo, a Web Perspective
Damien Cassou, Stephane Ducasse, Luc Fabresse, Johan Fabry, Sven Van Caekenberghe (eds.)
Square Bracket Associates, 2015
On line

Proceedings of the 4th IEEE Working Conference on Software Visualization (VISSOFT 2016)
Bonita Sharif, Christopher Parnin, Johan Fabry
IEEE Computer Society 2016, ISBN 978-1-5090-3850-3
On line

Proceedings of the 8th International Symposium on Software Composition (SC 2009)
Alex Bergel, Johan Fabry
LNCS volume 5634, 2009, Springer-Verlag
DOI: 10.1007/978-3-642-02655-3

Book chapters, journal special sections and editions

Experience Report: AORE in Slot Machines
Arturo Zambrano, Johan Fabry, Silvia Gordillo
Aspect-Oriented Requirements Engineering, pp.317-332, 2013, Springer-Verlag
DOI: 10.1007/978-3-642-38640-4_16 pdf

Special edition of the Journal of Software: Evolution and Process for the 4th IEEE Working Conference on Software Visualization (VISSOFT 2016)
Christopher Parnin, Johan Fabry
Journal of Software: Evolution and Process 30(2) (2018)
DOI: 10.1002/smr.1940

Editorial for Special Section on Dependencies and Interactions with Aspects
Ruzanna Chitchyan, Johan Fabry, Shmuel Katz, Arend Rensink
Transactions on Aspect-Oriented Software Development, volume 5490, pp.133-134, 2009, Springer-Verlag
DOI: 10.1007/978-3-642-02059-9_4