Research Interests
1. Software Release Engineering
Question: What do Mary Shelley's “Frankenstein” and software systems have in common? Answer: Surprisingly much! Similar to Frankenstein's monster, a software system is essentially built from “dead” artifacts, i.e., textual source code files, and binary libraries and data files. A mysterious build process, consisting of thousands of build tool and compiler invocations, in the right order and on the right artifacts, effectively stitches together a running software system. After medical checks (test suites) and getting dressed (wrapping up into an installable package), the monster heads out to the end user in a sneaky way (push model) or via the front door (pull model). This whole process is called software release engineering.
The beating heart of the software release engineering process is the build process, but, surprisingly, even with current technology the build process is still a mysterious and frustrating resource to work with. In particular, developers have a hard time keeping their projects buildable and configurable at all times, because this requires the build system to "co-evolve" in a synchronized way with the source code.
To understand this phenomenon of co-evolution, we have developed MAKAO, i.e. the Makefile Architecture Kernel featuring Aspect Orientation, to visualize and interactively query the build dependency graph of GNU Make-based build processes. We have used MAKAO, and other tools, to study the design of build processes, the evolution of the Linux kernel and Java-based build processes, and the build maintenance overhead experienced by developers.
2. Software Modularity
Software modularity separates software concerns into self-contained modules that can be composed in flexible, yet safe, ways to form the behaviour of a software system. A software concern can be anything that software stakeholders deem important about a software system, ranging from security and energy consumption, to business rules. In practice, such concerns do not map one-to-one on individual software modules, because of the tyranny of the dominant decomposition.
I rolled into the world of software modularity through the design of an aspect language for C called Aspicere. Inversion of dependencies makes AOSD a key technology to re-engineer legacy systems, e.g. to extract conditional compilation out of the base code. However, while working with Aspicere I experienced first-hand that the structured and uniform software concerns targeted by most modularity approaches, represent only a minority of software concerns. This observation prompted me to study software concerns in general.
We have developed a novel concern mining technique, named COMMIT, that is able to automatically mine for concerns, regardless of their implementation, based on the development history of a project. We have also been working on statistical models that can track the implementation of software concerns over time in order to accurately monitor the health of concerns.
3. Green Software
Energy consumption has been put forward as the greatest challenge for the software industry in the coming decade. Worldwide, software systems are currently hosted on more than 35 million servers across thousands of data centres. In the US, the total energy consumption of data centres in 2006 accounted for 1.5% of all electricity consumption, with a total cost of $4.5 billion. This energy consumption is estimated to increase by 12\% each year, and to double by 2011.
The exploding energy consumption has important implications. First, the total cost of ownership (TCO) of a software system increases significantly. Second, software systems become unreliable because of energy consumption overload. Third, given the limited energy resources on earth, the energy consumption of software threatens the energy reserves left for future generations.
I am currently active on a project to help companies monitor and test their systems' energy consumption. To be continued!
Awards
- Distinguished Paper Award at ICSE 2024's SEIP track.
- Best Paper Award at FORGE 2024.
- Distinguished reviewer award at MSR 2024.
- Distinguished reviewer award at FSE 2023.
- Distinguished reviewer award at SCAM 2021.
- MSR 2021 Foundational Contribution Award for his research and evangelization on release engineering (blog post)
- Distinguished reviewer award at ICPC 2021.
- Most Influential Paper Award for our SCAM 2010 paper.
- Most Influential Paper Award for our AOSD 2009 paper.
- Distinguished reviewer award at ICSME 2017.
- Distinguished reviewer award at SCAM 2017.
- Outstanding reviewer award at ICSE 2017.
- ACM SIGSOFT Distinguished Paper Award at ICSE 2016.
- IEEE Software Best Paper Award of the SEIP track at ICSE 2015.
- Distinguished reviewer award at ICSME 2014.
- Distinguished Paper Award at MSR 2014.
- ACM SIGSOFT Distinguished Paper Award at ICSE 2013.
- Best paper award at WCRE 2011.
- Best reviewer award at WCRE 2010.
- Best paper award at ICSM 2009.
Academic Service
Chair:
- general chair of the 21st International Conference on Mining Software Repositories (MSR), April 28-29, 2025 (Ottawa, ON)
- most influential paper co-chair (together with Alexander Serebrenik) of the 32nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), March 4-7, 2025 (Montreal, QC)
- general co-chair of the 1st ACM International Conference on AI-powered Software (AIware), July 15-16, 2024 (Porto de Galinhas, Brazil)
- most influential paper co-chair (together with Juergen Rilling) of the 23rd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), October 2-3, 2023 (Bogotá, Colombia)
- tool demo co-chair (together with Coen De Roover) of the 39th IEEE International Conference on Software Maintenance and Evolution (ICSME), October 1-6, 2023 (Bogotá, Colombia)
- area co-chair (together with Kelly Blincoe) for Software Analytics of the 45th International Conference on Software Engineering (ICSE), May 17-19, 2023 (Melbourne, Australia)
- tutorial co-chair (together with Alexander Serebrenik) of the 20th Working Conf. on Mining Software Repositories (MSR), May 15-16, 2023 (Melbourne, Australia)
- vision and reflection co-chair (together with Shaowei Wang) of the 19th Working Conf. on Mining Software Repositories (MSR), May 22-23, 2022 (virtual)
- PC co-chair (together with Sonia Haiduc) of the 16th International Conference on Mining Software Repositories (MSR), 2019 (Montréal, QC)
- artifacts co-chair (together with Amel Bennaceur) of the 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), September 6-8, 2017 (Paderborn, Germany)
- PC co-chair (together with Denys Poshyvanyk) of the 32nd International Conference on Software Maintenance and Evolution (ICSME), 2016 (Raleigh, NC, USA)
- post-PhD symposium co-chair (together with Haroon Malik of the 23rd International Conference on Software Analysis, Evolution and Reengineering (SANER), March, 2016 (Osaka, Japan)
- PC co-chair (together with Alexander Serebrenik) of the 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER), March 2-6, 2015 (Montréal, Canada)
- tool demo co-chair (together with Sonia Haiduc) of the 23rd International Conference on Program Comprehension (ICPC), May 18-19, 2015 (Florence, Italy)
- session chair at the 30th IEEE Intl. Conf. on Software Maintenance and Evolution (ICSME), October 1-3, 2014 (Victoria, BC, Canada)
- finance chair of the 22nd International Conference on Program Comprehension (ICPC), June 3-4, 2014 (Hyderabad, India)
- session chair at the Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR/WCRE), February 3-7, 2014 (Antwerp, Belgium)
- PhD symposium co-chair (together with Sibylle Schupp) of the Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR/WCRE), February 3-7, 2014 (Antwerp, Belgium)
- session chair at the 2013 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 18, 2013 (Markham, Ontario, Canada)
- ERA track co-chair (together with Romain Robbes) of the 29th IEEE Intl. Conf. on Software Maintenance (ICSM), September 24-26, 2013 (Eindhoven, The Netherlands)
- PC co-chair (together with Juergen Rilling) of the 13th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), September 22-23, 2013 (Eindhoven, The Netherlands)
- session chair at the 2012 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 5-7, 2012 (Markham, Ontario, Canada)
- workshop co-chair (together with Filippo Ricca) of the 19th Working Conf. on Reverse Engineering (WCRE), October 15-18, 2012 (Kingston, ON)
- tool demo co-chair (together with Chanchal Roy) of the 28th IEEE International Conference on Software Maintenance (ICSM), September 23-28, 2012 (Riva del Garda, Italy)
- PC chair of the 3rd International Workshop on Empirical Software Engineering in Practice (IWESEP), November 1, 2011 (Nara, Japan) [videos]
- session chair at the 18th Working Conf. on Reverse Engineering (WCRE), October 17-20, 2011 (Lero, Limerick, Ireland)
- session chair at the ERA track of the 27th IEEE Intl. Conf. on Software Maintenance (ICSM), September 25-30, 2011 (Williamsburg, VA, US)
- session chair at the 19th IEEE International Conference on Program Comprehension (ICPC), June 22-24, 2011 (Kingston, Ontario, Canada)
- session chair at the 6th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), May 23, 2011 (Honolulu, Hawaii, USA)
- session chair at the 17th Working Conf. on Reverse Engineering (WCRE), October 13-16, 2010 (Boston, Massachusetts, USA)
- session chair at the 26th IEEE Intl. Conf. on Software Maintenance (ICSM), September 12-18, 2010 (Timişoara, Romania)
- tool demo co-chair (together with Martin Pinzger) of the 16th Working Conf. on Reverse Engineering (WCRE), October 13-16, 2009 (Lille, France)
Co-organizer:
- Consortium for Software Engineering Research (CSER) Spring 2024 Meeting, June 10-11, 2024 (Kingston, ON)
- FM+SE Vision 2030, November 16-19, 2023 (Mexico City, Mexico)
- FM+SE School, November 16-17, 2023 (Mexico City, Mexico)
- 2nd International Workshop on Software Health (SoHeal), May 28, 2019 (Montréal, Quebec), co-located with ICSE 2019
- 2nd Symposium on Software Engineering for Machine Learning Applications (SEMLA), May 23-24, 2019 (Montréal, Quebec)
- 1st Symposium on Software Engineering for Machine Learning Applications (SEMLA), June 12-13, 2018 (Montréal, Quebec)
- 1st International Workshop on Software Health (SoHeal), May 27, 2018 (Gothenburg, Sweden), co-located with ICSE 2018
- Dagstuhl Seminar on Automatic Quality Assurance and Release, March 18-21, 2018 (Dagstuhl, Germany)
- Devops Educators Workshop, November 19, 2016 (Seattle, WA, US)
- 3rd International Workshop on Release Engineering (RELENG), May 19, 2015 (Florence, Italy), co-located with ICSE 2015
- 4th PoLyMORSE Open Workshop (PLOW), February 28, 2015 (Montréal, Canada)
- 3rd PoLyMORSE Open Workshop (PLOW), October 14-16, 2014 (Montréal, Canada)
- 2nd International Workshop on Release Engineering (RELENG), April 11, 2014 (Mountain View, California, USA), graciously hosted by Google
- Consortium for Software Engineering Research (CSER) Spring 2013 Meeting, June 17-18, 2013 (Montréal, Canada)
- 1st International Workshop on Release Engineering (RELENG), May 20, 2013 (San Francisco, California, USA), co-located with ICSE 2013
- MITACS MSR Vision 2020 Summer School, August 20-24, 2012 (Kingston, Ontario, Canada)
- 1st Workshop on Modularity In Systems Software (MISS), March 22, 2011 (Porto de Galinhas, Pernambuco, Brazil), co-located with AOSD 2011
- 1st Workshop on Mining Unstructured Data (MUD), October 15th, 2010 (Boston, Massachusetts, USA), co-located with WCRE 2010
- 9th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), March 16, 2010 (Rennes, France), co-located with AOSD 2010
- 1st Practices of Linking Aspect Technology and Evolution workshop (PLATE), March 3, 2009 (Charlottesville, Virginia, USA), co-located with AOSD 2009
PC Member
- Doctoral Symposium track of the 40th IEEE International Conference on Software Maintenance and Evolution (ICSME), October 6-11, 2024
- 1st International Workshop on Large Language Models for Code (LLM4Code 2024), April 20, 2024, co-located with ICSE 2024
- 21st Working Conf. on Mining Software Repositories (MSR), April 15-16, 2024 (Lisbon, Portugal)
- 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), December 3-9, 2023 (San Francisco, CA, USA)
- 17th International Symposium on Empirical Software Engineering and Measurement (ESEM), September 26-27, 2023 (New Orleans, LA, USA)
- Mining Challenge track of the 20th Working Conf. on Mining Software Repositories (MSR), April 15-16, 2023 (Melbourne, Australia)
- 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), September 26-October 1, 2022 (Ann Arbor, MI, USA)
- MSR Awards committee of the 19th Working Conf. on Mining Software Repositories (MSR), May 18-20, 2022 (Pittsburgh, PA, USA)
- 30th IEEE International Conference on Program Comprehension (ICPC), May 16-17, 2022 (virtual)
- 1st International Conference on AI Engineering -- Software Engineering for AI (CAIN), May 16-17, 2022 (virtual)
- 29th International Conference on Software Analysis, Evolution and Reengineering (SANER), March 15-18, 2022 (virtual)
- 1st International Conference on the relation between Artificial Intelligence, Social Sciences and Humanities, October 1, 2021 (Zagreb, Croatia)
- Doctoral Symposium track of the 37th IEEE International Conference on Software Maintenance and Evolution (ICSME), September 20-October 1, 2021 (virtual)
- 21st IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 27-28, 2021 (virtual)
- New Ideas and Emerging Results (NIER) track of the 21st IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 27-28, 2021 (virtual)
- 1st Workshop on AI Engineering - Software Engineering for AI (WAIN), May 30-31, 2021 (virtual)
- 4th International Workshop on Software Health (SoHeal), May 29, 2021 (virtual)
- Student Volunteer Mentor of the 43rd International Conference on Software Engineering (ICSE), May 23-29, 2021 (virtual)
- 29th IEEE International Conference on Program Comprehension (ICPC), May 18-21, 2021 (virtual)
- Mentor of the Shadow PC of the 18th Working Conf. on Mining Software Repositories (MSR), May 17-19, 2021 (virtual)
- 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), November 10-13, 2020 (virtual)
- 24th ACM International Systems and Software Product Line Conference (SPLC), October 19-23, 2020 (virtual)
- New Ideas and Emerging Results (NIER) track of the 20th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 27-28, 2020 (virtual)
- 6th International Workshop on Quality-Aware DevOps (QUDOS 2020), joint with the 5th Workshop on Continuous Software Engineering (CSE), September 15, 2020 (virtual), co-located with ECSA 2020
- 3rd International Workshop on Affective Computing for Requirements Engineering (AffectRE), September 1, 2020 (virtual)
- Early Research Achievements (ERA) track of the 28th IEEE International Conference on Program Comprehension (ICPC), July 13-15, 2020 (virtual)
- 5th International Workshop on Emotion Awareness in Software Engineering (SEmotion), July 13, 2020 (virtual)
- 3rd International Workshop on Software Health (SoHeal), July 13, 2020 (virtual)
- 42nd International Conference on Software Engineering (ICSE), July 7-11, 2020 (virtual)
- Awards Committee of the 17th Working Conf. on Mining Software Repositories (MSR), June 29-30, 2020 (virtual)
- 35th International Conference on Software Maintenance and Evolution (ICSME), October 2-4, 2019 (Cleveland, OH, US)
- 19th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 30-October 1, 2019 (Cleveland, OH, US)
- 2nd International Workshop on Affective Computing for Requirements Engineering (AffectRE), September 23, 2019 (Jeju, South Korea)
- 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), August 28-30, 2019 (Tallinn, Estonia)
- 3rd International Workshop on App Market Analytics (WAMA), August 27, 2019 (Tallinn, Estonia), co-located with ESEC/FSE 2019
- ACM Student Research Competition at the 40th International Conference on Software Engineering (ICSE), May 29-31, 2019 (Montréal, Quebec)
- 4th International Workshop on Emotion Awareness in Software Engineering (SEmotion), May 28, 2019 (Montréal, Quebec)
- 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), February 25-27, 2019 (Hangzhou, China)
- 2018 BElgian-NEtherlands software eVOLution symposium (BENEVOL), December 10-11, 2018 (Delft, The Netherlands)
- 2018 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), December 4, 2018 (Nara, Japan)
- 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), November 4-9, 2018 (Lake Buena Vista, FL, US)
- 2018 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), October 29-November 1, 2018 (Markham, Ontario, Canada)
- IEEE International Workshop on Debugging and Repair (IDEAR) at the 29th IEEE International Symposium on Software Reliability Engineering (ISSRE), October 15, 2018 (Memphis, TN, US)
- 1st International Workshop on Affective Computing for Requirements Engineering (AffectRE), August 21, 2018 (Banff, Alberta)
- 3rd International Workshop on Emotion Awareness in Software Engineering (SEmotion), June 2, 2018 (Gothenburg, Sweden)
- ACM Student Research Competition at the 40th International Conference on Software Engineering (ICSE), May 30-June 1, 2018 (Gothenburg, Sweden)
- 15th Working Conf. on Mining Software Repositories (MSR), May 28-29, 2018 (Gothenburg, Sweden)
- 11th IEEE Conference on Software Testing, Validation and Verification (ICST), April 9-13, 2018 (Västeras, Sweden)
- 7th International Workshop on Load Testing and Benchmarking of Software Systems (LTB), April 10, 2018 (Berlin, Germany)
- 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), February 20-23, 2018 (Campobasso, Italy)
- 2017 BElgian-NEtherlands software eVOLution symposium (BENEVOL), December 4-5, 2017 (Antwerp, Belgium)
- 2017 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 6-8, 2017 (Markham, Ontario, Canada)
- 33rd International Conference on Software Maintenance and Evolution (ICSME), September 17-23, 2017 (Shanghai, China)
- 17th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 17-18, 2017 (Shanghai, China)
- 2nd International Workshop on App Market Analytics (WAMA), September 5, 2017 (Paderborn, Germany), co-located with ESEC/FSE 2017
- 13th International Symposium on Open Collaboration (OpenSym), August 23-25, 2017 (Galway, Ireland)
- 1st Evaluation and Assessment in Software Engineering Conference (EASE), June 15-16, 2017 (BTH - Karlskrona, Sweden)
- 39th International Conference on Software Engineering (ICSE), May 24-26, 2017 (Buenos Aires, Argentina)
- ACM Student Research Competition at the 39th International Conference on Software Engineering (ICSE), May 24-26, 2017 (Buenos Aires, Argentina)
- Early Research Achievements (ERA) track of the 25th IEEE International Conference on Program Comprehension (ICPC), May 22-23, 2017 (Buenos Aires, Argentina)
- 4th IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft), May 22-23, 2017 (Buenos Aires, Argentina)
- 14th Working Conf. on Mining Software Repositories (MSR), May 20-21, 2017 (Buenos Aires, Argentina)
- 2017 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), March 13, 2017 (Tokyo, Japan)
- 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), February 20-24, 2017 (Klagenfurt, Austria)
- 1st International Workshop on App Market Analytics (WAMA), November 14, 2016 (Seattle, WA, US), co-located with FSE 2016
- 3rd IEEE International Conference on Data Science and Advanced Analytics (DSAA), October 17-19, 2016 (Montréal, QC, Canada)
- 16th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), October 2-3, 2016 (Raleigh, NC, US)
- 10th International Symposium on Empirical Software Engineering and Measurement (ESEM), September 8-9, 2016 (Ciudad Real, Spain)
- 12th International Symposium on Open Collaboration (OpenSym), August 17-19, 2016 (Berlin, Germany)
- Seminar series on Advanced Techniques and Tools for Software Evolution, July 11-13, 2016 (Bergen, Norway)
- 3rd IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft), May, 2016 (Austin, Texas, US)
- 5th International Workshop on Load Testing of Large Software Systems (LT), March 2016 (Delft, The Netherlands), co-located with ICPE 2016
- 2016 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), March 2016 (Osaka, Japan)
- Emerging Technologies Track (ETT) track of the 2015 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 2-4, 2015 (Markham, Ontario, Canada)
- 3rd International Workshop on Mobile Development Lifecycle (MobileDeli), October 2015 (Pittsburgh, Pennsylvania, US), co-located with SPLASH 2015
- 9th International Symposium on Empirical Software Engineering and Measurement (ESEM), October 22-23, 2015 (Beijing, China)
- 31st International Conference on Software Maintenance and Evolution (ICSME), September 29-October 1, 2015 (Bremen, Germany)
- Early Research Achievements (ERA) track of the 31st International Conference on Software Maintenance and Evolution (ICSME), September 29-October 1, 2015 (Bremen, Germany)
- 15th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 27-28, 2015 (Bremen, Germany)
- 14th Intl. Workshop on Principles of Software Evolution (IWPSE), September, 2015 (Bergamo, Italy), co-located with ESEC/FSE 2015
- 2nd Intl. Workshop on Dependability and Security of System Operation (DSSO), September 28, 2015 (Montréal, QC, Canada), co-located with SRDS 2015
- ACM Student Research Competition at the 37th International Conference on Software Engineering (ICSE), May 16-24, 2015 (Florence, Italy)
- 12th Working Conf. on Mining Software Repositories (MSR), May 16-17, 2015 (Florence, Italy)
- 30th ACM/SIGAPP Symposium On Applied Computing (SAC), April 13-17, 2015 (Salamanca, Spain)
- 1st Intl. Workshop on Software Analytics (SWAN), March 2, 2015 (Montréal, Canada), co-located with SANER 2015
- 4th International Workshop on Load Testing of Large Software Systems (LT), January 31, 2015 (Austin, Texas, US), co-located with ICPE 2015
- 2014 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), November 12-13, 2014 (Osaka, Japan)
- 2014 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 3-5, 2014 (Markham, Ontario, Canada)
- 2nd International Workshop on Mobile Development Lifecycle (MobileDeli), October 2014 (Portland, Oregon, US), co-located with SPLASH 2014
- 30th International Conference on Software Maintenance and Evolution (ICSME), September 28-October 3, 2014 (Victoria, BC, Canada)
- Early Research Achievements (ERA) track of the 30th International Conference on Software Maintenance and Evolution (ICSME), September 28-October 3, 2014 (Victoria, BC, Canada)
- Tool demonstration track of the 30th International Conference on Software Maintenance and Evolution (ICSME), September 28-October 3, 2014 (Victoria, BC, Canada)
- 14th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 28-29, 2014 (Victoria, BC, Canada)
- 1st Intl. Workshop on Dependability and Security of System Operation (DSSO), June 23, 2014 (Atlanta, GA, US), co-located with DSN 2014
- 22nd IEEE International Conference on Program Comprehension (ICPC), June 2-3, 2014 (Hyderabad, India)
- 11th Working Conf. on Mining Software Repositories (MSR), May 31-June 1, 2014 (Hyderabad, India)
- 2nd Intl. Workshop on Testing The Cloud (TTC), April 4, 2014 (Cleveland, Ohio, US), co-located with ICST 2014
- 3rd International Workshop on Load Testing of Large Software Systems (LT), March 22, 2014 (Dublin, Ireland), co-located with ICPE 2014
- Joint meeting of the European Conference on Software Maintenance and Reengineering and The Working Conference on Reverse Engineering (CSMR-18/WCRE-21), February 3-6, 2014 (Antwerp, Belgium)
- Tool demonstration track of the joint meeting of the European Conference on Software Maintenance and Reengineering and The Working Conference on Reverse Engineering (CSMR-18/WCRE-21), February 3-6, 2014 (Antwerp, Belgium)
- 17th ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW), February 15-19, 2014 (Baltimore, MD, USA)
- 2013 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), December 2, 2013 (Bangkok, Thailand)
- 2013 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 18-20, 2013 (Markham, Ontario, Canada)
- 20th Working Conf. on Reverse Engineering (WCRE), October 14-17, 2013 (Koblenz, Germany)
- 13th Intl. Workshop on Principles of Software Evolution (IWPSE), August 19-20, 2013 (Saint Petersburg, Russia), co-located with ESEC/FSE 2013
- 1st Intl. Workshop on Testing The Cloud (TTC), July 15, 2013 (Lugano, Switzerland), co-located with ISSTA 2013
- 21st IEEE International Conference on Program Comprehension (ICPC), May 20-21, 2013 (San Francisco, CA, USA)
- 10th Working Conf. on Mining Software Repositories (MSR), May 18-19, 2013 (San Francisco, CA, USA)
- Early Research Achievements (ERA) track of the 17th European Conference on Software Maintenance and Reengineering (CSMR), March 5-8, 2013 (Genova, Italy)
- 2012 Conference of the Center for Advanced Studies on Collaborative Research (CASCON), November 5-7, 2012 (Markham, Ontario, Canada)
- 2012 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), October 26-27, 2012 (Osaka, Japan)
- 19th Working Conf. on Reverse Engineering (WCRE), October 15-18, 2012 (Kingston, Ontario, Canada)
- Early Research Achievements (ERA) track of the 28th IEEE Intl. Conf. on Software Maintenance (ICSM), September 23-30, 2012 (Riva del Garda, Trento, Italy)
- 12th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 23-24, 2012 (Riva del Garda, Trento, Italy)
- 20th IEEE International Conference on Program Comprehension (ICPC), June 11-13, 2012 (Passau, Germany)
- 9th Working Conf. on Mining Software Repositories (MSR), June 2-3, 2012 (Zurich, Switzerland)
- Poster and Informal Tool Demonstrations track of the 2012 International Conference on Software Engineering (ICSE), June 2-9, 2012 (Zurich, Switzerland)
- 1st International Workshop on Load Testing of Large Software Systems (LT), April 17, 2012 (Montréal, QC, Canada), co-located with ICST 2012
- 2nd Workshop on Modularity In Systems Software (MISS), March 27, 2012 (Potsdam, Germany), co-located with AOSD 2012
- International Workshop on Machine Learning Technologies in Software Engineering (MALETS), November 12, 2011 (Lawrence, KS, USA)
- 18th Working Conf. on Reverse Engineering (WCRE), October 17-21, 2011 (Limerick, Republic of Ireland)
- tool demo track of the 18th Working Conf. on Reverse Engineering (WCRE), October 17-21, 2011 (Limerick, Republic of Ireland)
- 12th Intl. Workshop on Principles of Software Evolution and 7th ERCIM Workshop on Software Evolution (IWPSE/EVOL), September 5-6, 2011 (Szeged, Hungary)
- 11th IEEE Intl. Working Conf. on Source Code Analysis and Manipulation (SCAM), September 25-26, 2011 (Williamsburg, VA, USA)
- Early Research Achievements (ERA) track of the 27th IEEE Intl. Conf. on Software Maintenance (ICSM), September 25-October 1, 2011 (Williamsburg, VA, USA)
- tool demo track of the 8th joint meeting of the European Software Engineering Conf. and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), September 5-9, 2011 (Szeged, Hungary)
- 2010 Intl. Workshop on Empirical Software Engineering in Practice (IWESEP), December 7-8, 2010 (Nara, Japan)
- 17th Working Conf. on Reverse Engineering (WCRE), October 13-16, 2010 (Boston, Massachusetts, USA)
- tool demo track of the 25th IEEE/ACM Intl. Conf. on Automated Software Engineering (ASE), September 20-24, 2010 (Antwerp, Belgium)
- 4th joint Intl. Workshop on Principles of Software Evolution and ERCIM Workshop on Software Evolution and Evolvability (IWPSE/EVOL), September 20-21, 2010 (Antwerp, Belgium)
- Early Research Achievements (ERA) track of the 26th IEEE Intl. Conf. on Software Maintenance (ICSM), September 12-18, 2010 (Timişoara, Romania)
- 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), March 2, 2009 (Charlottesville, Virginia, USA). Co-located with AOSD 2009
- 15th Working Conf. on Reverse Engineering (WCRE), October 15-18, 2008 (Antwerp, Belgium)
- 7th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), March 31, 2008 (Brussels, Belgium). Co-located with AOSD 2008
Reviewer for:
- Springer Empirical Software Engineering (EMSE)
- IEEE Transactions on Software Engineering (TSE)
- ACM Transactions on Software Engineering and Methodology (TOSEM)
- Elsevier Journal of Systems and Software (JSS)
- IEEE Software
- Communications of the ACM (CACM)
- Wiley Journal of Software Maintenance and Evolution (JSME)
- Elsevier Information and Software Technology (IST)
- Elsevier Science of Computer Programming (SCP)
- Wiley Software Testing, Verification and Reliability (STVR)
- Springer Software Quality Journal (SQJ)
- Wiley Software: Practice and Experience (SPE)
- IEEE Transactions on Mobile Computing (TMC)
- IET Software (IET)
- Intl. journal on Software Tools for Technology Transfer (STTT)
- Elsevier Computer Standards & Interfaces (CSI)
- Journal of Object Technology (JOT)
- Springer LNCS Transactions on Aspect-Oriented Software Development (TAOSD)
- BMC Medical Informatics and Decision Making
- NSERC Discovery Grant program
- NSERC Collaborative Research and Development Grants program
- NSERC Strategic Partnership Grants program
- MITACS Accelerate program
- NSF review panel
- NWO Free Competition Grant program
- Swiss National Science Foundation
- Fondo Nacional de Desarrollo Científico y Tecnológico (Fondecyt)
- Croatian Science Foundation Installation Research Projects program
Other:
- IVADO researcher
- Associate editor of the IEEE Transactions on Software Engineering (TSE)
- Member of the editorial board of the Journal on Empirical Software Engineering (EMSE)
- Member of the editorial board of the Journal on Information and Software Technology (IST)
- Former associate editor of the Journal of Systems and Software (JSS)
- Former member of the steering committee of the International Conference on Mining Software Repositories (MSR), 2016-2024
- Former member of the steering committee of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), 2015-2018
- Member of the steering committee of the International Workshop on Release Engineering (RELENG)
- Former member of the steering committee of the International Workshop on Mining Unstructured Data (MUD), 2010-2015
- Panel member at the mid-career doctoral symposium of the 27th IEEE Intl. Conf. on Software Maintenance (ICSM), September 25-30, 2011 (Williamsburg, VA, US)
Invited Talks:
- Release Engineering in the AIware World, Invited talk at the Advancing AI in the Public Sector symposium, organized by the Concordia University Applied AI Institute and the Centre Québécois d'Excellence Numérique de ministère de la Cybersécurité et du Numérique, Montreal, January 30, 2024.
- Release Engineering in the AI World, Invited talk at the Software Languages lab, Vrije Universiteit Brussel (Belgium), October 30, 2023.
- Release Engineering in the AI World: How can Analytics Help?, Invited talk at the Institut d'Informatique, Université de Mons (Belgium), May 8, 2023.
- Release Engineering in the AI World: How can Analytics Help?, Keynote at the 18th International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE), November 18, 2022 (virtual).
- Release Engineering in the AI World, inaugural distinguished seminar at the Software Engineering Research Centre, Concordia University, July 7, 2021 (virtual). [video recording]
- Release Engineering in an AI World, Invited lecture in Software Engineering for AI-Enabled Systems, grad course at the Institute of Computer Science, University of Sankt-Gallen (Switzerland), April 23, 2021 (virtual).
- Release Engineering in an AI World, Invited lecture at the IVADO-SEMLA School on Software Engineering for Machine Learning Applications: From Code to Production, March 5, 2020 (Montréal, QC).
- Data Science, Empirical SE and Software Analytics: It’s a Family Affair!, Invited talk at the 15th International Advanced School on Empirical Software Engineering (IASESE), October 10, 2018 (Oulu, Finland).
- To Build or Not to Build - The Build Lifecycle of a Commit, Keynote at the 1st Vienna Software Seminar (VSS) on the Relation of Software Architecture and DevOps/Continuous Delivery, December 18, 2017 (Vienna, Austria).
- Modern Release Engineering in a Nutshell -- Why Researchers should Care, Invited talk at the Department of Electrical and Computer Engineering, University of Waterloo, April 26, 2016 (Waterloo, ON).
- How NOT to Analyze your Release Process ... with Suggestions!, Invited talk at BSR Winter School, October 26, 2016 (Ede, The Netherlands).
- Mining Software Repositories, Inforte lectures at Faculty of Information Technology and Electrical Engineering ITEE, University of Oulu, October 24, 2016 (Oulu, Finland).
- Tu rigoles ou quoi? Notre qualité logicielle a été détruite par… l’ingénieur de la mise en production?!, Seminar at CRIM, January 16, 2016 (Montréal, Canada).
- Reproducing Context-sensitive Crashes of Mobile Apps using Crowdsourced Monitoring, Invited talk at NII Shonan Meeting on "Mobile App Store Analytics", October 19, 2015 (Tokyo, Japan).
- Lessons Learned from the International Workshop on Release Engineering, ACM SIGSOFT webinar with Foutse Khomh, December 18th, 2015. (video)
- On Building and Delivering Software, Guest lecture at Arie van Deursen's Software Architecture course, March 20th, 2015 (TU Delft, Netherlands).
- So, you are saying that our software quality was screwed up by … the release engineer?!, Invited talk at Department of Computing and Communications, Open University, October 30, 2014 (Milton Keynes, UK).
- Mobile Apps: Research Challenges, Invited talk (with Ahmed E. Hassan) at the 36th CREST Open Workshop on "App Store Analysis", October 27-28, 2014 (London, UK).
- Emotion Mining for Software Developers, Dagstuhl Seminar 14261 on Software Development Analytics, Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), July 22-27, 2014 (Schloss Dagstuhl, Germany).
- So, you are saying that our software quality was screwed up by … the release engineer?!, Keynote at BElgian-NEtherlands software eVOLution symposium (BENEVOL), December 16, 2013 (Mons, Belgium).
- So, you are saying that our software quality was screwed up by … the release engineer?!, Invited talk at MSR Asia Summit, October 28, 2013 (Kyoto, Japan).
- On Rapid Releases and Software Testing, Invited talk at NII Shonan Meeting on "Software Analytics: Principles and Practice", October 21, 2013 (Tokyo, Japan).
- Big data dans mon portable?!, Invited talk at 12ième Journée de la Recherche, May 30, 2013 (Montréal, Canada). (presentation)
- Tu rigoles ou quoi? Notre qualité logicielle a été détruite par… l’ingénieur de la mise en production?!, Seminar at LATECE, UQAM, March 20, 2013 (Montréal, Canada). (video)
- On Release Engineering and Developer Productivity, Symposium on Augmenting Software Developer Support to Improve Productivity (ASDS), March 10-15, 2013 (Monte Verità, Ascona, Switzerland).
- So, you are saying that our software quality was screwed up by ... the release engineer?!, Keynote at the 7th International Workshop on Software Quality and Maintainability (SQM), March 5, 2013 (Genova, Italy).
- Software Release Engineering, Technical briefing at the 34th International Conference on Software Engineering (ICSE), June 5, 2012 (Zurich, Austria).
- On Software Release Engineering, Keynote at the Consortium for Software Engineering Research (CSER) Fall 2011 Meeting, Nov. 6, 2011 (Toronto, ON, Canada).
- Lectures on Machine Learning in Practice, Canadian Summer School on Practical Analyses of Software Engineering Data (PASED), École Polytechnique, June 20, 2011 (Montréal, QC, Canada).
- Concern Mining Through Statistical Analysis of Historical Software Information, School Seminar, School of Computing, Oct. 1, 2009 (Queen's University).
- Co-evolution of Source Code and the Build System - Impact on the Introduction of AOSD in Legacy Systems, School Seminar, School of Computing, Oct. 24, 2008 (Queen's University).
- Correctness Trumps Efficiency, Seminar at ADAM team, INRIA, Dec. 3, 2007 (Lille, France).
- Face-off: AOP+LMP vs. legacy software, Dagstuhl Seminar 06302 on Aspects For Legacy Applications, Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), July 26-29, 2006 (Schloss Dagstuhl, Germany).
Press:
- Big Data @ Campus Montréal (also in French), commercial, September, 2014.
- Super moteur de recherche pour PME, interview with Guy Paquin of La Presse, June 5, 2013.
- Globalink ouvre Montréal sur le monde, interview with Martine Letarte of La Presse, September 10, 2012.