Idiomatic foreign function interface generation for user-specified target languages

For different software packages created using different tools to interoperate, an intermediate layer called API bindings is needed. These bindings can be created by hand, but that takes time and needs to be updated whenever one of the packages changes. Since these bindings are often quite repetitive, it is reasonable to try and generate them automatically, saving time both creating them in the first place and updating them due to changes.
There are existing tools that allow different sorts of automation in generating bindings, but these tools often make strong assumptions about what the result should look like. These results can require adapting by hand, which can be as much of a time sink as writing the bindings manually. We propose a more flexible way of generating these bindings, which aims to save time for PDFTron employees by automating more of this process for them.

Faculty Supervisor:

Ond?ej Lhoták


Alistair Finn Hackett


PDFTron Systems


Computer science


Information and cultural industries


University of Waterloo



Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects