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
Hermann, F., H. Ehrig, F. Orejas, K. Czarnecki, Z. Diskin, and Y. Xiong, "Correctness of Model Synchronization Based on Triple Graph Grammars", ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems: Springer, 10/2011. [pdf]
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]
Czarnecki, K., M. Himsolt, and E. Richter, "DataFAN: A Practical Approach to Data Flow Analysis for Ada 95", Reliable Software Technologies — Ada-Europe 2002, Lecture Notes in Computer Science, vol. 2361, Vienna, Austria, Springer-Verlag, pp. 231 - 244, 2002.
Passos, L., and K. Czarnecki, "A Dataset of Feature Additions and Feature Removals from the Linux Kernel", 11th Working Conference on Mining Software Repositories, India, IEEE/ACM, 2014. [pdf]
Queiroz, R., L. Passos, M T. Valente, S. Apel, and K. Czarnecki, "Does Feature Scattering Follow Power-Law Distributions? An Investigation of Five Pre-Processor-Based Systems", 6th International Workshop of Feature-Oriented Software Evolution, Sweden, ACM, 2014. [pdf]
Kleinmann, K., M. Jungmann, W. Kopf, and K. Czarnecki, "Domain Engineering and Infrastructural Support for Software Reuse in Postal Automation", Smalltalk and Java in Industry and Academia – STJA’97, Erfurt, Germany, 09/1997.
Branco, M., Y. Xiong, K. Czarnecki, J. Wong, and A. Lau, "Effective Collaboration and Consistency Management in Business Process Modeling", The 2010 Conference of the Center for Advanced Studies on Collaborative Research - CASCON '10, Toronto, Ontario, Canada, ACM Press, 2010. [pdf]
Mendonça, M., A. Wąsowski, K. Czarnecki, and D. Cowan, "Efficient compilation techniques for large scale feature models", 7th international conference on Generative programming and component engineering - GPCE '08, Nashville, USA, ACM Press, pp. 13, 2008. [pdf]
Andersen, N., K. Czarnecki, S. She, and A. Wąsowski, "Efficient Synthesis of Feature Models", Software Product Line Conference (SPLC), Salvador, Brasil, 2012. [pdf]
Antkiewicz, M., K. Bąk, D. Zayan, K. Czarnecki, A. Wąsowski, and Z. Diskin, "Example-Driven Modeling Using Clafer", First International Workshop on Model-driven Engineering By Example, 2013. [ppsx][pdf]
Dubinsky, Y., J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki, "An Exploratory Study of Cloning in Industrial Software Product Lines", 17th European Conference on Software Maintenance and Reengineering (CSMR), 2013. [pdf]
Bąk, K., K. Czarnecki, and A. Wąsowski, "Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled", 3rd International Conference on Software Language Engineering, Eindhoven, The Netherlands, 10/2010. [pdf][pdf]
Czarnecki, K., and A. Wąsowski, "Feature Diagrams and Logics: There and Back Again", SPLC '07: Proceedings of the 11th International Software Product Line Conference, Washington, USA, IEEE Computer Society, pp. 23–34, 2007. [pdf][pdf]
Czarnecki, K., C H P. Kim, and K. Kalleberg, "Feature Models are Views on Ontologies", 10th International Software Product Line Conference (SPLC'06), Baltimore, USA, IEEE, pp. 41 - 51, 2006. [pdf][pdf]
Passos, L., J. Gaeta, T. Berger, S. Apel, K. Czarnecki, and M T. Valente, "Feature Scattering in the Large: A Longitudinal Study of Linux Kernel Device Drivers", 14th International Conference on Modularity: ACM, 2015. [pdf][pptx]
Passos, L., K. Czarnecki, S. Apel, A. Wąsowski, C. Kästner, J. Guo, and C. Hunsen, "Feature-Oriented Software Evolution", The Seventh International Workshop on Variability Modelling of Software-intensive Systems, Italy, ACM , 01/2013. [pdf][pdf]
Antkiewicz, M., and K. Czarnecki, "FeaturePlugin: Feature Modeling Plug-In for Eclipse", The 2004 OOPSLA Workshop on Eclipse Technology eXchange - Eclipse '04, Vancouver, British Columbia, Canada, ACM Press, pp. 67 - 72, 2004. [pdf][zip]
Antkiewicz, M., W. Ji, T. Berger, K. Czarnecki, T. Schmorleiz, R. Laemmel, Ș. Stănciulescu, A. Wąsowski, and I. Schaefer, "Flexible Product Line Engineering with a Virtual Platform", ICSE, 2014. [pdf][ppsx]
Antkiewicz, M., and K. Czarnecki, "Framework-Specific Modeling Languages with Round-Trip Engineering", ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), Genova, Italy, Springer-Verlag, pp. 692-706, 2006. [pdf]
Diskin, Z., Y. Xiong, K. Czarnecki, H. Ehrig, F. Hermann, and F. Orejas, "From State- to Delta-based Bidirectional Model Transformations: the Symmetric Case", ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems: Springer, 10/2011. [pdf][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]
Breymann, U., K. Czarnecki, and U. Eisenecker, "Generative Components: One Step Beyond Generic Programming", Dagstuhl Seminar 9817 Generic Programming, Germany, Dagstuhl Castle, 04/1998.