Department of Software Technology
The Department of Software Technology (ST) of the Faculty of Electrical Engineering, Mathematics, and Computer Science (EEMCS) of Delft University of Technology covers the design, engineering and analysis of complex, distributed and cooperative software and computer systems.
Together with the Department of Intelligent Systems (INSY), the department of Software Technology is responsible for all computer science research and education of the faculty.
In its research, the ST department wants to contribute both to the foundations of software and computer systems, and to the understanding of the operation of such systems. Therefore, its research approach is both fundamental - designing algorithms and abstractions, developing new concepts and theories, and identifying principles, as well as experimental - engineering and analysing the behaviour of actual systems. It is this combination of design, engineering and analysis that characterises the research of the department.
Organization
The department employs over 25 faculty and 100 postdoctoral and PhD researchers.
The department is organized into three layers with their corresponding sections: systems layer - Distributed Systems and Embedded and Networked Systems, software layer - Programming Languages and Software Engineering and information layer - Algorithmics and Web Information Systems covering the main research themes of the department. Additional there is the section Computer Science & Engineering Teaching Team covering all teaching activities of the EEMCS faculty.
Sections
The department's management team consists of the heads of the sections, director of BSc programme Computer Science Andy Zaidman, and the department coordinator Janneke Hermans. The management team is chaired by the Head of Department Arie van Deursen.
The management team meets bi-weekly to discuss organizational matters. The full faculty also meets bi-weekly in its faculty lunch, to share the newest research ideas and emerging results.
Department's management team
-
Mathijs de Weerdt
Algorithmics
-
Dick Epema
Distributed Systems
-
Koen Langendoen
Embedded and Networked Systems
-
Eelco Visser
Programming Languages
-
Arie van Deursen
Software Engineering
chair
-
Geert-Jan Houben
Web Information Systems
-
Marcus Specht
director of the Leiden-Delft-Erasmus Center for Education and Learning
-
Andy Zaidman
director of BSc programme Computer Science
-
Jasper van Dijck
department coordinator
Research
The research mission of the Department of Software Technology (ST) is to conduct world-class research in the design, engineering and analysis of complex, distributed and data-intensive software and computer systems. Society is on its way to be completely dependent on such systems, which include online payment systems, smart grids, smart cities, and self-driving cars. Designers of these systems face many fundamental and practical challenges including managing their complexity, reliability, scalability, predictability, evolution, adaptability, and explainability.
In its research area of software and computer systems, the ST department covers the following three layers; each layer has two defined research programmes with their own research focus.
Systems Layer
The systems layer, with the programmes Distributed Systems (the programming, effectiveness and efficiency of data centres and internet overlays) and Embedded and Networked Systems (micro- and networked controllers, with an emphasis on wireless systems).
Distributed Systems - DS - Distributed Systems
Blockchain TechnologyBig-data processing
Scheduling
ES - Embedded and Networked Systems
Internet of ThingsSoftware-Defined Networking
Visual light communications
Intermittent computing
In the Distributed Systems programme, we aim at designing and understanding the operation of large-scale distributed systems.
Focus area
- Blockchain Technology: How to design mechanisms for trust, reputations, privacy, and anti-censorship, and how to incorporate these mechanisms into trustworthy blockchain-based overlays?
- Big-Data Processing: How to enable efficient analytics over large and complex data sets on modern and emerging data centre infrastructure, and how to design efficient runtime systems for distributed computation at scale?
- Scheduling: How to design mechanisms and policies for schedulers in large-scale infrastructures that target modern and emerging hardware and compute data-intensive workloads
In the Embedded and Networked Systems programme, we are interested in improving the software development and maintenance process of embedded systems.
Focus area:
- The Internet of Things (IoT): How to craft the sensor and actuators for innovative IoT platforms that should be collaborative in nature, yet consume minimal resources to reduce operation costs?
- Software-Defined Networking: How to provide a robust, yet flexible network infrastructure accommodating the mobile systems and applications of the future?
- Visual Light Communications: How to unlock the demonstrated capabilities of visual light at the link level, and create/integrate LED-based networking serving realistic indoor scenarios?
- Intermittent Computing: How to architect autonomous battery-less systems that face frequent power loss due to the intermittent nature of ambient energy sources?
Software Layer
The software layer, with the programmes Programming Languages (the effectiveness and reliability of programming languages and their programming environments) and Software Engineering (software quality attributes and software developer productivity).
Programming Languages - PL - Programming Languages
Language EngineeringProgram analysis
Semantics engineering
Language design
SE - Software Engineering
Search-based software engineeringSoftware analytics
Software engineering education and end user programming
Software testing
In the Programming Languages programme, we aim at improving the effectiveness and reliability of programming languages and systems.
Focus area:
- Language Engineering: How can declarative language definitions be used to derive rich development environments for (domain-specific) programming languages?
- Program Analysis: How to define program analyses at a high-level of abstraction and efficiently and incrementally execute these definitions?
- Semantics Engineering: How to efficiently verify the consistency of language definitions in order to check properties such as type soundness and semantics preservation?
- Language Design: How to systematically design (domain-specific) software languages with an optimal trade-off between expressivity, completeness, portability, coverage, and maintainability.
In the Software Engineering programme, we aim at making the engineering of software more effective.
Focus area:
- Search-Based Software Engineering: How can search-based techniques be used to automate complex software development tasks?
- 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?
- Software Engineering Education and End User Programming: How can non-developers be helped to become proficient in coding at a level suitable for their needs?
- Software Testing: What are effective software testing methods and techniques?
Information Layer
The information layer, with the two programmes Web Information Systems (the processing, retrieving and interpreting of human-ge-nerated web data) and Algorithmics (support for intelligent decision making in real-world applications).
Web Information Systems - WIS - Web Information Systems
Web-based user modelingWeb data processing and retrieval
Human-enhanced web systems
ALG - Algorithmics
Model-based reinforcement learningMulti-party optimzation
Constraint reasoning
Meta-heuristics
In the Web Information Systems programme, we aim at making web information system engineering more effective in processing, retrieving and interpreting human-generated web data.
Focus area:
- Web-Based User Modeling: How can human-generated data that are retrieved and semantically enriched from the web, be used to enhance systems’ interpretation of people’s actions for user-adaptation?
- Web Data Processing and Retrieval: How to efficiently process data at web-scale and design effective information retrieval mechanisms for domain-specific web tasks?
- Human-Enhanced Web Systems: What are effective ways to augment web-based systems with automated, large-scale human computation and interaction?
In the Algorithmics programme, we aim to design, and understand the fundamental properties of, planning and coordination algorithms for intelligent decision-making in real world applications.
Focus area:
- Model-Based Reinforcement Learning: How to deal with uncertainty in planning?
- Multi-Party Optimization: How to account for strategic behaviour in multi-actor planning?
- Constraint Reasoning: How to support individual and group scheduling decisions?
- Meta-Heuristics: What are effective general heuristic methods to support decisions taking into account different preferences?
Joint Research Initiatives
Furthermore, the department is involved in various cross-faculty initiatives. The most important of these are:
The department's publications can be found on the TU Delft Institutional Repository as well as in our Departmental Publication Server.
In our research, we collaborate with academic and industrial partners around the world. We welcome new collaborations. Contact the researcher closest to your interest.
Education
The department plays a key role in various educational programs, including the following:
- The TU Delft Bachelor in Computer Science
- The TU Delft Master in Computer Science, with tracks in Data Science & Technology and Software Technology.
- The 3TU Master in Embedded Systems
- The TU Delft minor Software Design and Applications
Contact information
Visiting Address
Building 28
Room: 620 West 4rd floor
Van Mourik Broekmanweg 6
2628 XE Delft
The Netherlands
Mailing Address
EEMCS, Software Technology
P.O. Box 5031, 2600 GA Delft
The Netherlands
Location
Location
Mathematics & Computer Science (EE)MCS
Building 28 - Van Mourik Broekmanweg 6
News from the Department
We frequently post updates of recent developments on our Medium @delftswtech Pages. You can also follow us and many of our group members via our Twitter handle @delftswtech.
The view of the Twitter-feed can be disabled by your browser or browser plug-in.