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
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
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
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
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
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
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
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
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
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
Fourth Generation Languages are Technical Debt (Extended Abstract)
Vadim Zaytsev, Johan Fabry
International Conference on Technical Debt, Tools Track (TD-TD), 2019
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.024
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.2162130
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
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
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
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
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]
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 (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
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
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
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
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
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
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
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