Software Engineering Researcher
I am assistant professor at Delft University of Technology, where I research the application of software engineering methods to spreadsheets. On that, I wrote a number of publications and my PhD dissertation. I am regularly asked to speak about my research on conferences. During my PhD I founded a company called Infotron, based on the tools and techniques for spreadsheet analysis I developed. Me, my research and my company have gotten some media coverage over the last years. One of my biggest passions in life is to share my enthusiasm for programming with others. I teach a bunch of kids MindStorms programming every Saturday in a local community center. Furthermore, I am in the board of Devnology, a Dutch developer community that organizes monthly meetings on all things software, from Arduinos to open source and from SmallTalk to storytelling. Finally, I like organizing things, like the Joy of Coding conference, a one day developer conference in Rotterdam.
Remember the cliffhanger from Yannis’s previous talk? The problem with the program is that there could be conflicting names in the program already. So, what we need is constraints, like so: Now, we may only generate for classes that do not have a conflicting getter yet. But how to type check this? We do[…]
What is a probabilistic program? The classic view was introduced by Kozen. Imagine your favorite existing programming language enriched with a primitive that draws from a probability distribution, e.g. normal(0,1). Many programs are probabilistic in some way, as their inputs are distributed in a certain way. More modern probabilistic systems use an observe statement, which is[…]
As you might know, I am a big fan of the work of Stefan, we had him over at Devnology last year, and I talked about his work at ALE and iTake. In Computer Science, we often don’t assume certain developer behavior, but, very often, we don’t know whether it indeed occurs. A few examples:[…]
Collaboration through machine is hard! We used to be able to learn from each other by watching them work, but that is harder now since everyone is occupied with their own work. You want to be able to answer questions like: what is Harry doing, when will this one feature be done etc.? There are[…]
Yannis takes a quite broad definition of program generators, including program transformation like refactorings and program synthesis, apart of course from more traditional interpretation like MDE and DSLs. This is a fascinating topic, says Yannis, what can be more interesting then computing about computation?! Program generation is structured when the generator guarantees well-formedness of the[…]