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 Proceedings
Bąk, K., D. Zayan, K. Czarnecki, M. Antkiewicz, Z. Diskin, A. Wąsowski, and D. Rayside, "Example-Driven Modeling. Model = Abstractions + Examples", New Ideas and Emerging Results (NIER) track of the 35th International Conference on Software Engineering (ICSE 2013), San Francisco, CA, USA, 2013. [pdf]
Liang, J., V. Ganesh, P. Poupart, and K. Czarnecki, "Exponential Recency Weighted Average Branching Heuristic for SAT Solvers", AAAI 2016, Phoenix, Arizona, 02/2016.
Berger, T., S. She, R. Lotufo, K. Czarnecki, and A. Wąsowski, "Feature-to-Code Mapping in Two Large Product Lines", Software Product Lines: Going Beyond, vol. 6287: Springer Berlin / Heidelberg, pp. 498-499, 2010. [pdf]
Diskin, Z., Y. Xiong, and K. Czarnecki, "From State-Based to Delta-Based Bidirectional Model Transformation", 3rd International Conference on Model Transformation, Malaga, Spain, Springer, pp. 61-76, 06/2010. [pdf][ppt]
Czarnecki, K., and U. Eisenecker, "Generative and Component-Based Software Engineering, First International Symposium, GCSE’99, Erfurt, Germany, September 28–30, 1999, Revised Papers", Lecture Notes in Computer Science, vol. 1799/2000, Berlin / Heidelberg, Springer-Verlag, 1999.
Czarnecki, K., I. Ober, J-M. Bruel, A. Uhl, and M. Völter, "Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September/October 2008, Proceedings", Lecture Notes in Computer Science, vol. 5301/2009, Berlin, Heidelberg, Springer-Verlag, 2008.
Diskin, Z., Y. Xiong, and K. Czarnecki, "Specifying Overlaps of Heterogeneous Models for Global Consistency Checking", 1st Workshop on Model Driven Interoperability, Co-located with MoDELS 2010, Oslo, Norway, ACM Press, pp. 42-51, 10/2010. [pdf][pdf]
Diskin, Z., Y. Xiong, and K. Czarnecki, "Specifying Overlaps of Heterogeneous Models for Global Consistency Checking", MoDELS'10 Workshops: Reports and Selected Papers, vol. 6627, Oslo, Norway, Springer, 2011. [pdf]
Passos, L., M. Novakovic, Y. Xiong, T. Berger, K. Czarnecki, and A. Wąsowski, "A Study of Non-Boolean Constraints in Variability Models of an Embedded Operating System", 3rd International Workshop on Feature Oriented Software Development, Munich, Germany, ACM, 08/2011. [pdf][pdf]
Czarnecki, K., and U. Eisenecker, "Synthesizing Objects", ECOOP’ 99 — Object-Oriented Programming, vol. 1628, Lisbon, Portugal, Springer-Verlag, pp. 18 - 42, 1999. [pdf]
Conference Paper
Czarnecki, K., D. Zhang, and K. Lano, "An Animation Tool for Supporting Specification-Based Software Architectures", The 1995 Monterey Workshop on Increasing the Practical Impact of Formal Methods for Computer Aided Software Development: Specification-Based Architectures, Monterey, California, USA, U.S. Naval Postgraduate School, 09/1995.
Murashkin, A., L S. Azevedo, J. Guo, E. Zulkoski, J. Liang, K. Czarnecki, and D. Parker, "Automated Decomposition and Allocation of Automotive Safety Integrity Levels Using Exact Solvers", SAE 2015 World Congress & Exhibition, Detroit, Michigan, USA, SAE, 04/2015.
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]
Antkiewicz, M., T. Tonelli Bartolomei, and K. Czarnecki, "Automatic Extraction of Framework-Specific Models From Framework-Based Application Code", 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE), Atlanta, Georgia, USA, 11/2007. [pdf]
Czarnecki, K., U. Eisenecker, and P. Steyaert, "Beyond Objects: Generative Programming", ECOOP’97 Workshop on Aspect-Oriented Programming, Jyväskylä, Finland, 06/1997.
Czarnecki, K., N. J. Foster, Z. Hu, R. Laemmel, A. Schuerr, and J. F. Terwilliger, "Bidirectional Transformations: A Cross-Discipline Perspective", International Conference of Model Transformation (ICMT): Springer-Verlag, pp. 260-283, 2010. [pdf]
Czarnecki, K., and C H P. Kim, "Cardinality-based feature modeling and constraints: a progress report", International Workshop on Software Factories at OOPSLA'05, San Diego, California, USA, ACM, 2005.
Czarnecki, K., R. Hanselmann, U. Eisenecker, and W. Kopf, "ClassExpert: a knowledge-based assistant to support reuse by specialization and modification in Smalltalk", Fourth IEEE International Conference on Software Reuse, Orlando, USA, IEEE Computer Society Press, pp. 188 - 194, 1996.
Czarnecki, K., and S. Helsen, "Classification of Model Transformation Approaches", 2nd OOPSLA’03 Workshop on Generative Techniques in the Context of MDA, Anaheim, CA, USA, 2003.
Passos, L., J. Guo, L. Teixeira, K. Czarnecki, A. Wąsowski, and P. Borba, "Coevolution of Variability Models and Related Artifacts: A Case Study from the Linux Kernel", 17th International Software Product Line Conference, Tokyo, ACM, 2013. [pdf][pdf]
Heydarnoori, A., and K. Czarnecki, "Comprehending implementation recipes of framework-provided concepts through dynamic analysis", OOPSLA Companion, Poster Session, Montreal, Quebec, Canada, ACM Press, pp. 819–820, 10/2007.
Czarnecki, K., "Concreteness Kills Adaptability", ECOOP’96 Workshop on Adaptability in Software Development, Linz, Austria, 07/1996.
Czarnecki, K., P. Gruenbacher, R. Rabiser, K. Schmid, and A. Wąsowski, "Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches", Variability Modelling of Software-intensive Systems (VaMoS), Leipzig, Germany, ACM Press, 01/2012. [pdf]