Krzysztof Czarnecki, Ph.D., P.Eng.

Professor of Electrical and Computer Engineering
I work in the area of Generative Software Development. See the overview paper for an introduction.

Short biography

Krzysztof Czarnecki is a Professor of Electrical and Computer Engineering at the University of Waterloo. Before coming to Waterloo, he was a researcher at DaimlerChrysler Research (1995-2002), Germany, focusing on improving software development practices and technologies in enterprise, automotive, and aerospace domains. He co-authored the book on "Generative Programming" (Addison- Wesley, 2000), which deals with automating software component assembly based on domain-specific languages. While at Waterloo, he held the NSERC/Bank of Nova Scotia Industrial Research Chair in Requirements Engineering of Service-oriented Software Systems (2008-2013) and has worked on a range of topics in model-driven systems and software engineering, including product lines engineering, design synthesis, variability modeling, model transformation, and domain-specific languages. He received the Premier's Research Excellence Award in 2004 and the British Computing Society in Upper Canada Award for Outstanding Contributions to IT Industry in 2008.


For students


Current Projects

Past Projects



  • MoDELS'09 conference chair
  • Bank of Nova Scotia / NSERC Industrial Research Chair (2008-2013)


Conference Paper
Czarnecki, K., "Perspectives on Generative Programming - Extended Abstract. Invited talk paper", SFB501 Colloquium on Software Reuse, Kaiserslautern, Germany, University of Kaiserslautern, 2003.
Terra, R., M T. Valente, K. Czarnecki, and R. S. Bigonha, "Recommending Refactorings to Reverse Software Architecture Erosion", 16th European Conference on Software Maintenance and Reengineering (CSMR), Early Research Achievements Track, 03/2012. [pdf]
Czarnecki, K., S. She, and A. Wąsowski, "Sample Spaces and Feature Models: There and Back Again", 12th International Software Product Line Conference (SPLC 2008), Limerick, Ireland, IEEE, pp. 22 - 31, 2008. [pdf][pdf]
Mendonça, M., A. Wąsowski, and K. Czarnecki, "SAT-based Analysis of Feature Models is Easy", 13th International Conference on Software Product Lines (SPLC 2009), San Francisco, CA, USA, 2009. [pdf][pdf]
Liang, J., V. Ganesh, K. Czarnecki, and V. Raman, "SAT-based Analysis of Large Real-world Feature Models is Easy", 19th International Software Product Line Conference (SPLC), Nashville, 2015.
Guo, J., E. Zulkoski, R. Olaechea, D. Rayside, K. Czarnecki, S. Apel, and J. M. Atlee, "Scaling Exact Multi-Objective Combinatorial Optimization by Parallelization", 29th IEEE/ACM International Conference on Automated Software Engineering (ASE), Västerås, Sweden, ACM, to appear, 2014. [pdf][pdf]
Czarnecki, K., and U. Eisenecker, "Separating the Configuration Aspect to Support Architecture Evolution", ECOOP’2000 Workshop on Aspects and Dimensions of Concerns, Sophia Antipolis and Cannes, France, 2000.
Wang, B., L. Passos, Y. Xiong, K. Czarnecki, H. Zhao, and W. Zhang, "SmartFixer: Fixing Software Configurations based on Self-adaptive Priorities", 17th International Software Product Line Conference, Tokyo, ACM, 2013. [pdf]
Eisenecker, U., and K. Czarnecki, "Software System Families and Active Libraries – Visions for the Next Decade", Dagstuhl Seminar 01161 Product Family Development, Germany, Dagstuhl Castle, 04/2001.
Eisenecker, U., F. Blinn, and K. Czarnecki, "A Solution to the Constructor-Problem of Mixin-Based Programming in C++", GCSE’2000 Workshop on C++ Template Programming, Erfurt, Germany, 10/2000.
Czarnecki, K., S. Helsen, and U. Eisenecker, "Staged Configuration Using Feature Models", Third Software Product-Line Conference (SPLC’04), 2004, vol. 3154, Boston, USA, Springer-Verlag, pp. 266-283, 09/2004. [zip]
Tonelli Bartolomei, T., K. Czarnecki, R. Lämmel, and T. van der Storm, "Study of an API Migration for Two XML APIs", 2nd International Conference on Software Language Engineering (SLE), vol. 5969/2010, Denver, USA, pp. 42-61, 10/2009. [pdf][pdf]
Kuester, J., F.. Cedric, H. Voelzer, M. Branco, and K. Czarnecki, "Supporting Different Process Views through a Shared Process Model", 9th European Conference on Modelling Foundations and Applications, ECMFA 2013, 2013.
Heydarnoori, A., K. Czarnecki, and T. Tonelli Bartolomei, "Supporting Framework Use via Automatically Extracted Concept-Implementation Templates", 23rd European Conference on Object-Oriented Programming (ECOOP), vol. 5653, Genova, Italy, Springer-Verlag, pp. 344-368, 07/2009. [pdf][pdf]
Berger, T., R. Rublack, D. Nair, J. M. Atlee, M. Becker, K. Czarnecki, and A. Wąsowski, "A survey of variability modeling in industrial practice", 7th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS), 2013. [pdf][pdf]
Tonelli Bartolomei, T., K. Czarnecki, and R. Lämmel, "Swing to SWT and Back: Patterns for API Migration by Wrapping", 26th IEEE International Conference on Software Maintenance (ICSM), Timișoara, Romania, 09/2010. [pdf][pdf]
Kim, C H P., and K. Czarnecki, "Synchronizing Cardinality-Based Feature Models and Their Specializations", European Conference on Model Driven Architecture – Foundations and Applications (ECMDA-FA’05), vol. 3748, Nuremberg, Germany, Springer-Verlag, pp. 331 - 348, 2005.
Berger, T., D. Nair, R. Rublack, J. M. Atlee, K. Czarnecki, and A. Wąsowski, "Three Cases of Feature-Based Variability Modeling in Industry", ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (MODELS), 2014. [pdf][pdf]
Passos, L., K. Czarnecki, and A. Wąsowski, "Towards a Catalog of Variability Evolution Patterns: The Linux Kernel Case", 4th International Workshop on Feature Oriented Software Development, 2012. [pdf][pdf]
Lee, H M., M. Antkiewicz, and K. Czarnecki, "Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions", 2nd International Workshop on Domain-Specific Program Development (DSPD’08), co-located with OOPSLA'08, Nashville, Tennessee, USA, 2008. [pdf]
Lotufo, R., L. Passos, and K. Czarnecki, "Towards Improving Bug Tracking Systems with Game Mechanisms", 9th Working Conference on Mining Software Repositories (MSR'12), Zurich, Switzerland, IEEE (also published as GSDLAB–TR 2011–09–29), 06/2012. [pdf][zip]
Hubaux, A., Y. Xiong, and K. Czarnecki, "A User Survey of Configuration Challenges in Linux and eCos", Variability Modelling of Software-intensive Systems (VaMoS), Leipzig, Germany, ACM Press, 01/2012. [pdf]