Oct 4, 2022 - Academia Part II: joining DistriNet at KULeuven

Comments

After (almost) 9 years at Bell Labs (first as a researcher, then as a department head) I have recently made the decision to move back to academia, while remaining affiliated with the Labs in a limited advisory research role.

As of this week I am part of the faculty at the Computer Science Department in KU Leuven as an Associate Professor where I will be pursuing research and teaching on distributed systems, blockchain and software security in the DistriNet research group.

In this new role I will bootstrap a new line of research on secure distributed computing with a focus on building and securing decentralized applications, in particular applications that employ “smart contracts”, i.e. code that manages digital assets, usually recorded on blockchain-based ledgers. Specific topics of interest include the study of new and widely used languages for writing smart contracts and system-level challenges of blockchain platforms including their security, privacy, scalability and interoperability.

I’m looking for Master students interested in pursuing a PhD in any of these areas. I have an open position for a 4-year full-time PhD research assistant appointment in Leuven, Belgium. For any questions about the topic, don’t hesitate to reach out at tom.vancutsem at kuleuven.be. For practical questions regarding working conditions for PhD students at KU Leuven, check this helpful website from the university.

Update: my inaugural lecture slides on secure and dependable software services for the Internet of Value are available here.

Oct 18, 2021 - Steps towards AI Pair Programming

Comments

In the last few years, with my colleagues at Nokia Bell Labs, I’ve been looking into how machine learning can help improve software development, helping developers write code better and faster by leveraging the large amounts of open source code that are now available online. We’ve covered various use cases including recommendation engines for open source software packages and code search engines to better find runnable usage examples based on programmer intent.

One particular area that I’ve found quite compelling has been the area of translating natural language into code. This idea fits in a wider body of work known in academic circles as “program synthesis”, and in the software development world as “AI pair programming”.

Read more

Oct 18, 2020 - Programming languages for programmable money

Comments

In this post I introduce the notion of programmable money and smart contracts, why they go hand-in-hand with blockchains, how smart contracts are programmed today and how they might be programmed in the future.

Read more

Oct 28, 2019 - Unix50

Comments

This past week my employer Bell Labs celebrated the fiftieth anniversary of the Unix operating system with a big “Unix50” event in the Bell Labs headquarters in Murray-Hill, NJ and the launch of an online coding challenge called The Unix Game.

Unix was invented by Bell Labs researchers Ken Thompson and Dennis Ritchie precisely 50 years ago in the summer of 1969. Their iconic OS has since influenced a large number of other operating systems, not least of which Linux, MacOS and Android which are still based on the same basic principles.

Read more

Jun 21, 2019 - Code Compass

Comments

I’m happy to share some of the work that I have been involved in at Bell Labs over the course of last year: our import2vec model for training good machine representations of software libraries (enabling computers to establish a mathematical degree of similarity between software libraries), and a practical tool built on top of these representations called Code Compass.

Read more