The Software Engineering Research Group

The mission of the TU Delft Software Engineering Research Group (SERG) is

  1. to develop a deep understanding of how people build and evolve software systems;

  2. to develop novel methods, techniques, theories, and tools that advance the way in which software is built and adjusted;

  3. to ensure that our research results have a lasting impact in software development practice; and

  4. to offer students an education that prepares them to take a leading role in complex software development projects.

Research

The research of the TU Delft Software Engineering Research Group is characterized by a focus on empirical research, conducted in close collaboration with software development practice. Topics of interest include software testing, software architecture, end user programming, software evolution, and collaborative and distributed software development.

We conduct our research in mixed teams, in collaboration with practitioners and international researchers. We publish our research in the top venues in the field. Members of SERG actively serve in organizational and program committees of these conferences and editorial boards of these journals.

We are strong supporters of open science, and self-archive our publications in the TU Delft institutional repository and through our Technical Reports series. We aim at sharing our research prototypes as open source tools whenever possible.

To accomplish our research goals, our research is organized across four research lines:

  1. Search-Based Software Engineering: How can search-based techniques be used to automate complex software development tasks?

  2. Software Analytics: How can streams of data collected from versioning, issue tracking, and continuous integration repositories be used to understand and improve the software development process?

  3. Software Engineering Education and End User Programming: How can non-developers be helped become proficient in coding at a level suitable for their needs?

  4. Software Testing: What are effective software testing methods and techniques?

Education

We have a passion for teaching and a deep desire to share what we learn about software engineering with our students. Our teaching activities include:

  • Undergraduate courses in the TU Delft bachelor in computer science, covering such topics as object-oriented programming, various projects, software testing, big data processing, and software engineering.

  • Advanced software engineering courses in the TU Delft master programs in computer science and embedded systems, covering such topics as software architecture, search-based software engineering, psychology of programming, and software analytics.

  • Nine-month projects with our MSc students who advance our knowledge in software engineering by participating in our research projects – often in collaboration with our industrial partners.

  • Introductory courses in the TU Delft minor and digital skills programs, offering non-CS students a background in programming, data science, and software engineering;

  • On line courses offered through the TU Delft EdX platform, on such topics as data analysis and Scratch programming, which have attracted tens of thousands of students from across the globe.

Organization

SERG is one of six sections of the Department of Software Technology (ST). Together with the Intelligent Systems department INSY, ST is responsible for research and education in computer science and engineering at Delft University of Technology.

SERG and the Department of Software Technology are part of the TU Delft Faculty of Electrical Engineering, Mathematics, and Computer Science.