- Community analysis for GitHub projects
- A metric of code functional-ness
- Improving pull request usage
- Evaluating the use of functional programming characteristics
- Streaming software security
- Streaming cascading aggregations
- Real-time technology trends summarise theactivities of software developers across the globe into real-time technology trend lines by monitoring and aggregating the activities in code repositories, developer forums, job advertisements and more. (co-supervised with Joost Visser)
- Niels van Kaam (Aug 2017): State preservation for streaming data processing.
- Elvan Kula (Feb 2018): Investigating qualitative and quantitative success factors for Rapid Releases at ING
- Wouter van der Zwan (May 2018): Unified Call graphs for Maven
- Rik Nijessen (2017): A Case for Deep Learning in Mining Software Repositories (thesis). Now at Adyen.
- Herman Banken (2017): Debugging data flows in reactive programs (thesis, RxFiddle, ICSE 2018 paper). Now at Q42.
- Yannic Smeets (2015): Improving the Adoption of Dynamic Web Security Vulnerability Scanners (thesis)
- Erik van der Veen (2014): Automatic prioritization of pull requests (paper, thesis)
- Phil Hunte: Automated data migration based on model coupled transformation (thesis)
Done, old or obsolete thesis topics
I occasionally give tutorials, mostly to fellow researchers. Here are the latest ones:
- MSR with Git and Unix@ICSE 2018, with Diomidis Spinellis. We explained how to use Git and Unix to effectively mine thousands of repos.
- MSR with Spark@ICSE 2018. I explained how to use Apache Spark from common tasks when mining software repositories.
- Mining GHTorrent@ICSE 2017, with Diomidis Spinellis. We explained how to effectively use GHTorrent to mine data from GitHub.
At the TU Delft
- TI3110TU (Minor): Algorithms and Data Structures (2017, Lecture notes sources)
- EWI3615TU (Minor): 5EC project (2017)
- TI1206 (Minor): Object-Oriented Programming, taught with Andy Zaidman
- IN4189 (MSc): Software Re-Engineering, taught with Andy Zaidman (2013 and 2014)
- IN4389 (MSc): Reactive Programming, taught by Erik Meijer (2013)
- IN4355 (MSc): Functional Programming, taught by Erik Meijer (2012, 2013)
At the Radboud University Nijmegen
- NWI-IBI001 (BSc): Software Engineering (2016)
- NWI-IMC052 (MSc): Software Development in Start-ups (2015)
- NWI-IMC035 (MSc): Software analysis: I did an introduction to software repository mining (2015).
At the Athens University of Economics and Business
- Advanced topics in Software Engineering lab notes, taught by Diomidis Spinellis