Thesis

Open Bachelor- / Master- / PhD-Theses

Open Bachelor and Master's Theses

He mainly advises theses in the area of Mining Software Repositories. There are theses available (for both bachelor and master degree) on topics related to his research activities. It is suggested to contact him directly (by e-mail), or, if you want, to have a look at his recent publications on the various topics. In particular, there are available theses on the following topics:

1) Mobile and Automated Testing 

2) Continuos Delivery and Continuos Integration

Continuous Integration (CI) consists in a specific stage of CD process where team members integrate their work in an automatic manner, which allows a fast building, testing, and releasing of software, leading to multiple integrations per day. A thesis in this topic will have as main focus the development of recommender systems able to provide suggestions to developers and testers during Continuous Integration activities. 

3) Mining software repositories

- Define a Feedback Mechanisms able to help  developers digest the huge amount of feedback they receive from users on a daily basis, transforming user reviews into maintenance tasks (fixing issues or building features). For more information read the recent papers accepted "How Can I Improve My App? Classifying User Reviews for Software Maintenance and Evolution""What Would Users Change in My App? Summarizing App Reviews for Recommending Software Changes""Analyzing Reviews and Code of Mobile Apps for better Release Planning""Recommending and Localizing Change Requests for Mobile Apps based on User Reviews" and the related tools called ARdoc and SURF.

- Develop recommender systems able to (better) support developers during the code review process. For more information read the recent paper accepted "Would Static Analysis Tools Help Developers with Code Reviews?".

- Development recommender systems based on Source Code Summarization and Code Change Summarization techniques able to support developers during development or maintenance activities. For more information read the recent paper accepted at ICSE 2016 entitled "The impact of test case summaries on bug fixing performance: An empirical investigation". The slides of my lecture of the course Software Maintenance and Evolution describe the concepts of Source Code Summarization and Code Change Summarization.

- Develop search-based approaches to better predict change and defect prone classes. For more information read the recent paper accepted at GECCO 2016 entitled "A Search-based Training Algorithm for Cost-aware Defect Prediction".

- Automatic redocumentation of existing systems by mining software repositories. For more information have a look at the papers accepted "Mining source code descriptions from developer communications" and "CODES: mining sourCe cOde Descriptions from developErs diScussions".

- Automatic identification of skills and teamwork in software projects by mining software repositories For more information have a look at the paper accepted "Supporting Newcomers in Software Development Projects and the list of recent publications.

- Development of recommender systems, i.e., of systems able to provide suggestions to developers and managers during development or maintenance activities. For more information have a look at the paper accepted "Development Emails Content Analyzer: Intention Mining in Developer Discussions", "Analyzing APIs Documentation and Code to Detect Directive Defects" and the related tool called DECA.