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)


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
Ross, J., M. Antkiewicz, and K. Czarnecki, "Case Studies on E/E Architectures for Power Window and Central Door Locks Systems", Technical Report, no. GSDLAB-TR-2016-06-23: University of Waterloo, 06/2016. [pdf]
Rubin, J., K. Czarnecki, and M. Chechik, "Managing Cloned Variants: A Framework and Experience", 17th International Software Product Line Conference (SPLC), Tokyo, Japan, 2013.
Sarkar, A., J. Guo, N. Siegmund, S. Apel, and K. Czarnecki, "Cost-Efficient Sampling for Performance Prediction of Configurable Systems", 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Lincoln, Nebraska, USA, IEEE, 11/2015. [pdf]
She, S., "Feature Model Mining", School of Computer Science, vol. MMath, Waterloo, University of Waterloo, pp. 70, 08/2008.
She, S., R. Lotufo, T. Berger, A. Wąsowski, and K. Czarnecki, "Variability Model of the Linux Kernel", Fourth International Workshop on Variability Modeling of Software-intensive Systems (VaMoS 2010), Linz, Austria, 2010. [pdf]
Stephan, M., "Detection of Java EE EJB Antipattern Instances using Framework-Specific Models", Electrical and Computer Engineering, vol. MASc, Waterloo, University of Waterloo, pp. 113, 04/2009.
Sun, P., Z. Diskin, M. Antkiewicz, and K. Czarnecki, "Modeling and Reasoning with Multirelations, and their encoding in Alloy", 16th International Workshop in OCL and Textual Modeling, 10/2016.
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]
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]
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]
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]
White, J., D. C. Schmidt, K. Czarnecki, C. Wienands, G. Lenz, E. Wuchner, and L. Fiege, "Automated Model-Based Configuration of Enterprise Java Applications", 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007), Annapolis, USA, IEEE, pp. 301 - 301, 2007. [pdf]
Xiong, Y., A. Hubaux, S. She, and K. Czarnecki, "Generating Range Fixes for Software Configuration", ICSE'12: 34th International Conference on Software Engineering, 06/2012. [pdf][pdf][zip]
Xiong, Y., A. Hubaux, S. She, and K. Czarnecki, Generating Range Fixes for Software Configuration, , Waterloo, Generative Software Development Laboratory, University of Waterloo, 2011. [pdf]
Zhang, Y., J. Guo, E. Blais, and K. Czarnecki, "Performance Prediction of Configurable Software Systems by Fourier Learning", 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Lincoln, Nebraska, USA, 11/2015. [pdf][pdf]
Zulkoski, E., V. Ganesh, and K. Czarnecki, "MathCheck: A Math Assistant based on a Combination of Computer Algebra Systems and SAT Solvers", International Conference on Automated Deduction, Berlin, Germany, Springer, 08/2015. [pdf][pptx]
Zulkoski, E., C. Kleynhans, M-H. Yee, D. Rayside, and K. Czarnecki, "Optimizing Alloy for Multi-Objective Software Product Line Configuration", ABZ, Toulouse, France, Springer-Verlag, 06/2014. [pdf]