Christian Kästner

Associate Professor · Carnegie Mellon University · Institute for Software Research


News News feed

15 Jan. 2024
Machine Learning in Production Book finished and submitted to publisher
Over the last two years, I was writing and refining a book on software engineering for building products with machine learning components, based on our course Machine Learning in Production. I have released as chapters incrementally on Medium. I have finally declared the project as complete and handed over the manuscript to the publisher MIT Press and expect a formal release in about one year. The book remains under a creative commons license and the public (not yet finally copyedited) version of the book is now live at
12 Oct. 2022
Keynote: From Models to Systems: Rethinking the Role of Software Engineering for Machine Learning
I was invited to give a keynote at MSR 2022 and used this to argue that we should invest in teaching software engineering to data scientists. This talk provides a good overview of how I think about teaching in this area and why I think that "software engineering for ML" is more of an education problem that a research problem. The remote version of the talk was recorded and is here on youtube:
5 Oct. 2020
Lecture Recordings: Software Engineering for AI-Enabled Systems
All summer, I recorded all lectures of my class Software Engineering for AI-Enabled Systems. The students graciously consented in releasing those recordings, which can now all be found in a YouTube playlist under a creative commons license (like the rest of the course material):

Also my annotated bibliography on the topic has seen some updates recently and I've written again about requirements engineering for production ML systems.
18 Sep. 2020
State of the Source Talk: Analyzing Tens of Terabytes of Public Trace Data & Open Source Sustainabilty
Bogdan and I gave a talk summarizing our empirical and data-driven research on open-source sustainability, covering donations, signaling and badges, transparency, diversity and social capital. We argue for more data-driven evidence in shaping tools and communities.
11 Sep. 2020
What the Fork? Shurui Zhou on the Sustain Podcast
Shurui has given an interview on Episode 53 of the Sustain Podcast about our work on forks in open source. Listen now:
9 May. 2020
Talk on Software Engineering for AI-Enabled Systems
I recently gave a talk at Code & Supply motivating what software engineers can contribute to building software systems with machine-learned components, how a systems view is important for quality assurance, and how I believe we need better education and collaboration to build interdisciplinary teams with data scientists and software engineers. The talk was recorded and is now available (slides):
8 Mar. 2020
Machine Learning is Requirements Engineering — On the Role of Bugs, Verification, and Validation in Machine Learning
I wrote up some insights from some discussions at Dagstuhl last week about bugs in machine-learned models and that we should rather talk about validation than verification of such models. Feedback welcome.
31 Jan. 2020
Software Engineering for ML - An Annotated Bibliography
I'm sharing a reading list for SE4ML papers (software engineering for machine learning systems) that I encountered in preparation for our Software Engineering for AI-Enabled Systems course (see course web page and paper about the course) in form of an annotated bibliography: Over the last year, I had many discussions with people interested in the topic and they always asked for references. I hope this list of papers with a few comments can help your own exploration in this field. Of course, I'm still happy to discuss these issues and I'm happy to receive pointers to other interesting readings in the field (e.g. send a pull request to the bibliography).
20 Sep. 2019
SPLC Most Influencial Paper Award
I'm honored to receive the SPLC most influential paper award for our ICSE'08 paper Granularity in Software Product Lines. Press release.
20 May. 2019
Feature Flags vs Configuration Options
Feature flag discussions still baffle me. After many years of research on configurable systems, this looks like more of the same. Tried to write down my thoughts and various pointers to decades of research on configuration options: Feature Flags vs Configuration Options – Same Difference?.
29 Jun. 2017
Differential Testing for KConfigReader
I talked about this at FOSD'16 and wanted to write it down since: My experience with using differential testing systematically in developing KConfigReader. I have finally written this up and you can find it on arxiv.
5 Jun. 2017 talk: How to Break an API
I recently gave a talk at about our interviews and survey regarding how developers deal with breaking changes, and how community values influence practices. A recording is now available:

