PhD position: Documenting Blockchain

We are looking for a highly motivated PhD Student with an excellent background in software engineering, computer security, and cryptography, who is interested to work in the fields of Blockchain and software documentation. Blockchain — the backbone of the Bitcoin protocol — is a distributed database that maintains a continuously growing list of transactional data records. Due to its steep learning curve and the recency of its invention, good documentation for Blockchain and its API is scarce. The goal of this project is the design and engineering of novel mechanisms for automatically documenting the Blockchain API as well as applications based on this API, using source code analysis, natural language processing, and cryptography, among others. The ideal PhD candidate would have exceptional programming skills and a strong background in software engineering, distributed systems, cryptography, and computer security.

To apply, please send your CV, transcripts and published research materials to [email protected]. This project will be carried out in collaboration with Data61, and subject to an additional application, a successful candidate will receive an additional Data61 topup scholarship.

Prospective Students

I’m currently looking for a number of undergraduate, honours, and Master’s students to work on various projects that are advertised here (University of Adelaide login required). Contact me by email if you are interested in any of these projects or if you are looking for a supervisor for another project related to Software Engineering.

With the exception of the project listed at the top of this page, I don’t have funding available for a PhD student at the moment, but encourage interested applicants to explore the scholarships listed here.

Master of Computer Science

Abdulaziz Almoharib, Developing a Bot for Frequently Asked Questions in a Slack channel, 2017 (in progress)

Fouad Nasser A Al Omran, Supporting Newcomers to Software Projects through Natural Language Processing, 2016-2017

Xichao Wang, Augmenting Code Examples with Embedded Explanations, 2016-2017

Bachelor’s/Honour’s theses

Larissa Leite, An Automatic Approach to Detect and Notify Development Teams of Unusual Events in Software Repositories, 2015 (co-supervised with Fernando Figueira Filho)
[paper] [demo] [blog]

Patrick Gorman, Evaluation of WorkItemExplorer through user studies with professional software developers, 2011 (co-supervised with Margaret-Anne Storey)
[paper] [video] [blog]

Undergraduate Research Projects

Francis John Pinaroc, Integrating code snippets from Stack Overflow into existing source code, 2017 (Advanced Topics in Computer Science, in progress)

Roland Croft, Identifying the topics of Stack Overflow discussions, 2017 (Topics in Computer Science, co-supervised with Thushari Atapattu, in progress)

Peter Dinh, Crowd based mobile app security analytics, 2017 (Topics in Computer Science, co-supervised with M. Ali Babar, in progress)

Kevin Dang, Analyzing the adoption of new programming language features, 2017 (Advanced Topics in Computer Science)

Rung Sung Ip, Automatically generating documentation for lambda expressions in Java, 2017 (Topics in Computer Science)

Safwan Ull Karim, Developing a Bot for Frequently Asked Questions in a Slack channel, 2017 (Topics in Computer Science)

Kieren Chantrell, Intrinsic and Extrinsic Factors which Impact Online Software Installation for Developers, 2017 (Topics in Computer Science, co-supervised with Nick Falkner)

Michelle Cao, TaskExtractor: A Task Identifying Web Application, 2016 (Advanced Topics in Computer Science)

Benjamin Morris, Automation of SISE and Effect of Co-Reference Resolution, 2016 (Topics in Computer Science)

Brock Angus Campbell, Converting Natural Language Text into Source Code Using Stack Overflow Data, 2016 (Topics in Computer Science)

Francis John Pinaroc, Visualizing Unusual Events in GitHub Repositories, 2016 (Topics in Computer Science)

Hin Tran, Evaluating Documentation Needs of Open Source Newcomers, 2016 (Topics in Computer Science)

Ben Fisher, Interface and API Design for Documentation Analysis, 2014 (Undergraduate Research Project, co-supervised with Martin Robillard)

Undergraduate Software Developers

Louis Carsten Griffith, GitHub summarization with topic modeling, 2016-2017

Marc Klocke, TaskNav: Web Platform for Documentation Analysis, 2014 (co-supervised with Martin Robillard)
[paper] [demo] [video]

Mathieu Sicard, TaskNav: Web Platform for Documentation Analysis, 2014 (co-supervised with Martin Robillard)
[paper] [demo] [video]

Mathieu Nassif, Infrastructure for API Documentation Analysis, 2013-2014 (co-supervised with Martin Robillard)

Joshua Liben, Infrastructure for API Documentation Analysis, 2013 (co-supervised with Martin Robillard)

Thor Kell, Development of a workflow support prototype for reverse engineers in a security context, 2012 (co-supervised with Brendan Cleary and Margaret-Anne Storey)

Patrick Gorman, Development of WorkItemExplorer, an interactive environment to visually explore issue tracking data, 2010-2011 (co-supervised with Lars Grammel and Margaret-Anne Storey)
[paper] [video] [blog]