Contact InformationKrzysztof Czarnecki

Phone: 519-888-4567 x40249
Location: E7 5428


Biography Summary

Krzysztof Czarnecki is a Professor in the Electrical and Computer Engineering department and is cross-appointed to the School of Computer Science. He is also the head of the Generative Software Lab at the University of Waterloo.

Professor Czarnecki’s research specializes in generative software development. His expertise includes model-driven software engineering, including software-product lines and variability modeling, consistency management and bi-directional transformations, and example-driven modeling.

He is also the NSERC Bank of Nova Scotia Industrial Research Chair in Requirements Engineering of Service-Oriented Software Systems. He co-authored the book on “Generative Programming” (Addison- Wesley, 2000), which deals with automating software component assembly based on domain-specific languages. Professor Czarnecki received the Premier’s Research Excellence Award in 2004 and the British Computing Society in Upper Canada Award for Outstanding Contributions to the IT Industry in 2008.

Research Interests

  • Generative programming
  • Model-based development
  • Software system families and product lines
  • Software design
  • Computer Engineering
  • Software Engineering
  • Autonomous and connected car
  • Automotive
  • Cybersecurity
  • Infrastructure integrity


  • 1999, Doctorate, Computer Science, Technical University of Ilmenau
  • 1995, Master of Science, Computer Science, Technical University of Ilmenau
  • 1994, Bachelor of Science (BS), Computer Science (Diplom-Inf), California State University


  • ECE 493 - Special Tpcs in Elec &Comp
    • Taught in 2018, 2019, 2020
  • ECE 495 - Autonomous Vehicles
    • Taught in 2021
  • ECE 651 - Foundations Software Eng
    • Taught in 2019, 2020, 2021
  • SE 390 - Design Project Planning
    • Taught in 2018, 2019, 2020
  • SE 490 - Design Project 1
    • Taught in 2017
* Only courses taught in the past 5 years are displayed.

Selected/Recent Publications

  • Diskin, Zinovy and Gholizadeh, Hamid and Wider, Arif and Czarnecki, Krzysztof, A three-dimensional taxonomy for bidirectional model synchronization, Journal of Systems and Software, 111, 2016, 298 - 322
  • Bright, Curtis and Ganesh, Vijay and Heinle, Albert and Kotsireas, Ilias and Nejati, Saeed and Czarnecki, Krzysztof, MathCheck2: Combining SAT and CAS, , 2016
  • Bright, Curtis and Ganesh, Vijay and Heinle, Albert and Kotsireas, Ilias and Nejati, Saeed and Czarnecki, Krzysztof, MathCheck2: A SAT+ CAS Verifier for Combinatorial Conjectures, , 2016
  • Terra, Ricardo and Valente, Marco Tulio and Czarnecki, Krzysztof and Bigonha, Roberto S, A recommendation system for repairing violations detected by static architecture conformance checking, Software: Practice and Experience, 45(3), 2015, 315 - 342
  • Passos, Leonardo and Teixeira, Leopoldo and Dintzner, Nicolas and Apel, Sven and Wąsowski, Andrzej and Czarnecki, Krzysztof and Borba, Paulo and Guo, Jianmei, Coevolution of variability models and related software artifacts, Empirical Software Engineering, 2015, 1 - 50

In the News

Graduate Studies