Detailed results can be found on
20 Sep. 2016
Ecosystem Survey
I'm really excited about our ongoing research on change in software ecosystems. Based on our FSE'16 interview study of how developers negotiate costs around breaking changes and how practices seem to align well within an ecosystem but differ significantly across ecosystems, we are currently running a large scale survey across 28 ecosystems, asking about ecosystem values, community health, and various practices related to change planning and dealing with changes in dependencies. We encourage all developers familiar with any of those ecosystems to participate in our survey. Both results of our previous study and the survey can be found on
13 Jul. 2016
Postdoc position available
(Update July 29: The postdoc position in my group has been filled.) I'm looking for a postdoc as well as interested undergradudate or even visiting students for a project applying software analysis and machine learning to improve evolution and configuration of robotics software. Details, see here: Post-doc position at Carnegie Mellon University.
16 Apr. 2016
On the ICSE 2017 Author Limit Policy
A short comment why I think the recently announced submission limit for ICSE 2017 is hurting collaboration and causing anxiety in our community: ICSE 2017s author limit considered harmful for collaboration.
15 Apr. 2016
NSF Career Award
The NSF awarded a career grant for our work on variational execution and understanding feature interactions. We have a small press release about it: Saving Software from Itself.
29 Mar. 2016
ASE 2015 Doctoral Symposium Keynote
Before I completely forget: I repeated my keynote talk from the ASE 2015 Doctoral Symposium here at a CMU seminar and had the chance of recording it. Here it is: Starting an Academic Career: Reflection on Habits that Worked for Me.
24 Jan. 2016
FOSD Meeting 2016
The deadline for submitting a talk abstract for the FOSD Meeting 2016 in Copenhagen is approaching soon. This year, Ștefan Stănciulescu, Claus Brabrand, and Andrzej Wąsowski will host the meeting at ITU Copenhagen. Really looking forward to it. Consider attending if you are interested in research on variability implementations. Contact me in case of questions.
13 Mar. 2015
The Love/Hate Relationship with the Preprocessor at ECOOP 2015
Last summer, we interviewed quite a number of open source developers about their perceptions of the C preprocessor. The resulting paper has now been accepted at ECOOP 2015. While we still need a few days on producing the final version, I have used this as an opportunity to write a few words on (rejected) paper titles
2 Jul. 2014
Teaching Software Construction with Travis CI
We had great experiences introducing continuous integration tools into our software construction course using Travis CI and I've been meaning to write down our experience for a while now. I finally got around doing that: Teaching Software Construction with Travis CI. Feedback is welcome.
10 May. 2014
FOSD Meeting 2015
The FOSD Meeting 2014 last week in Dagstuhl was great fun. Thanks for everybody who came, presented, and discussed. We have already started planning for 2015. We will be in Austria in Traunkirchen the week before ICSE. We will likely expand it to a 4.5 day meeting for up to 50 participants, with social events and keynotes. Looking forward to seeing you all there.
27 Mar. 2014
Research Experiences for Undergraduates in Software Engineering
We are looking for a number of undergraduate students who would be interested in doing software-engineering research at CMU this summer. I'd be interested in working with somebody on several of my projects (around TypeChef, Github, or Energy Measurements). If you might be interested spending the summer in Pittsburgh, please consider applying. See our REU-SE website for projects and details.
24 Feb. 2014
Huffington Post Article
Chris Parnin has written an article about our fMRI research for the Huffington Post: Scientists Begin Looking at Programmers' Brains: The Neuroscience of Programming. Join the discussion here.
16 Jan. 2014
Going to Hyderabad
We have been so fortunate that four submissions to ICSE 2014 in Hyderabad have been accepted. I'm excited to present our fMRI study in which we analyzed how novices programmers understand program code, our variability-aware execution experiments to test WordPress with many optional plugins, our reverse engineering efforts trying to extract configuration constraints from C implementations, and our work on evaluating emergent interfaces supporting virtual separation of concerns. Preprints will follow as soon as we finish the camera ready version. Seems I need to make travel plans.
23 Oct. 2013
New students
I am looking for at least two new Ph.D. students to start in Fall 2014. Topics include reverse engineering variability implementations, testing and analysis of highly configurable systems, and deadling with imperfect modularity in software ecosystems; experience with software analysis, testing, product lines, or empirical research methods is appreciated. All admitted Ph.D. students are fully funded. Please consider applying to our CMU SE PhD program.
16 Aug. 2013
Variability Mining paper accepted
Some papers have a history. We started our work on variability mining in 2009. A corresponing paper has matured over time and has now finally been accepted at IEEE Transactions for Software Engineering. I've uploaded a preprint here. If you are interested how feature location techniques can be tuned to locate product-line features in legacy code, check it out.
28 Jun. 2013
NSF Grant: Reverse Engineering Variability Implementations
I'm happy to announce that NSF will sponsor our work on reverse engineering variability implementations. After years of looking into preprocessors, this will allow us to take closer looks at build systems, branches, patches, and runtime variability. I am actively recruiting now for this project. If you are a CMU graduate student and could imagine doing research in this field, feel free to send me an email or drop by my office. If you are interested in starting a PhD around these topics, consider applying to the CMU SE PhD program.
17 Apr. 2013
Book available for preorder: Feature-Oriented Software Product Lines
Our book "Feature-Oriented Software Product Lines" can now be preordered from Springer and Amazon and is scheduled to be shipped May 31st.
21 Mar. 2013
TypeChef release 3.4
TypeChef 0.3.4 is finally released and contains many updates and bugfixes. This version is finally able to typecheck the entire subsystem of the Linux kernel we have been targeting. For code and changelog see the github page
17 Feb. 2013
Dagstuhl Variability Analysis and FOSD
Next week, I will attend the Dagstuhl seminar Analysis, Test and Verification in The Presence of Variability and will run the German FOSD student meeting, also in Dagstuhl this year. Looking forward to many inspiring discussions.
12 Feb. 2013
Book: Feature-Oriented Software Product Lines
After over a year of work, we (Sven Apel, Don Batory, Gunter Saake, and I) finally finished the final draft of our book "Feature-Oriented Software Product Lines: Concepts and Implementation", a textbook for our product-line lectures. The book will be published by Springer and will appear late Spring.
30 Sep. 2012
GPCE 2013
I will chair the program committee of GPCE 2013, colocated with SPLASH in Indianapolis. Already start thinking about submitting there next spring :). Updates to follow.
7 Sep. 2012
FOSD and GPCE in Dresden
I'll be in Dresden, Germany in the last week of September to present our paper Toward Variability-Aware Testing at the FOSD workshop. I also will be giving a tech talk on Variability-Aware Analysis at GPCE, together with Sven Apel. Come and join, it will be fun events. (FOSD is still accepting lightning talks and tool demos.)
25 Aug. 2012
Moving to CMU
Just im time for the fall term, I'm moving from Marburg, Germany to Pittsburgh, PA to start a faculty position at CMU. Starting next week, you can reach me there.